半年内从onsite全挂到被巨硬捡走,贡献一点经验

9655
29
基本上趁着疫情之前的最后一周被巨硬捡走,想着也是回报一下地里。career这东西是个long termbusiness。也希望能趁着这个机会攒攒大米。

Overall Background:
Lz纽约某不知名某理工学校FE 专业, 2017年毕业之后在一家不太正规的start up工作。2019年年底这个公司搞定了H1B。到了2019年年中的时候感觉公司运转不下去了,8月份开始准备跳槽,11月末公司停摆,于是休了一个holidayseason 之后,从今年年初全职找工作到2月末。基本上从零基础到找到工作,花了整半年的时间。

  • 优势:
start up工作比较杂,参与到的事情比较多,比拧螺丝的工作能说的比较多。
简历上做 trading的东西比较多,所以 LinkedIn 上有很多 fund 的工作来找
简历上有一年半到两年的work experience
  • 劣势:
以前几乎没怎么找过工作,也完全没有面试经验
Start up人数少,很多工作流程不完善,甚至没什么code review,面试很容易就被问懵
转专业CS基础少
做的事情其实也很扯。代码质量真心一般,这workexperience可能也就值个别人不到一年

Timeline: 大致根据我准备的时间顺序排序

1. Bloomberg, General Hire (内推):
  • 09/30 内推
  • 10/08 HR 邮件
  • 10/11 1stRound Phone 发了面经
  • 10/25 被拒
挂点:当时刷题刷的太少了,套个壳,还给认错了。活该挂

[align="left"]2. Goldman Sachs (海投):[/align]
  • 10/11 HR 邮件
  • 10/14 1stRound Phone 发了面经
  • 10/21 2ndRound Phone, 当天通知 Onsite
  • 10/29 Onsite
  • 11/1 被拒
挂点:第一次正经 SDE面试,behavior一坨屎,白板不会写,medium面经题拿不到最优解,System Design完全不会,活该挂

[align="left"]3. Goldman Sachs (系统发了个自动邮件邀请我申请):[/align]
  • 10/28 1stPhone debug题 + binary search tree insert
  • 10/30 通知Onsite
  • 11/7 Onsite
  • 11/25 被拒
挂点:可能还是SystemDesign 吧,全烙印组也有可能被黑了。拖了我两个多礼拜才给结果也有可能是找到了个更好的人。

[align="left"]4. Amazon, Hiring Event(海投):[/align]
  • 12/10 HR邮件,安排Phone Interview
  • HolidaySeason 安排不到人面试,
  • 01/07 HRrefer到另一个岗位的面试
  • 01/10 安排OA
  • 01/27 Onsite
  • 01/28 第二天拒
挂点:第三轮 Bar Raiser直接低血糖了,Behavior说一半能忘了问啥, Corner Case完全没check。第四轮也没给出最优解。刷题不熟,出来就知道稳挂了。

[align="left"]5. Bloomberg,组招(海投):[/align]
  • 12/30 海投
  • 01/06 HR 邮件
  • 01/09 1stRound Phone, 第二天通知过了
  • 01/16 2ndRound Phone
  • 01/31 Onsite
  • 02/04 被拒
挂点:Design轮和最后大Boss答得不好吧(大概

[align="left"]6. Microsoft, Hiring Event(LinkedIn 勾搭 HR)[/align]
  • 02/04LinkedIn 找HR 勾搭,当天电话
  • 02/05 发OA,当天做完
  • 02/10 通知Onsite
  • 02/14 Onsite
挂点?:到现在也不知道挂了没挂,好像是被WL了,HR说在contacting hiring manager一直到我两周之后接到别组offer

[align="left"]7. Microsoft, 组招(海投):[/align]
  • 02/06 HiringManager 勾搭
  • 02/07 Phone 没面技术
  • 02/10 2ndRound Phone,urgently 被鸽,Reschedule到第二天
  • 02/14 通知Onsite
  • 02/28 Onsite
  • 02/30 电话通知过

[align="left"]8. Twitter,组招(海投):[/align]
  • 02/03 HR邮件
  • 02/06 电面
  • 02/07 通知电面过,发OA,当天做完
  • 02/19 通知Onsite
  • 03/04 Onsite(Virtual)
挂点:could beeverything 祥见面经

[align="left"]9 其他面过两个小fund,没什么大的参考价值[/align]
各家面试特点:

Bloomberg:
  • 内推极其有用。General Hire和组招应该都有机筛,最好根据他家的JD定制一下简历。
  • 同一份简历General Hire海投拿不到面试,内推拿到了。组招也是在几个月内投了同一个组,第一次电话联系我的时候没有H1B不move forward了,第二次投是另一个HR reach out。投了那么多社招岗位,只有这一个岗位理我了,还是两次。
  • 算法题喜欢套壳,有题库,把LC面经题刷熟,地里设计题刷熟,几乎都是原题
  • 两轮后可能被Early Terminate

GoldmanSachs:
  • LC原题,不是原题也是 easy to medium,喜欢考一些需要用hashmap的逻辑题,二分法链表什么的
  • 毕竟不是纯 IT公司,气场最好还是 match一些,Behavior 很重要
  • 他家考SystemDesign,必有,划重点。
  • 喜欢考各个题的follow up,刷LC高频的时候看见有后缀带I II III的最好都做了。
  • 三轮之后可能被Early Terminate

Amazon:
  • 地里全是,不说了

Microsoft:
  • 内推毛用没有。最后还是靠海投,Azure组常年疯狂招人,Hiring Event不断
  • 面试体验最好,没有之一,可能也是西雅图和纽约地区的区别吧
  • OA一定要提前刷一遍,要不60分钟三道题,抽到恶心的搞不好就挂了
  • 几乎没什么常见题,出题全凭面试官心情,比较喜欢考树和链表。比较注重recursion。
  • Hiring Event比较简单,题大概Medium的难度,社招就不一定了,难度比较大。
  • 现在好像没有EarlyTerminate了

Twitter:
  • 海投通过率还是看简历是不是match,不知道内推会不会好一些。
  • 面试整体跟业界其他公司不是一个套路,不考算法题,考code review。我觉着可能是因为我面得组可能有些奇葩,看面经贴吧。

面试准备:

电面/白板:
  • 我同学说我电面小王子0.0,虽然这名字很白痴,但是我电面从头到尾就只挂了个bloomberg。除了题刷的好坏不说,电面时候的沟通有的时候比题本身还重要。确认输入输出,assumption的时候都要写注释。注意code style,这些在白板上不需要太注意的事情在电面的时候一下子就会暴露。
  • 电面跟写白板是一样的,先确认输入输出,之后解释数据结构和算法,面试官同意了开始写代码,要说明自己在写first draft,写的是main solution,最后再处理conor case,写while loop啥的甚至条件后写都可以。让面试官知道你考虑了这些。写完之后一定要过几个casetest一下。
  • 函数如果可以单独拆出来写就单独写,面试的时候如果时间不够有些细节的小函数放个函数signature在那儿就可以不实现了。逻辑也会清楚很多。
  • 个人习惯一边写一边说。要保证交流,需要静下来思考的时候先说需要时间思考一下再mute。
  • 如果可以的话可以跟小伙伴Mock Interview,很容易发现问题

CS基础:
  • 各种数据结构自然不必说,Trie和Union Find 是一定要看一下的,被考了好几次
  • 数据库基础知识蛮重要,NoSQL 和 SQL 的区别我被问了无数次。底层Index的实现大概最好有个概念
  • SQL基础语句,有的时候好久不写就忘了
  • 多线程多进程,锁,Mutex这些东西多少应该有所了解
  • 准备的方向还是跟着JD和简历走,但凡写的技术栈一定要起码做到熟悉。像我就多了一些Data,message queue,Kafka,Hadoop之类的东西

算法题:
  • 我知道地里对某些培训机构比较鄙视,但是我上了某带数字的机构的课,觉得对转专业的人没有刷题经验的人极其有用。基本上确实算是走了捷径。不过修行在个人,自己勤总结还是最重要的。
  • 刷题记录尤其有用。我是刷到后期才开始简单记录的,对后期刷公司Tag题的时候帮助很大
  • 错题尤其是经典题的错题一定要反复刷。每一道题就算看了答案有了思路,也要自己写一遍。在LeetCode的世界里不应该有复制粘贴。
  • 刷题数量如果不是面谷歌这些难度特别大的公司,确实根本不重要,我最后LeetCode 上做了208道题,Lintcode可能还有个五十左右。加一起也就不到300。相比之下,高频题和经典的类型题更重要。
  • 人生苦短,我用Python,会比用java省下好多时间。至于什么变量初始化啊啥的,可以写白班的时候在边上标注一下,侧面证明下你java也能写就好了。

设计题:
  • Grokking的两个设计课,全文本,但是我都过了一遍。
  • 其实还是归纳总结和知识储备。否则很容易被问懵
本帖隐藏内容需要登录后才能查看。
文中含有App暂不支持的附件,请到论坛下载
  • 95
29条回复