分布式系统土博士的秋招进展

欢迎关注知乎问题:你的 2020 秋招进展怎么样了?(会长期更新)
https://www.zhihu.com/question/315012080/answer/845695199

offers: 腾讯技术大咖/微软ssp/华为16级. Facebook: onsite.

本人是国内计算机系的土博士(2020毕业),研究方向是大数据处理、分布式计算和存储、微处理架构。分布式系统和微处理结构两方面,有点跨小领域,但都是系统和体系结构一类。此文对于担心搞系统方面不好找工作,或者对AI类的高薪眼红欲放弃个人特长的硕士和博士,可以给与一定的信心。

在我的理解中,博士花去了比硕士多4-6年的蛰伏期,这段时间并不能直接训练自己的编程能力,但是却有拥有深刻的领域知识、挖掘问题本质,和知识迁移到其他领域的能力,当然还有更好的技术品味。这些能力在工业界可以不重要,因为不能立刻兑现成为技术产出。但是可以非常重要,技术的选择,和技术难题的攻克,特别是系统方面,往往都不是一个模块,而是整个抽象出了问题,这种问题必须由资深架构师解决,而博士是非常有潜力成为一个兼广度和深度的架构师,他们缺的只是经验和磨练,而普通硕士工程师缺的是博士的训练。

秋招比预想中的顺利,拿到的所有offers都很给力,对于要参与的工作和挑战也沟通得比较对口,有种还没有开始准备就要结束的感觉。虽说如此,但是前面经历了太多非直接找工作的压力,我会愿意相信,如果没有这些坚持和努力,抵抗这么多压力,找工作也不会这么顺利。

由于对技术方向期望很高,第一份工作只愿意去技术型顶尖大公司,所以并未海投,只选择性地投递了几家公司,包括Facebook、Google、微软、Airbnb、腾讯、华为,将来可能还会投递Amazon。

首先,简单地列一下2019年的timeline。

2月:申请Facebook美国。
4月:Facebook电话面试。
7月:申请腾讯技术大咖;技术一、二面。
8月:腾讯技术三、四面。华为投递;一、二面。
9月:
腾讯HR面;口头offer。
微软投递;一天五轮面试;纸质offer。
华为三面;口头offer。
Google投递和简历被拒。
Airbnb投递和笔试。

然后,罗列一些客观情况和自己的感悟。

7月份,腾讯技术大咖宣传很到位,我很兴奋国内互联网企业有针对博士的专长,我甚至参加了TEG和CSIG的两场宣讲。沮丧的是,两场校招,无论是书面的岗位信息,还是现场的技术人员的分享,全部是AIAIAI。让我一度觉得去企业界的话,AI才能走高速通道,而系统、体系结构只能走”低端、重复性“的工作。

但是,超出我期待的是,并不是如此。我刚现场投递简历的几天内,就接到了通知。面试的组长和技术总监很看好我的专长对于组内技术的发展,面试过程并不是完全顺利,毕竟我没有做技术点的准备,但是他们关注的系统设计、品味和思维方式,在面试过程中都得以展示。我感觉很对,当然我也相信面试官感觉很对。这让我对自己的能力建立了信心,同时也相信自己博士阶段做的一些本以为不重要的事情,对我的技术积累影响还是非常大。

在9月初校招刚开始的时候,就收获了腾讯很对口的岗位和项目,级别和口头的offer也是非常给力,基本有能力结束秋招了。只是,心中还有一些不踏实,觉得自己还没有和大家一样去刷题、复习技能点,也没有去试试更多的可能性,包括更好公司和岗位。

当然还有一个很重要的连带因素是,10月底要去Facebook onsite,针对这种对算法和沟通的要求非常高的公司,我需要去其他公司积累面试经验;如果能顺路收获一些offers也便于我建立自信。
于是,我9月份很认真地投递了微软和谷歌,也随缘分地投递了Hulu、Airbnb。
然而,谷歌不让我过简历,我也很无奈。无论是北京的New Grad Engineer,还是欧洲的Research Scientist,把我的简历都拒掉了。我估计两点原因,北京headcount不足,我的学术方向不满足欧洲的研究岗的方向或者要求。

幸运的是微软捞简历非常快,在微软校招之前就进入了onsite面试环节。一个下午,五轮技术面试,6个半小时;不亚于Facebook或Google的onsite的压力程度,好歹FB和谷歌还有中午的吃饭闲聊让你缓解一上午的疲劳。

不过面试也依然顺利,前三轮的算法考题显然和FB是一个等级,四轮的系统设计也是来源于实际问题,当前的技术人员还没有得到很好的解决。鉴于以前有在硅谷做过从0到有的项目,有过完整的设计和实现经验,比较快地进入一个对系统负责的程序员的状态,和面试官充分沟通交流后,提出和否定了一系列方案,在我看来,这些都是正常不过的事,我相信面试官也是如此理解。最后和leader的沟通,我很看好项目中应对的挑战,不只是缝缝补补的事,而是考验系统的设计、经验和品味的事,我很感兴趣,自然相淡甚欢。后面很快又拿到了微软的书面offer,同样也相当诚恳。

于是,我想,这一次应该要结束这趟秋招了,后面面临的只是选择问题了。

不过,后面还有Facebook的面试,可能还会投递Amazon美国,可以当做一个经历,也可以认真准备,谁知道结果如何呢?

后续若有时间,给大家再更新面经!

#微软##google##facebook##腾讯##面经##校招#
全部评论
分布式系统,微服务架构应该是最好的方向了,ai都是泡沫,系统才是刚需
5 回复 分享
发布于 2019-10-10 16:39
等我秋招结束来写个数据挖掘超小方向的无顶会论文水博的面经,太艰难了🙃🙃🙃
4 回复 分享
发布于 2019-10-10 16:35
大佬牛逼 沾沾欧气
点赞 回复 分享
发布于 2019-10-17 22:17
很少能看到博士的帖子,我一直好奇博士是跟硕士是不一样的招聘途径是吗?
点赞 回复 分享
发布于 2019-10-11 15:58
大佬
点赞 回复 分享
发布于 2019-10-10 21:51
好奇楼主为什么要在牛客里也发一遍呢?看中了牛客的什么?
点赞 回复 分享
发布于 2019-10-10 16:41
很少看到博士大佬的面筋哦
点赞 回复 分享
发布于 2019-10-10 14:37
大佬牛逼
点赞 回复 分享
发布于 2019-10-10 14:35

相关推荐

面试官人很好,态度和蔼可亲,没答出来时也会引导你去思考。由于是晚上面的,导致我白天一天都有点紧张,面的时候状态也不是很好,正常可能面试官提问完应该思考几秒再答,而我就像抢答一样一口气把所有会的都说出来,这样就导致逻辑比较混乱,东一句西一句的。首先是自我介绍,先把会的技术大致讲一下,由于我八股背的多所以着重讲了一下,Java,go,jvm,MySQL,Redis,计网,操作系统这些,然后一小部分闲聊,然后先问了一下项目,面试官问我这个项目是否落实之类的,直接坦言说是写的练手的,包括之前也写过IM通讯,外卖之类的。然后面试官就把提问的重点放在了八股上。先问了Java:类加载器(答:3种+自定义类加载器、tomcat、原因+双亲委派+好处)JVM参数(答:xmx,xms,newsize这些,问我是如何设定的,我回答是把内存分一半给堆,再把堆分一半给新生代,这方面确实不太了解)然后问了一下并发相关的:线程池(答:线程池的7个参数(忘了线程工厂和阻塞时间了),3个重要参数,还有线程如何启用,为什么要设计最大线程数之类的,提到Java栈默认分配1MB运行时不可以更改)AQS(答:先讲clh是自旋锁+list,然后是AQS在这个基础上做的两个优化,然后举了一下reentrantlock根据state如何获取资源)CAS(答:使用三个字段,aba问题,然后将通常搭配自旋锁实现,面试官问通常会自旋多少次,这个不太了解,答的100,然后问100次大概多少秒,回答微秒级,然后面试官讲了一下怎么做资源可能没用完,意识到可能还需要进行阻塞操作)然后考虑一下Linux命令(top,ps,如何使用管道符过滤线程和使用Linux启动线程没答出来)然后问Redis:持久化机制(答:三种aof,rdb,混合,aof的三个参数刷盘策略,rdb以快照保存,使用bgsave会使用子线程来保存不会阻塞,而aof虽然会阻塞但是只在写完数据后追加一条命令,不会太影响,然后是他俩的优缺点,还有混合是怎么保存数据的)集群模式(答:三种,主从复制到缺点再到哨兵机制,正常使用三个哨兵互相监督,主节点挂了投票选主哨兵然后选主节点,然后额外讲一下脑裂的问题,主节点进行数据更新然后把命令写入aof来同步从节点,最后cluster集群,如何实现,使用16383个哈希槽(艹答成16384了),先根据哈希码取余,再根据节点数取余决定放在哪个节点上,然后问了一下我会怎么选集群模式,首先是cluster的问题,会让管道操作之类的失效,然后哨兵会导致整个集群结构变得复杂,使用小项目可能会考虑哨兵,大的考虑cluster,然后考了一下cluster如果一个节点挂了怎么办,根据节点数重新取余然后数据转移,面试官说这么转移比较慢,有没有别的办法,我隐约记得使用一个类似环形数组的方式,想不起来了)然后考了一下MySQL的b+树(这方面的知识点太多了,导致我什么都想讲逻辑就比较乱,讲了一下聚簇索引,树的叶子节点对应着一张页16KB,MySQL有一个区的概念,把这些页放在同一个区中,这样叶子节点的双向链表遍历时速度更快,然后b+树的扇出比较大(非常二,说成扇度之类的,面试官以为说的是扇区)这样层数就比较小,一行1kb数据的话3层可以放心2000w数据)其他的暂时想不起来了算法是lru,面试官问要不要提示,我说写个,然后写了10分钟左右,说大概写好了,但是面试官指出了2个小错误,第一个马上就改回来了,第二个一直没看出来(大脑这时候已经停止工作了)反问:问学习建议,说根据实际的项目进行深入,考虑应该怎么做,还问了一下组里面是做Java的吗?面试官说他是做go的,组里什么语言都有,语言影响不大,连忙补充了一句我对go的底层有深入源码的学习)结束。总体感觉答得不太好,没有太体现出深度,细节也不够全面。
下一个更好呗:佬,我投完云智一直没消息,多久约的一面啊
查看14道真题和解析
点赞 评论 收藏
分享
评论
11
33
分享

创作者周榜

更多
牛客网
牛客企业服务