查看: 10789| 回复: 34
跳转到指定楼层
上一主题 下一主题
收起左侧

[自我提升] 一位四十多大叔的屡败屡战的励志求职故事

   
全局:
在leetcode上看到一位40多的大叔在艰难的2020年如何奋斗最后拿到offer,当看到他为了改变5点起床,坚持每日8小时的训练,参加竞赛,为了家庭的责任,没有放弃。真的是respect,非常正能量。如果你只是在地里一味抱怨的时候,还是想想人家是怎么去努力怎么去改变的。

简单翻译一下,原文. ----

https://leetcode.com/discuss/int ... e-to-offer-at-FAANG
. check 1point3acres for more.
我的故事

我今年 40 多岁,是一个兴趣广泛的人。尽管我知道一些写码,就是微控制器中的汇编语言。我不得不从头开始学习。许多年过去了,最终我转向了 Web 开发。
. check 1point3acres for more.
我不认为自己是一个非常聪明的人(只是有点固执和执着)。我没有 CS 背景。不知道什么是二叉树、大 O、递归等等……对我来说,这都是无用的外星语言。我为什么要这样做,躺平不好吗?所有这些东西都在我日常工作中使用的库中被抽象出来。我更专注于测试、满足团队和产品目标、团队动态等……我的软件工程职业生涯幸福地过着幸福的生活,却不知道幕后是什么。

几年前,Facebook 和 Google 的招聘人员联系了我。我给出了3个月的时间表。我查看了他们寄给我的材料,意识到我一无所知。所以,我开始看一些书,然后天真地购买了其中一门有 x 题的在线课程。不知道有 Leetcode 这样的东西。
. ----
我悲剧失败了两个电话面试。经验教训:你必须真的,真的提高你的水平。

时间飞逝。又经历了一些公司和角色。然后突然到 2019 年底,我自己没工作,也没有遣散费。巧合的是谷歌和 Facebook 招人的给我打电话,看看我的表现如何。看起来所有时机都是对的。我在拥有时间和资源来追求这个冒险。千载难逢的机会!! (特别是对于像我这样有很多责任的男人)。当我准备好迈出这一步时,我准备去润!

我把自己置于一个职业运动员马拉松的心态中。或者为争霸赛训练的MMA选手。我认为任何没有重大健康问题的人都可以跑完马拉松比赛。你只需要适当的计划、纪律和培训。 FAANG 的面试也是如此。比如如果你用汇编语言实现一个抖动抑制算法,设计一个双面印刷电路板或编写一个微服务网关,那么我肯定可以,对吧?.

这一次,确保自己做好了充分的准备。我知道有一些非常紧迫的目标。我应该能够完成几乎所有的 L.C.中等难度 - 在合理的时间内很难。我应该能写干净且组织良好的代码。我能够通过问题进行适当的推理和沟通。我应该在系统设计上做好。我必须能够对照这些目标测试自己,以衡量进展情况,并在此过程中做好准备。
.1point3acres
我制定了一个非常详细的计划,包括里程碑和预期的时间表。例如:到那个时候,我会读完并彻底理解这本关于算法的书。或者到其他日期,我将完成 x 个问题。或者到日期 X,我将能够在 40 分钟内完成大多数中等问题。.--

该计划是围绕提升基础能力组织的。从最基本的概念开始,逐步构建到更复杂的概念。我想确保薄弱的基础是坚实的。我不能只是假设和“即兴发挥”。

所以,我的第一步是学 CS理论。首先从“算法导论”开始。但是在几章之后,我陷入了数学困境,并且感觉正在偏离目标。所以我换了个方向,决定试试 Skienna 的“算法设计手册”。我发现这本书更容易消化和切中要害(我也很喜欢他的战争故事)。在阅读了所有章节并完成了大部分练习之后,我觉得我是一个开始解决问题的好地方。. check 1point3acres for more.

所以我开始四处探索:Hackerrank、Byte by Byte、Leetcode。我还尝试了“Elements of programming interviews”一书。在尝试了一些问题之后,我注意到我花了太长时间并且对我的方法并不满意。我也注意到有点杂乱无章。在复习了许多科目(数学、图论、位运算、DP.)之后,即使我理解了它们背后的理论,我也未能有效地找到解决方案。我的头脑有时会陷入一个奇怪的循环。

我在家的作息也很不规律。更糟糕的是,COVID 流行来袭,现在我和妻子把孩子们在家里,不得不分工让他们接受教育和娱乐。我不得不做出非常大的改变。.google  и

我决定改变我的日程安排,早上 5:00 起床,这样我就有几个宝贵的时间来真正专注。然后我还和我的妻子约定了一些严格的时间表,这样我就可以有稳定的时间来磨练。
. 1point3acres.com
我还需要调整我的策略。我浏览了许多论坛来寻找其他其他工程师如何搞定。用的什么策略,看的什么书。什么时间线,什么规划。

在这次重组之后,我将策略缩小到:-baidu 1point3acres

  • 只关注 LC从简单的开始。一旦我感到舒服,就上中等难度,然后再上难度。
  • 广度而不是深。不要只关注一个主题,而是要多样化。
  • 专注于列表。例如“100个顶级面试问题”等...
  • 记录时间。
. 1point 3acres

在最后一个主题上,我希望能够衡量我的进步。如果你不测量就根本谈不上了解自我。所以,我整理了一个包含以下的谷歌表格:

  • 类型(数组、DP、图论等...)
  • 问题名称和链接
  • 级别(简单、中等、困难)
  • 开始日期时间
  • 结束日期时间
  • 花费的总时间
  • 时机。 (红黄绿)
  • 结果(红黄绿)
  • 笔记(我做到了吗?为什么?为什么我失败了?要寻找什么?).google  и


在时间和结果上,我的想法是使用颜色代码来给我的表现打分。例如,如果我能够在大约 20 到 30 分钟内解决一种,那么它就是一个绿色。如果在 60 左右,那就是黄色。更多或根本没有那是红色的。对于结果,考虑到解决方案优化和简单性,区分绿色的和黄色。如果不会的,那就是红色。这将使我对进步有一个直观的衡量标准。随着我积累的问题越来越多,我可以反思并看到我的进步,并确认我正在前进。
. ----
因此,通过这种方法,事情开始变得更好,更有条理。我会想出解决方案,对它们进行编码。然后与讨论论坛上的解决方案进行比较。我觉得论坛是我学到的最多的。我是否能够提取最有趣的模式添加到我的工具箱中。
.--
在系统设计方面,由于我在公司构建 Web 产品的多年经验,我对基础设施(特别是 AWS)有很多了解。我有信心能够通过系统设计面试。但我不想认为这是理所当然的。所以在阅读了一些论坛之后,我决定购买“Building data intensive applications”。我还在xx 接受了 grocking 系统设计面试。看完这些材料后,我意识到我是多么缺乏。

计划的最后一部分是进行一些现实世界的检查。如果你只是自学,即使你解决的问题让你满意,但绝对不能保证你会在真正的面试中取得成功,考虑到现场和时间压力。就像马拉松运动员在接近大型比赛之前会进行热身一样。或是在健身房对练的拳手。. 1point 3 acres
.1point3acres
我开始预约模拟面试。我首先尝试了 xx。在这里,轮流就平台提供的问题面试一位工程师同事。这有助于进行现实面试。但我对面试官不太满意。我觉得大多数人都没有面试经验,也不知道在候选人身上寻找什么信号。所以反馈不是那么好。
我在所有模拟面试中一直失败。不仅在解决问题上,而且在时间上。我开始有点绝望和沮丧。

于是我又调整了计划。我从模拟中休息了一下,专注于时间安排。我用的是 LC.模拟面试功能。早上我要做的第一件事就是拿一两个 LC.模拟面试。一个上午刷 4 个中等难度题。

我还注意到在大多数都有一些新出现的模式。即使在理想的世界中,你不应该试图仅仅将问题“归类为模式”,但我认为考虑到时间限制和面试的性质,尝试缩小模式是一个很好的策略、我与一位亚马逊工程师进行的面试也证实了这一点。他告诉我将我的训练安排这些时间:

  • 10 分钟,阐明假设、特别的测试条件、定义方法。定义模式:
  • 直截
  • BFS / DFS
  • Floodfill
  • 蛮力
  • 回溯
  • DP
  • 贪婪

  • 10分钟想出一个蛮力解
  • 20分钟,代码
  • 5分钟,测试
. 1point 3 acres
.google  и
Gayle Lackman 的“cracking the coding interview 中也证实了这些流程

要了解有关模式的更多信息,我还从 e-d-u-c-a-t-i-v-e 买了“编码问题的模式”。这是非常有帮助的(虽然不是完全包罗万象)。

我最挣扎的一件事是动态规划。没有该死的方法!那是纯粹的深奥魔法。

几个月过去了。我越来越好,但仍然不是我想要的。我的时机还没有到。我参加了 LC比赛,但从未完成所有 4 个问题。模拟面试有时很成功有时不是。但我已经习惯了。我就是要厚脸皮,一生中再也不会遇到的人给你下判断,这不会让这影响到我。随着时间的推移为变得更聪明,学会探索问题,如果没有找到最佳解决方案,则编写一些蛮力解决方案,至少会写一些。
. 1point 3acres
我与招聘人员保持联系,但一直在推迟面试日期,因为我仍然没有准备好。几个月过去了。 4、5、6。字面意思是 400 个 leetcode。几十个模拟面试。我还是不满意。有什么东西不见了。它达到了我觉得自己无法修复的地步。在此期间,我似乎无法变得更好。也许下一个幸运星来临会带来更好的收成?

在这一点上,我只需要迈出一步。不管我再做多少 LC.,我都不觉得自己会变得更好。再加上我的资源开始减少,为了我自己的理智,我真的需要开始工作。与其他工程师保持联系。朝着共同的目标努力。

所以我决定冒险一试。我想如果这次我没有得到任何offer,至少我会比上次做得更好。而且我可以在任何其他非顶级公司做得更好。

我害怕遇到难堪的面试官。我担心让自己难堪。在onsite的那一天,我感觉想取消整个事情并躲在床下。为了放松,在面试开始之前,我会播放一些有趣的 youtube 视频。

电话screen、OA、虚拟现场、行为、系统设计、编码。如此反复。
被拒了好几次。但最后收到亚马逊的招聘人员的电话和offer。. 1point3acres.com

最后想法和建议:. From 1point 3acres bbs

如果你到了这里,我真的很感激你花时间阅读关于我的文章。. check 1point3acres for more.

  • 有一个计划。设置明确的里程碑。明确的目标,到达日期。
  • 愿意在旅途中多次调整策略
  • 自我衡量
  • 别傻等。不要以为你会上天。说实话。找出你的缺点。一个个处理
  • 进行现实检查。走出你的舒适区。做模拟面试。习惯不舒服的面试官。习惯令人失望的反馈。它会让你变得更强大。
  • 遵守纪律。始终如一。写下你的进步。你可以看到你实际上在前进。
  • 奖励你自己。善待自己。这玩意确实很难。你的辛勤工作应该得到回报。花几分钟看些搞笑的 youtube。去咖啡店买个甜点。
  • FAANG 的工程师中只有极少数是艾伦·图灵那种天才。其余的像你和我这样的人,他们很可能失败了 2 次、3 次或 4 次,直到他们得到了。他们经历了与你完全相同的旅程。
  • 在寻找解决方案之前强迫自己解决问题。但要设定合理的时限。说2小时。 1.5hs...然后看看解决方案,记下你学到的东西。
  • LC社区是宝藏。你会发现宝贵的解释、模式和解决方法。
  • 为社区做贡献。即使你的解决方案看起来不太好,请发布它。尝试添加解释。这让你进入沟通和解释你的解决方案为什么有效的心态。如果它很糟糕,你可能会从 Leetcoder 小伙伴那里得到反馈。
  • 缩小你的编码选项。如果有 10 种访问哈希映射的方式,请关注适合大多数情况的一种或两种。其他编码结构(循环、条件等)也是如此。这将节省时间。
  • 记下模式并尝试记住它们。按层级顺序 BFS 遍历应该是不费吹灰之力的,应能够闭上眼睛对其进行编码。与使用出现计数的频率初始化哈希图相同。或用于探索矩阵上相邻单元的 BFS。或者迭代二分搜索......牢记它们并能够像口袋妖怪大师一样在秒速中调用它们。
  • 在面试期间,请确保向面试官提供他们正在寻找的信号。努力管理好时间。问他们“我们如何处理时间”。提出很好的探索性问题“这种方法听起来不错吗?我们应该编写这个代码吗?”
  • 首先尝试使用蛮力方法。如果你不能优化,至少你可以编写代码,面试官就会知道你的代码有多好。结果可能是“弱录”与“不录”。
  • Placeholder是你的朋友。特别是时间紧。如果算法需要初始化一个 MxN 数组,只需将其抽象到一个方法中,放置占位符,让面试官知道它的作用,然后对其进行编码并继续前进!很可能接下来的回溯方法是面试官正在寻找的最重要的部分。
  • 不要低估测试你的代码。总是这样做。从小投入和简单案例开始。然后考虑特殊情况并扩展到更复杂的情况。一行一行地走。假装是 IDE 中并随时更新变量值。证明你的东西确实做到了它所声称的。
  • 在系统设计上,不要只是把所有东西都读一遍。从头开始练习白板解决方案。推理并通过它们交谈。就像你的 LC.磨砺,每天尝试进行系统设计。在给定的数据库技术、分区、数据库索引、实时与异步等,问自己 5 次为什么……需要能够证明决定是合理的,并且案例必须是完整的。
  • 行为面试:使用 STAR 格式。把你的整个工作历史记录下来。然后个别情况、项目、成功和失败。把每一个都编成一个故事。
  • 最后一点对于亚马逊及其领导力原则尤为重要。
  • 运气可能是一个很大的因素。所以不要把所有的鸡蛋都放在一个篮子里。通过进行大量的面试,战略性地拖延,最大限度地提高成功结果的可能性。
  • 不要放弃。
  • 不要被打败自己。你才是最棒的。


这只是一个旅程。目的地并不重要,重要的是你一路上学到了什么。这几个月教会了我自己以及能走多远的知识。我现在是一名更牛b的工程师,并且开始考虑着手开展几个月前看起来像是火箭科学的项目。

如果你这次没有成功,不要难过。总是有很多金光闪闪的公司和来自各行各业的令人难以置信的人,你将从他们身上学到很多东西。

最后再次感谢您的阅读
我希望你好运

.1point3acres

本帖子中包含更多资源

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x

评分

参与人数 14大米 +39 收起 理由
fight520 + 1 很有用的信息!
bryanjhy + 25 给你点个赞!
lmdm + 1 赞一个
TT98 + 1 给你点个赞!
ricky0208 + 1 给你点个赞!

查看全部评分


上一篇:Apple超级大牛因不满RTO政策辞职
下一篇:谷歌cliff后大家怎么办
推荐
ttgao 2022-5-9 07:00:12 | 只看该作者
全局:
77年的大叔飘过,我也经历了2年面试一无所谓的。然后逼着自己刷题。
. From 1point 3acres bbs
当你坚持刷一定时间以后,就会看见结果。

今年年初拿了linkedIn和买它的2个offer。同时还有Adobe 和 google过了phone,但是因为Li和买它要求尽快给回复,就只好取消了。

年龄不是关键,你坚持刷,就会有结果。

评分

参与人数 1大米 +1 收起 理由
Chasedream.df + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

地里匿名用户
推荐
匿名用户-RCOEY  | 添加认证 | 2022-5-9 10:49:35
77年大叔,去年刷进大厂
回复

使用道具 举报

推荐
evna111 2022-5-9 02:48:23 | 只看该作者
全局:
markocen 发表于 2022-5-8 09:32
确实励志,但是也是不理解大厂为啥要这样招人。一点web基础没有,靠刷题进去真的会有生产力?

拧螺丝而已 又不是让你进去搞研究

回复

使用道具 举报

🔗
pc27149 2022-5-8 12:43:14 | 只看该作者
全局:
再次令人叹为观止
回复

使用道具 举报

🔗
initid 2022-5-8 12:55:23 | 只看该作者
全局:
这个大叔就是我的榜样
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-SWBF5  | 添加认证 | 2022-5-8 15:11:45
本楼:
共勉
回复

使用道具 举报

🔗
EdisonWhale 2022-5-8 17:43:03 | 只看该作者
全局:
这比那些天天贩卖焦虑的帖子好多了
回复

使用道具 举报

全局:

都说要终身成长、终身学习。
真正做的人少之又少,能不断自我否定的人能有多少呢。

疫情封闭在家,看这个帖子,也算是给自己打打疫苗吧。. Waral dи,
我们公司也有个将近40岁的两个同事,我比他们小了将近5岁。
.1point3acres
韩国人学日本人搞了年功序列,让那些倚老卖老的人尸位素餐,
搞得像福利院,这种氛围下的大叔和本帖的40大叔,完全不一样。

也许我们市场足够大,海纳百川。. .и
也许这也是我们发展迟缓的代价。
不卷,其实也有道理的。卷,也是有道理的。说不清。

评分

参与人数 1大米 +1 收起 理由
14417335 + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

地里匿名用户
🔗
匿名用户-XGFBV  | 添加认证 | 2022-5-8 19:53:36 来自APP
35岁大叔又有了动力 继续刷
回复

使用道具 举报

全局:
确实励志,但是也是不理解大厂为啥要这样招人。一点web基础没有,靠刷题进去真的会有生产力?
回复

使用道具 举报

本楼:
全局:
respect
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
职场达人
  • ↑ 本版用于讨论职场各种干货话题,闲聊请去🔗聊聊或者🔗匿名版
  • ❌ 本版严禁水贴,引战,发布广告,拉群,贴个人联系方式,扣分无警告
  • ☑ 求职、面经等去 🔗北美求职和 🔗回国求职大区,刷题和学习请去 🔗终身学习大区
  • ☑ 请去专版发布 🔗内推, 🔗招聘信息,和讨论 🔗创业内容
  • ☑ PIP / DevList/ Need Support 等话题也已开设 🔗专版

本版积分规则

>
快速回复 返回顶部 返回列表