2024 SDE NG/Intern 大型败犬实录 + 教训总结

作者@OnjoujiToki
发布在一亩三分地
欢迎大家点击左下角“阅读原文”到原帖与作者交流讨论哦!
写在前面:没有上岸,2-3小时前刚收了一家5轮Intern包括系统设计的西雅图中小厂面试,挂在最后一轮。所以你会知道我这个帖子是真的败犬发的。
背景:美本rk30CS,某diversity为0的所谓找工神校的Master。一段湾区大厂半年实习,两段国内水实习。题量比较多,多个平台加起来2600+左右(LC三维243/580/329,剩下在Atc和cf上),最近因为面试需要才开始学了系统设计。技术栈是大厂里做的React/Kotlin Springboot,以及C++,少量Rust,Go和其他。
得知无return后,去年7月开始找NG。找到9月底发现不对劲了,市场非常糟糕而且自己年底毕业,可能要被迫开OPT了。我想了想找教授要了个推荐信去申请了NEU24Spring,大概10月底拿到offer,开始Intern Search,同时一边面NG垂死挣扎QAQ
顺便如果有还在美/中招Intern的大佬们捞捞孩子吧。孩子什么都能学的。
NG挂经
8月: Optiver挂
9月: Perpay挂,就是那个Simplify上天天打广告的
10月: SLB第一轮Karat,三题快速下班后被Ghost到现在
11月: 索尼挂,TeamLab挂,HRT挂。
索尼和Teamlab前是Boston Career Forum投递的日语面,日语不太够好,拿到NEU offer后就推掉了3-4个日本中小型公司的VO。顺便如果有喜欢日本生活的朋友一定不要错过今年的BCF,4-5月就可以开始投递了。
Intern挂经
11月: Ebay Intern Day组招两轮纯BQ两个印度人,挂,没写一行代码,很难觉得他们在招人
1月: Whatnot五轮挂在最后一轮,感觉确实Bar不低,最后有被难到
2月: 西雅图小厂Smartsheet组招五轮(3轮印度人)后挂掉。最后三轮的Round Interview因为第二轮是Design,第三轮讲题的时候声音都发不出来
目前在走流程(都是Early Stage): AppLovin,Jump Trading。感觉都没啥戏,Bar都很高,高攀不起。
先小小的抱怨一下再找自己的问题:
虽然我Intern确实找得很晚(10月中下旬拿到NEU Offer才开始投递),但是主流大厂完全没有水花真的有点难过。包括亚麻Meta这种只需要2轮刷题BQ的公司我真的有点羡慕死。我自己刷题方面基本都不会成为我面试的Bottleneck,笔试包括Snowflake这种都没有大的压力,之前面量化都死在考得很深的操作系统/C++知识上。今天喜提拒信的小厂五轮也拿设计轮骗了我花了大量时间在系统设计的背诵上。我现在还没有挂的两家实习也都是5-6轮的总流程,说实话一直死在最后1-2轮太过折磨,最近身体+精神都极度疲惫中。
我是一个很积极乐观的人了,每次挂掉面试都会感觉到自己变强,学到新的东西,这是一件蛮不错的事情。但是挂得太多难免会有些一丢丢怀疑自己。市场不错的时候Intern offer拿的都比较顺利,今年真的确实比较寒心。
教训的话我想用一个Tier List来表示自己的看法和学到的东西,希望对大家有一些用处。
T0:
心态!哪怕是挂到现在我也没有特别特别怀疑过自己,从失败中学习是我最大的优点。每次挂完以后最多Emo 1-2小时,和家里人和朋友打打电话就该干什么就干什么了。
持续投递。持续投递是一切一切的基础,哪怕是2月底我也收了2个面试,都是最近投递的。每天睡前会投递掉领英最近24小时内的岗位,顺便看看芙莉莲。
T1:
BQ轮比自己想象中重要很多,自己答的也不够好。尽管做过一定量的练习,也会尽量按照STAR原则,但是面对真人的时候还是脑子空空一片。Mock真的很重要!真人和自己练完全不是一个概念。尽量不要找身边人,我个人是去学雅思托福口语的网站找那种也可以模拟你BQ面试的老师1对1,都是白菜价,一顿饭钱。
简历真的很重要很重要。我最近打算再做一次重写。有些item写得太过臃肿。现在我个人偏向于那些清爽和信息量共存的简历更能获得认可。
坚持刷题。我现在依然在LC上坚持复习比较典的题目。VO的时候会大幅度降智的,平时的积累非常重要。
T2:
包装自己很重要。Ebay两轮纯BQ+一些简单CS基础的问答,没有让我写代码,但是当场要了Github。我个人Github基本不经营,非常丑陋,因此个人觉得这个是我的挂点。从那之后就有意识地维护Github的主页,做了一个Portfolio,同时打算暑假积极参加开源项目积攒经验。
Reach out。我个人不是特别看重这点,倒也不完全是I人天性,只是太过消耗精力而且自己的数十次主动尝试效果没有很好,基本Linkedin Reach out出去的没有回我的,自己不太愿意用AI生成怕被识破都是手写,很遗憾回复率几乎为0。尽管如此,我还是会保持如果是自己特别特别Fit的岗位,会给Recuriter主动发发消息的习惯。
T3:
CS基础。我本身是CS科班出生,也经常性阅读操作系统导论,CSAPP等经典著作(泛读),本以为自己足够应付公司的八股,但是如果遇到特别特别懂行的面试官,是很容易暴露学艺不精的。这个是一个特别消耗精力但是对找工作没有很大帮助的事情,对大多数岗位优先级比较低,尽管非常非常重要。
语言特性。我个人面了数个C++专门的岗位,自己也阅读了很多C++资料,也会有意识地使用Modern C++ feature,但是我还差的蛮远的。语言特性,特别是C++的,和刷题其实蛮像,如果是语言specific的岗位的话,我个人感觉是很难通过记忆八股文来骗掉面试官的。所以要多靠平时积累。
接下来的计划?
首先是肯定不会放弃的,坚持投递,保持心态把最后两家公司好好准备面完。同时开始找国内春招的机会,春假好好准备Proposal投递Google Summer of Code。
最差最差情况,利用暑假好好精进一下自己的技术和面试技巧,和三俩友人做一做项目,出去玩一玩放松一下。
顺便再求捞一次Orz
下面是我2022年初发过的刷题精进的个人看法,现在看来没有太多变化,做了一些修改:
用国区还是用美区?我个人建议是无脑国区,国区现在产生的高质量新题解的速度和质量美区已经赶不上了(越来越卷了)。如果你想开会员,没记错的话算上教育优惠国区会便宜不少。国区的题面有开英文的选项,Leetbook之类的也很全。唯一的缺点是Tag题不一样,这样的话你可以找地里的高频题list来弥补这个差距。
如何挑选题解?链表,二叉树,模拟题,或者是超高频题,可以多看看leetcode高赞解答。一般这种题解图文并茂,很好理解。如果是图论/ DP / 贪心,推荐看看竞赛出生的选手写的题解,贪心一般附赠了很详细的证明,DP的话对状态,阶段,决策等概念描述得更加清晰,图论的话经常有比较有趣的做法。现在新出的中文官方题解都会有详细证明,质量很高。另外,比起取巧但是难想的做法,有时候一些更王道和套路的做法更值得学习。比如310是一道medium题,BFS的做法非常难想。但是利用二次扫描的dp方法是比较套路的。这种情况我个人推荐学后者。拒绝劣质以及抄袭作者,多看灵茶山艾府等优质作者。
记不记笔记,写不写总结?这个我觉得因人而异,讲讲我自己。如果你刷题频率很高,而且刚刚起步,你会发现你入门第一周刷的题目,用心写了笔记,可能学了个2-3周,会发现自己第一周写的东西也太简单了,完全没意义(刚入门的时候进步太快了,做的题目也不会很难),这种情况下做笔记我觉得用处不大。如果你刷题频率不高,周期很长,那还是很推荐做笔记的。又或者刷题到中期,题目难度提上来的话,也可以开始做笔记。所以初期做笔记我觉得意义是不太大的,更何况初期会做的一些的高频题,模板题的题解已经非常丰富和高质量了,选择一个自己喜欢的备份下link即可。
只为了面试笔试(北美),有必要学线段树/树状数组/难一些的DP等知识点呢?OA做过来,我个人觉得笔试的难度还是比较高的,而且难度方差特别大。从各种状压DP(Tiktok)到Z-function(亚麻,可能标程是字符串哈希+二分)。如果你追求的是笔试做个很高的分(不知道有没有用,感觉玄学),那我觉得这些东西是都可以学的,就算你只学个皮毛,到时候看地里有的OA经的时候补题也更快更轻松一些。面试的话,是不太会让你写这些的,但是如果能用这些比较难的知识点的思路解决问题相信应该是极好的。
精刷XXX还是泛刷YYY题?超级烂大街的问题。我个人觉得,算法题是知识点 + trick + 思维。有的题目思维比较弱,是典型的trick(又或者套路)题,会者不难。有的题目思维比较强,没有什么套路的东西。纯知识点题就是模板题。假设一个人反复刷300题,很可能他覆盖了面试的所有知识点,但是有一些trick是涵盖不到的。很有可能新的题目做不出来。(trick的数量 >> 知识点数量),而且思维的锻炼比较少,练习量不够多。因此如果想多学trick和锻炼思维,泛刷是很必要的,多打打周赛,补补题,偶尔学学超纲面试的知识点,对自己的trick和思维的积累都是非常有帮助的。如果发现自己对知识点的掌握不够牢固,是可以回去做做模板题,典型题的。
为什么你一边上学还能刷这么多题啊?少打一把dota就能做一题了。顺便我小红书分享刷题or找实习的post加起来没有我狂坑yatoro的post的点击量高,感觉该开始复健dota了。

大家都爱看

新闻来源一亩三分地论坛,版权归原作者所有

本文禁止任何形式的转载,请与一亩三分地联系
继续阅读
阅读原文