注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
自己跳槽之前其实也有刷过地里的帖子,但是大部分都分布在 New Grad 和 mid-senior level,像我这种仍处于第一份工作,且<2 yoe 的经验贴很少,所以当结束跳槽期之后,就想着回馈地里,也给后来人多一些借鉴。(有一些背景部分做模糊处理 + salt process了,不然太容易target到)
背景:毕业之后🍌某cloud infra service team, 1.5 yoe. 说实话,🍌整体来说是一言难尽的,我们组已经算是很好的组了,但仍然感受到了toxic 。
Timeline: 04/2021开始准备 -> 5月开始找朋友内推 + 自己投一些小厂开始练手 -> 6月集中onsite -> 6月底negotiate offer -> 7月初make decision
结果: 一共面了15+ onsite,拿了8个offer,Apple @ICT 3, 🐶@L4, 开花堡@Senior,以及一系列不够火的startup offer 就不赘述了
withdraw onsite: Facebook, uber, 加上一些小厂
Failed onsite: microsoft, snap, stripe...
. check 1point3acres for more.
店面:
大部分公司的店面都是比较正常难度的leetcode-style question,我的理解是设置一个filter 去过滤掉一部分题还没刷明白的选手。我只在snap这一轮遇到了lc hard 难度的,颇费了一番脑筋才过。
Takeaway:
1. 把一些lc 上面正常的数据结构tag下面的题目过一遍,每个tag 过5题左右,增加自己的熟练度以及尽量避免一种情况 “啊我听说过这个算法但是没实现过也不记得怎么实现了”
2. 遇到了很多trie,cache,dijkstra algo 之类的问题,频率比之前高很多。
. From 1point 3acres bbs
现场面:
我觉得现场面是一个影响我是否选择某一家公司offer的重要因素,尤其是按组找人的,general hire 就另说。
Apple: 按组招人,某Siri 组做speech recognigtion的,尽管拿到了offer,但从我面试的这几轮中,我没办法感知到他们到底想要招什么样的人,几轮面试的问题也没办法distinguish 不同candidate,感觉我从0开始培训一个完全没有经验的candidate两个月,就可以过面试了。
Google: general hire,没啥好说的其实,中规中矩的面试,我觉得🐶家关键在于team match,如何找到并说服心仪的组.
开花堡: 按组招人,整体给我印象非常不错,我最后就在这个组和🐶家做决定。首先说coding,出的题目基本都不是纯leetcode style,都是有真实 use case 包了一层,需要candidate 自己去剖析然后和面试官不断clarify 这个真实场景的corner case 以及requirement, 面的很爽,因为我不是纯做题,一大半的时间都用来和面试官聊,然后聊完最后15min 才写码,飞速写完跑通。然后是system design,也是拿出他们组/org真实use case 来面,没有像(how to design instgram) 这种问题,面的极其之爽,学的很多东西,最后的system flow 看起来(我自己看起来) highly scalabale and available 哈哈哈。除此之外还面到了 distributed system,我第一次见有面这方面的,由于我在🍌就是做的相关内容,所以基础知识还算过关。
MS: hiring event, 面试我的组是做软硬结合的,感觉背景根本不match。。。完全没搞懂为什么hr 建议我去这一天的hiring event。。。
Snap: 感觉最近招人挺多的,fail 掉的原因我觉得和MS是一样的,背景不是很match,不过我一开始也就是打着练手的主意去的,第一个onsite。
Stripe: 主要fail 原因我觉得是coding part,感觉有尽力和面试官聊,但是每个我提出的想法我感觉他们都是 "Cool, go ahead and do it",写完了之后也没有反馈,就感觉 he/she doesn't give a shit. 题做出来了,但是并没有感觉和面试官get connected, anyway 也无所谓吧,就move on
面试安排/简历投递:应该说这是我这次找工作疏忽最大的地方了。
1. 投+面了太多的小厂及中厂,一开始的想法是练手,但是最后都到了onsite,面完筋疲力尽。
2. 投+面大厂以及hot startup 太晚了,像fb, robinhood, instacart, linkedin 我都是中后期才投/面,等我收完offer 之后还有好几家没出onsite schedule, 但是不想把战线拉的太长也就withdraw 了。. 1point 3 acres
System Design: 我其实大部分都是跟着地里帖子介绍过的,列举一下:.
1. 神书DDIA 就不说了,但是我觉得对于Junior-Mid level 大部分人没有e2e build large scale system 经验的话,其实有些DDIA 里面的内容是很难融会贯通的。
2. 基础知识很重要,比如至少horizontal and vetical scaling, stateful and stateless 这些要有基础概念吧,看一遍 grokking + https://github.com/donnemartin/system-design-primer 应该就够了。
3. 答题模版很重要,就像Coding Interview 7 steps, System Design 其实也需要相应的步骤/模版,否则解题都无从下手,我自己是按4 steps:
3.1 Requirements: 第一步clarify requirements,functional req: 支持的use case, Non-functional req: scales of system
3.2 Data: design data schema,这一步对我们后面设计数据库以及计算data size 很重要
3.3 Algorithm: 讨论需要针对requirements,我们要设计什么service/system 去support use cases and scale。 . check 1point3acres for more.
3.4 Evolve: 这一步可以讨论如何进一步优化,譬如对HA 做更强的支持,还是进一步增强Scalability,或者加一些其他的use case,比如BI 等等。. 1point3acres.com
最后还是去了🐶,求大家伙➕➕米, ,以及有什么想进一步了解的可以评论一下,看情况回复
|