登录
  • #码农类general
  • #工作信息
  • #找工就业
  • #LinkedIn
  • #求职(非面经)

5年‌‌‍‍‌‍‍‌‍‍‌‌‌‌‌‍‍‌‌‍‍‍‌‍‌‍‍‌‍‍‍‌二线转厂心路

xtt2016
14963
62
今天签了offer,总算是尘埃落定,发个心路历程回馈一下地里。投入将近6个月的时间,也算是对自己的一个总结。非常感谢一亩三分地,应该说没有地里的面经和其他人的经验,我自己是不可能转厂成功的。每次看到牛人们的总结就觉得这个板块是说出自己的故事,今天我也献个丑,说说我的故事,说说这次我做对和之前做错的地方吧。

这次的成绩

Tiktok - Phone Reject. Doordash - Offer, Stripe - Onsite Fail, LinkedIn - Offer, Airbnb 取消onsite,Amazon取消onsite。

这个成绩看着很一般,地里那些7,8个offer的大神我不知道他们怎么做到。每次面试之前自己也是想着集齐flag, 但后来发现面试真的太累太累。 总体来看对于我,两个offer就足够了。现在公司还有很多活,实在没那个精力去面试,每次请假onsite经理都是问东问西。 所以后面的airbnb和amazon都给主动取消了。但是拿到offer的这两个公司老板都非常想要我加入, 领英跟老板,老板的老板都聊了很久,老板的老板的老板居然也想要来跟我谈,来拉人。 外卖网发信说sorry了之后经理还特意发信问我原因,并且要保持联系in case我改变主意。这些signal我觉得也是对我这次努力的认可。

背景

楼主国内985前30毕业, 到university of florida读了一个cs不相关的专业,毕业之后在一家start up工作了两年, startup 解散,痛定思痛,还是cs稳定,14年才真正转了码农,读了个湾区神校的硕士。 16年毕业, 去了个二线小厂, 10几个billion, 在这里真的不算什么。找到的经历是这样,当时去ghc见到了公司的vp, 被深深吸引,回来之后onsite 5轮,拿到了offer, 那是11月份, 我们2月份毕业。最后一个学期就在开心和愉悦之中度过, 现在想想那时候做的是非常非常错的。 为什么,我一个大厂都没有面过,一个都没有。 别人还在准备面试,准备大厂的时候我已经上岸了, 当时觉得很开心,很舒服。其他小伙伴都很羡慕。 但真是没有想到,其实是拉开差距的开始。 再一个没有去面大厂的原因就是,那个时候,公司给的工资非常好,应该说跟flag没有差别或者更高。 于是,我就觉得flag有什么了不起,钱也差不多啊,我们公司小但有格调,不lowball。 其实这是错上加错。 flag的升级涨工资,refresh,真不是这些二线能比得上的。再有应该就是工作内容scale上的差别。应该也说当时我根本就不知道有levels.fyi, 有一亩三分地,我在自己小小的世界里很满足,陶醉在转码成功的喜悦之中。

为什么到现在才转呢,很大一个原因是绿卡,想着哎呀,我刚交140,现在转还要重新递交,还要h1b transfer, 多麻烦啊,等等再说吧。 再就是工作的地方还有很多有挑战性的东西,虽然厂子小,但厉害的人不少,我觉得我有学习的地方,为什么要跳呢。但是,慢慢的,楼主就看到小厂的差距了。每年2%的涨工资。涨级别,工资涨5%, 连通胀都赶不上。 累死累活升了两级,还不如现在大厂的new grad。 在同一个学校的学弟学妹工资应该都远超于我。 跟朋友聊起来也是我们公司的名字都没有听过。 这些感觉都让楼主很受不了。 楼主也有自己的骄傲,在国内,虽然不是清华北大毕业,也是前30的学校。 在本科也是专业第3的成绩。 无论是uf还是湾区神校,都是gpa遥遥领先。 我的本科同学有一个当了狗家的经理,一个当了空气床的经理,自己混成这个样子是不是也是真的该检讨检讨了。跟经理谈过之后,他说你得再升一级,才有可能说走经理的路,再升一级可能还要2, 3年吧,然后还得看有没有坑。 这个应该是最后一根稻草。

对于现在刚毕业找工作的同学,我的经验就是能别去小厂就别去小厂,去了有机会也赶紧跳, 大厂会lowball,会压榨,会有血汗工厂。 但在小厂上岸之后很可能就跟楼主一样,在不知不觉之后被你的同龄人拉出你根本意想不到的差距。进小厂之后想着我慢慢再跳,但很多时候工作很忙,或者要再回到刷题的状态就真的很难了,还不如一步到位。

做题

我是从11月开始恢复做题的,其实我骨子里很不喜欢刷题这个词, 怎么说呢,我觉得题目是要用来做的,是要用来仔细思考的。19年我曾经试过一次面试,当时面了狗家,亚麻,领英。 我选择了python。 工作中用的ruby, javascript。 因为python也是script类的,所以选择了python。 当时狗家面试我自己感觉非常好,面完我就跟家人说稳了,结果downgrade 再加上加面,心态彻底就崩了,我开始怀疑人生,不出意外,加面挂了。 亚麻也是降级,果断拒绝了,3年经验让我从零开始我做不到,宁愿明年再来我也不会接受。领英投了一个ops的track,面的系统设计是deploy system(其实也不难), 直接挂了。 19年全军覆没。 当时刷了4个月的题目吧,真的应该算是流于形式的刷题,没有认真学习总结。当时的我不懂, 苦水都是自己咽下了肚子里,甚至怀疑自己是不是还有能力,是在小厂的这几年脑子也出问题了吗。 如果从现在后视镜的角度看,当时确实不ready,python写的非常不熟, 算法也是一塌糊涂,系统设计完全没看过,没有看面经,其实onsite全都是在裸面。

再说说这次的方法,



  1. leetcode最有用的是discussion, 楼主这次是英文和中文的discussion都看,看的自己用语言的高投票, 看的多了,你就记住了一些奇淫异巧,x|0 变成 integer 这种,代替Math.floor(x) , 楼主是javascript面的,还有heap的延迟删除这种。 看discussion我觉得是这样,你要找的是你能理解的,从高票往低票看,不懂,多看几个,找到一个你能理解的。 然后就是关于刷和做, 把答案放右边,editor放左边只能是自欺欺人。

  2. 再一个非常非常非常有用的就是contest, 1个半小时4道题,手速可以练的很不错, 也是提升语言的熟练程度, 楼主contest的最好成绩虽然也只有500多名,跟大神们不能比, 但也是A4了好几次。 刷题,如果你能几次A4,肯定够了。 不说A4, 前三道能一直做完通过,也都够了。

  3. 楼主还用到了一个技巧也觉得很有用就是用GRE 背单词的方法, 杨鹏的那个天数不记得了,我就用1, 2, 4, 8, 16天来复习。 这个也坚持了3个月。我觉得是这个方法让我contest从排名2000刷到排名500。

  4. 做hard 题, hard题做会了,很多medium的题你看着就跟小儿科一样。 hard的题啃下来就跟武功内功练好了一个道理。

  5. template, 什么是template,就是做题的架构,比方binary search有100种写法,你自己的写法能倒背入流, backtrack的框架, dp的框架。 那些报班的我没上过,但大致应该也是类似的, 自己总结也是一样, 报的班就是帮你总结好了, 你直接用。

  6. 题目做多少, 平常我每天lc 中国区和美国区的每日一题, 周末contest, 准备公司的时候多刷tag,准备领英的时候一天应该有20道, 因为只有1天时间,捂脸。



系统设计

我的系统设计我觉得也只是很新手新手的那种,没有太多可以骄傲的地方,算是一点体会。

很多公司其实有一轮都是让你展现你自己工作的成绩的一个项目。 19年楼主去面领英,很傻的present了一个很小的feature, 平常就是写写api,做做新的feature,没有系统架构。现在想想自己都好笑。 19年失败之后,我跟经理说我觉得现在工作无聊,我想要挑战。 经理给我找到一个很大的项目,做了6个月,有aws, 还有很复杂的系统架构。 我感觉这个项目我可以吹10年。dd面试的时候那个面试官也是做这方面的,他很欣赏我们做的这个东西,所以最后给我升了一级。

系统设计,grokking看了2遍, system-design-primer看了两遍。 设计我发现也是真的需要练的,跟做题一样,我开着zoom,自己record了4, 5次之后才找到一点感觉。 第一遍的时候卡在一半不知道说什么。 然后系统设计我觉得也是需要框架,但是要加上自己的理解, grokking里面你上来直接说funcitonal requirement, non functional requirement, 面试官也知道你是那套。 换个说法,显得不那么生硬。设计我觉得一个很大的坑就是我容易嘴瓢,在面试的时候一定不能乱说,说了任何一句话面试官都可能质疑你,或者问你为什么这样。 有时候真的就是嘴瓢,或者其实自己也是在思考的一个过程,但这是一个大忌。 我觉得还是自己在这方面是小白,就跟做题一样,题目做熟了其实一看就知道该用什么套路,系统设计还做不到,就是还是自己修为不够。

面试准备

这次跟每个公司相关的,我做了很详细的doc,应该说最近6个月的都摘录下来了, 用google doc,加上标题。



  1. dd的题库非常小,全部用自己的方法写一遍,这点很重要,再能倒背如流。 dd 的题考的都是面经里的,有一个followup 不是面经的,但是有contest 经验的我现场做一个medium的题还是有60-70%把握的。coding都是剩15分钟左右。

  2. Stripe我也是做了很详细的记录,coding 很快搞定,follow up也是,之后一直尬聊,还提前15分钟结束。 但bug轮还是大意了,觉得自己应该可以搞定,没有准备的很好,结果gg。 也是自己学艺不精吧。

  3. 领英的tag lc虽然没有刷完,因为真的没有时间,大概就做了前60道, 但幸运的是难的记得很清楚,这要感谢平时把难题啃下来了吧,考了一个max point, 这题印象挺深刻,因为面经上看到了,所以来回自己弄了好几遍。说实话我觉得这个题你要是没见过或者不熟20分钟你能搞定,那你就是lee stephan这个级别的了,corner case太多而且繁杂。对于我们这些凡人还是不太可能。 领英这次能过也是国人大哥大姐帮了很多忙,再次感谢,店面2题只做了第一题,大哥大姐还是让我过了,真是感谢。 当时领英店面是裸面,我完全没刷tag,想的是店面应该能搞定,给了自己一个很大的教训。

  4. onsite我觉得很大一部分还是和准备有关的,每个公司的面经都不一样,每个公司都需要非常用心的准备。 如果只准备一个公司还行,多了就很容易顾不过来。 但面试真的就是你对这个公司下了多少功夫有关。就像空气床,深秋版能找到很详细的题目, 把这些题目都搞定了也应该问题不大,胡萝卜公司好像也就是那几道题考来考去。空气床和亚麻都没怎么准备,楼主觉得去了就是送人头,最后就跟recruiter直接说不面了。



面试之后

我真的是被19年狗家面试给打击的对自己非常没有自信, 每一次phone或者onsite之后都感觉是未知数。面试之前感觉肚子里真的是有butterflly。

其实也是,面试是see the good in you or see the bad in you。 想挑刺的话总是有的,我们能做的只能说尽量把题目做出来, 这是能控制的。领英的recruiter真是非常到位, 每个邮件都回的很快,还一直说team非常想要你,非常满意,需要跟谁谈都可以, 很难不把她当成自己的朋友。 这次不能说谈到了最好, 但我也非常满意了,相对于现在的工资,差不多变成了之前的2倍。感觉这已经是老天对我的眷顾了,再就是本身的工作真的是非常忙,因为有个新项目下来。

关于有多个offer,我觉得很有用的策略就是选择性的信息,在什么时候释放什么信息非常重要。 expectation我觉得真的是个很tricky的问题,资本家们大多只是在你的expectation上浮动, levels的那个中位数其实是挺难达到的。就算在我知道自己面试分数是比较好的情况下,他们依旧是想要压价的。但对于我的情况,比目前都要高太多了,所以也是比较想签的。

以上就是我的一点小总结了。

补充内容 (2021-04-05 21:58 +8:00):

哇,居然加了100多大米,真是感谢大家。 看着评论区里还真是欢乐,感谢各位的审稿。 补充一下,如果影响阅读,楼主是国内前15的学校,985 前30的说法是我唐突了。 我司应该是5线,如果yahoo ebay算二线。
62条回复
热度排序

发表回复