当前位置:首页 > 公众号精选 > 小林coding
[导读]大家好,我是小林。初入职场,工作的内容和自己的期待,难免会有一些坎坷和小失落,特别是,进入一家牛逼的公司,以为可以干点牛逼的事,结果分配到的业务,和自己的期待落差太大。今天,给大家分享一篇文章,一位毕业半年的硕士,辞职找工作的社招经历。他基本拿到了国内的一线大厂的offer,但是...

大家好,我是小林。初入职场,工作的内容和自己的期待,难免会有一些坎坷和小失落,特别是,进入一家牛逼的公司,以为可以干点牛逼的事,结果分配到的业务,和自己的期待落差太大。

今天,给大家分享一篇文章,一位毕业半年的硕士,辞职找工作的社招经历。

他基本拿到了国内的一线大厂的 offer,但是最终他都没有选择互联网大厂,因为他对于找工作的目标和方向非常明确,他的工作选择和思考方式值得值得我们借鉴和学习。

这一篇字数 1w 多字,文章有点长,来不及一次性看完的,可以先收藏起来。

接下里,我们直接进入正文:

作者:胡津铭 ,链接:https://zhuanlan.zhihu.com/p/377154343

本文旨在分享自己硕士毕业一年以来在工作上、学习上、找工作上的经历与思考,希望能对一部分同学有一定的启发作用。

同时需要强调,本文全文均仅代表个人观点,限于个人的水平与经历有限,许多观点不免片面甚至是错误,欢迎指正。

在写前一篇校招总结的文章的时候,我怎么也没想到,自己会在硕士毕业半年后就主动辞职。

这还要从第一份工作的经历开始讲起。

初入职场:期待与现实之间的鸿沟

说实在的,在第一份工作开始之前,我是颇有些期待的。我第一份工作的行业是很有些“神秘色彩”的“高逼格”的高频交易行业。

不得不承认,我在进入这个行业之前是不太了解这个行业的,所以对于这个行业是做什么的、工作内容是什么都不怎么了解,仅凭一些与业内人士简短的交流就略有些略草率地做出了决定。

不过这倒也容易理解,当时的我仅仅对于自己想从事的工作内容有了初步的思考(算法还是开发),但对于自己想从事的行业仍没有清晰的思考。

况且纵使当时开始了这方面的思考,我擅长的终究只有排除法,只有亲身尝试过,才知道自己适合不适合。

言归正传,我抱着期待入了职,开始了在这家公司的工作(当然,出于保密要求,我不会透露任何具体工作内容相关的信息)。

但是,我的喜悦之情只维持了一小段时间,我很快发现这里的工作内容绝大多数时候是在实现一些(在我看来颇为无聊的)业务逻辑,而我其实更感兴趣的是底层的系统架构和性能优化。

这还不是最致命的,最致命的是我并不觉得我每天所做的事情会对社会有什么贡献。

说来惭愧,在工作之前,迫于生计,我一直忙活着从一个里程碑奔往另一个里程碑,高考、刷GPA、考研、读研、找工作……很难有时间静下心来好好思考自己内心所追寻的究竟是什么。

而且即便偶尔放慢脚步认真思考,限于校园里的经历,仍然得不出什么靠谱的结论。

社会是另外一所学校,它很快用我的亲身经历告诉我自己,我渴望做对社会有贡献的工作,但是在这里的工作内容却让我很难感受到自己在为社会做贡献。

使情况更糟糕的是,这里的工作并不容易,而我又是一个认真做事情的人,就算我不喜欢不认可这边的工作内容,我仍然会努力去把我的任务完成好,这就使得我更加痛苦,每天在自己内心的斗争中努力挣扎着工作。

这种痛苦很是折磨了我很长一段时间。那换一份更感兴趣更认可的工作呢?我才毕业这么点时间就辞职参加社招,这会不会难度很大啊,我内心犯着嘀咕。

就这样,我日复一日地挣扎着,直到半年过去。

保持学习与成长

很幸运的是,我深知自己在计算机基础知识上的薄弱与匮乏,因此在工作之后,我仍然保持着之前养成的学习习惯。

在刚工作的半年里,我主要学习了以下几门课程/资源:MIT 6.NULL,MHRD游戏,Stanford CS144和MIT 6.S081。

值得一提的是,我时常因学习这些课程而感到兴奋不已,以至于常常debug到很晚。

这样的兴奋与白天工作的无聊形成鲜明对比,这更坚定了我对自己工作方向的选择。

决定辞职

乔布斯多年前在斯坦福的毕业典礼上有一场很著名的演讲。

bilibili 链接:https://www.bilibili.com/video/BV1oW411h7Ea

那场演讲里几乎所有内容我都非常赞同,不过可惜的是我在两三个月前才偶然看到那场演讲:如果我能早看到一些,或许对我做人生选择会有更大的帮助。

在那场演讲中,乔布斯说了这样一段话:

如果你把每一天都当作是生命的最后一天
If you live each day as if it was your last


总有一天,你会是对的
someday you'll most certainly be right


每天早晨我都对着镜子问自己
I have looked in the mirror every morning and ask myself


“如果今天是我生命中的最后一天
"If today was the last day of my life


我还会做我今天要做的这些事吗?”
would I want to do what I am about to do today?"


如果连续很多天答案都是“不”
And whenever the answer has been "No" for too many days in a row


我就知道我需要改变了
I know I need to change something

我没有乔布斯那么夸张,但我也偶尔会想,如果我的寿命只剩下十年了,我还会继续做今天要做的这些事吗?

而自工作以来,连续很多很多天,我的答案都是不。

我知道我需要改变了。

我不能长时间一直做我觉得没意思也没意义的事情。

我很痛苦。

下决定的那天晚上,我一个人从公司里出来。饥饿迫使我去便利店买了份饭团,于是拿着它一边走着一边啃。虽然已是夜晚,陆家嘴仍然是灯火通明。我背着书包,左手拿着饭团,右手拿着水壶,看着这灯红酒绿的繁华都市,看着这人来人往的热闹街头,看着这些鳞次栉比的摩登大厦,明明它们近在咫尺,我却觉得离它们很远。

因为我知道,我不属于这里。

第二天下午,我找领导,提了离职。印象比较深的是有位领导问我说“才毕业半年就辞职,不担心之后找工作的难度吗?”

我说,如果一个方向,我不想继续做它十年,那我就不想做了。挽留无果后,公司非常干净利落地给我办完了离职手续,当天晚上就送我离开了公司。

体验授课生活

离职之后,适逢当时有个去大学里授课的机会。

熟悉我的人都知道,我是一直很想有讲课的机会的,所以我毫不犹豫地就抓住了这个授课的机会。

这次特殊又有趣的授课经历带给我的思考和收获是我之前想象不到的,除了让自己进一步地扎实了自己的机器学习基础(因为要给学生们讲懂),更是带给了自己许多技术与知识以外的思考。

在最后一堂课上,我非常“中二”地当堂背了一段《少年中国说》。我说:“各位同学,往小了说,机器学习、深度学习还有很多问题没有解决,我们不知道怎么解决,也许没人知道怎么解决;往大了说,我们这个国家、这个社会、甚至是这个世界,都还有很多问题没有解决,我们更加不知道怎么解决,现在谁都不知道该怎么解决,也许你们未来就有人会去解决其中的一部分。少年强则国强,去创造属于你们自己的未来吧。”

下课之后,我一个人在校园里静静地散着步,虽然那时候还是寒冬腊月,但那天的阳光十分温暖和煦,晒得人暖洋洋的。

虽然这次机会没给我带来多少金钱与物质方面的回报,但看到学生们求知的眼神、看到他们对我努力讲课的认可、看到他们在听了我的讲解之后由困惑到明晰的表情,我感到欣喜而又快乐。

我更加明确了自己未来的道路,我知道,做(在我看来)对社会产生贡献的事业,这就是我想做的事情。

关于未来的思考

在找工作之前,我纠结着之后做什么行业,还是在国内读个博士。

于是我联系了几位实验室毕业的优秀师兄聊了聊职业规划,这里也感谢各位师兄百忙之中抽出时间来回答我的问题。

最触动我的是一位师兄说的话:“其实读博也好工作也罢,最重要的还是要做自己觉得有意思有意义的事情。

那段时间我也找了些国内读博的机会,不过最终还是选择了继续工作。

社招之路

终于讲到自己的社招经历了。到了课程快要讲完的时候,我就开始联系各家公司开始面试。

去之前秋招不同,这次我几乎没怎么投递公司,而是从之前挖我的公司中挑出了自己有一定兴趣的公司来面试。

最终我面的公司部门有:字节跳动抖音数据策略团队、Pony.AI小马智行、快手、DolphinDB智臾科技、还有几家量化公司(比较好奇他们在同样问题上的解决方案)。

由于量化公司的保密性,这里就不再介绍了,而是主要讲讲其他四家公司的面试经验和心得。

字节跳动抖音

最早大概是2020年的11月,HR在领英上勾搭我,由于我一直忙着其他的事情,就没有开始他们的面试流程,直到2021年1月多的时候,才继续跟进他们的流程。

我面试的团队是一个叫“数据策略”的团队,主要是利用机器学习、优化方法等方式来实现更高的用户增长。

例如春节瓜分红包,这么多红包的金钱,该如何分配才能最大化有效的用户增长呢,这个项目就是他们部门所负责的事情。

这个团队原先是全部在北京的,后来决定在上海也组建一个团队,故联系我面试。

其实面试也没有很多可以说的事情。几场面试都有按照流程地让我做了几道LeetCode题,题目也都是一些非常经典的题,没记错的话应该都是top 100 liked这个标签下的题目。面对这种难度的题,我自然都是很快地写出bug-free的代码。

除此以外,还问了我之前做的一些项目,尤其是正式工作的项目。

大家还比较喜欢问的就是所谓的“场景题”,即描述一个他们在真实场景下碰到的问题,问我的解决方案会是什么。

比较有趣的是,有两场面试的面试官,我在最后的提问环节问他们那几个场景问题,他们实际在生产中是怎么解决的,他们说基本上和我描述的差不多XD还有一件很有趣的事情是大家基本都没问我机器学习、深度学习的基础知识的问题,可能是看我有这方面的授课经历,就觉得没必要再多问了。

印象比较深的是几位面试官都看上去有些疲惫,可能是因为春节降临,他们的活很多压力很大吧。

这个部门让我感觉最有诚意的地方是,HR和leader问我之后想做的方向,我说我开发和算法都想做一些,能不能都做,他们一开始说不行,只能选择一个方向做,这当然是很合理的.

但是最后他们开会讨论并且给我发offer的时候,却告诉我说如果过去的话,算法与开发的工作我自己任选,二者的比例也自己调控,这个结果还是让我颇有些意外的。

最后也给我开了一个相当高的薪水和评级。不过由于种种原因,我选择拒了offer。

Pony.AI小马智行

与抖音类似,小马也是在上海新建了一个office,团队在慢慢地扩招,HR也是很早在领英上联系的我,我拖到了1月多才回复。

印象比较深的是HR一开始电话联系我的时候,问我:“你是不是以前打竞赛的啊?”

我说:“不存在的,我从没参加过竞赛。”

她说:“那你是不是刷了很多题啊?”

我说:“也还好吧,没有特别多。”心里还想着她为啥会问这样的问题。

结果她接着问:“那你之前是怎么进的Google啊?”

我差点笑出了声,原来是因为这个原因才问我这几个问题。于是我回她:“因为我强啊。”(笑)

后来就安排我开始面试。这次面试的开发岗位,所以除了做题和项目以外,基本上全都是与系统开发相关的面试问题。

后面还安排了一轮系统设计面。感谢自己学了MIT 6.S081,面试全程没碰到什么自己觉得有难度的问题。

还有比较有趣的是给我的定级一涨再涨,可能是觉得我的面试表现还不错吧。

最后一轮面试是小马的CTO楼天城、也即传说中的楼教主来面我。

我虽非竞赛选手,但也听说过不少楼教主的事迹。我原以为楼教主会是那种“恃才傲物”的天才形象,没想到他本人相当地接地气,剪了个平头戴着副黑框眼镜,面试刚开始的时候有一搭没一搭的和我聊一些生活上的事情。

之后出了一道数学与编程结合的题目,然后是几道场景题。

最后我们一起聊了聊对无人驾驶这个行业现状与未来的看法。没经过他本人同意,这些内容就不分享了。

不过由于种种原因,我选择拒了offer。

快手MMU

德兵师兄是我们实验室传说级的博士师兄,早在我还在校园的时候就听了不少他的传说,听说他现在在快手MMU担任多模态智能创作负责人,于是就联系了他投递了一波。

面试流程与抖音相仿,基本就是算法题 项目 场景题,估计也是因为我的履历,没怎么问我机器学习基础的题。

我同样表示了同时做算法与开发的想法,他们也很爽快地同意了。

最后一轮面试是德兵师兄面我,除了技术以外,我们也聊了很多对未来行业发展和技术发展的看法。

德兵师兄的确名副其实,做事情非常地扎实,是少见的对技术细节研究得非常透彻的团队负责人。

最后快手开了一个非常有诚意的offer。不过我因为种种原因,还是选择了另外的offer。

DolphinDB智臾科技

要说自己为什么会投递甚至最后还选择了这么一家对很多人来说颇有些“名不见经传”的公司,还得从较早的故事开始讲起。

我很幸运地有一些好朋友,我们常常会交流讨论学习、技术、学术以及生活等方方面面的问题。

其中有一位好友xj在腾讯做数据库,他和我的交流尤其得多。印象最深的一次是2020年6月的时候他在做mysql的并发写入优化。

这个问题是说mysql现在在高性能服务器的存储设备下,常常没法跑满带宽,这很大一部分原因是软件跟不上,mysql里的锁太多了,xj当时就在做锁的一些优化。

我记得他做了一两天后,在群里说:“啊好难啊,我搞定不了了,要炸了。”

我们刚开始安慰他,发一些萌萌的安慰人的表情,这时候他又补了一句“但是好有意思啊”Orz 类似的学术和工程上的交流几乎每天都会发生。在这样的影响下,我渐渐也开始对数据库领域有了一些好奇与了解。

自离职之后,我就开始思考下一步要做什么方向。高频交易自然是不适合的;纯机器学习的算法岗也不合适,我还是更想做开发。

但是究竟做哪一块的开发呢?我拿出一张纸,在上面开始写下自己期望的东西。我期望从工作中获得什么呢?我写下了以下几点:

  1. 从事的行业和工作内容要有意义,对社会有贡献。最好是那种能帮助国家突破卡脖子技术的领域。

  2. 从事的工作内容要有意思,我得喜欢,最好甚至是能够让我感到激动人心的(exciting)。这样的话我就希望其中的工程味道比较重。另一方面,我个人喜欢做自己能够解释的工作、能够知晓从里到外每一个细节的工作,也就是说,当一个系统表现效果好(work)的时候,我能很清楚其中的原因,并且能够清晰地做实验来验证;当一个系统表现效果不好(不work)的时候,我也能用实验和逻辑来解释清楚原因,找到问题所在,并且去解决问题,让系统性能提升。这样的话,深度学习相关的工作就不适合我了。

  3. 如果是一个我之前比较陌生的领域,最好是有熟识的靠谱的人能够带我。

  4. 我希望这份工作能给我带来持久的、我所期望的成长。而这个领域最好是我觉得自己能够再做至少十年的领域。

  5. 我希望是不要求加班的工作岗位,也即能够做到工作与生活的平衡(work-life balance)。因为对于公司老板来说,他们对你的期望几乎永远是为公司盈利,而你自己的期望可能是成长,这两者有些时候是矛盾的;当这二者矛盾的时候,我希望至少还能有自己的工作之外的时间来成长。我绝不希望自己停下成长的步伐。

  6. 收入较高,能够支持我赡养没有缴纳五险一金保障的父母。这点比较容易,只要我还是继续当程序员的话,是肯定可以满足这点要求的。

有点讽刺的是,这些需求,尤其是第5点,在国内的工作环境下是很难达到的。

那如果一定要划掉一个,我会划掉哪个呢?我想了很久,觉得还是要具体情况具体分析。

那么有哪个领域可以满足我的这些需求呢?我突然想到我那位在腾讯工作的好友xj。

于是我写下了数据库这三个字。的确,从事数据库方面的研发,是可以满足前四点和第六点的。于是我当时就给xj发了条消息,我说,要不你去哪儿工作,我就去哪儿工作吧,以后就跟着你混了。

当时他还在腾讯工作,我说那我就去你的组吧。虽然这需要我划掉上面六点中的第五点,但是有些时候只能做一些牺牲了。

结果事情变化得很快,没多久他就收到了阿里云的邀请。这下我可就犯难了,这倒不是完全因为阿里的工作环境和氛围可能不适合我,还因为我知道我的简历去投阿里云数据库组的社招,很可能连表刷(简历筛选)都过不了。

我找了在阿里的同学帮我问了一下,果然和我说他们leader觉得工作经验两年以下的社招不考虑。而且纵使过了,阿里的工作生活平衡是比腾讯还要再糟糕不少的,这让我心里不禁犯了嘀咕。我和他说,容我再考虑考虑。

好在世事时常柳暗花明又一村。

xj在读研之前曾经在一家叫DolphinDB的时序数据库公司实习了相当长的一段时间。我们之前也聊起过多次他在那边实习时做的许多有意思的工作。

2021年年初的时候,DolphinDB邀请xj回去工作,xj就和我说了这件事情。我当时就回他:“他们还招人吗?你去的话,我也去,认真的。”随即就把我的简历发给了xj。

于是DolphinDB很快就开始联系我。HR很好奇我的经历(我还没碰到过一个不好奇的),问了问我这么选择的理由,我解释清楚之后,他们很快就安排好了和我的面试流程,邀请我去office进行线下的面试。

虽然我因为xj的缘故,毫不犹豫地就想选择这家公司作为我职业生涯的下一站,但坦白说,此时我对这家公司还是不甚了解,无论是氛围文化也好、还是技术背景也罢、还是最重要之一的是领导的水平与风格,我都不清楚,所以这几轮面试,不仅是他们对我的考察,也是我对DolphinDB的考察。

或者说,实际上,面试本身就是候选人与面试官的双向选择。

对我来说,面试的体验是极大程度上影响我对于一家公司的观感的,技术好性格好的面试官会让我好感大增,反过来水平一般或是态度傲慢或是显得异常疲惫的面试官(或者是兼而有之Orz)则会让我打退堂鼓。

有句话说“面试官是一家公司招人的门面”,这句话绝没有夸张的成分。所以很自然的,我会把在DolphinDB的面试看作是一个很好的提前了解潜在的未来同事的机会。

DolphinDB的面试官们也果然没有让我失望。

首先是HR与我聊了聊过去的经历与未来的规划。HR非常专业,也没有任何要彰显自己存在感的意思。

接下来是研发主管的面试。主管从一些小问题切入,深入地与我探讨了系统编程相关的问题。

之后主管问我对数据库有没有什么了解,我说我只有对levelDB有一定的了解,于是主管和我深入探讨了在时序数据库场景下应用LSMT(Log Structured Merge Tree)时需要注意的问题和可优化的地方。

非常有意思的是,我和xj加入公司后,到目前为止做的最大最重要的一个项目物联网(Internet of Things, IoT)存储引擎,正是基于LSMT设计和开发的 XD

最后一轮面试,是公司的创始人、CEO兼CTO 周小华来面试我。

之前每次和xj谈到Davis的时候,他都会赞不绝口,我也因此很好奇他究竟是怎么样的人。

Davis本硕在上海交大就读,博士在美国Drexel University就读,博士期间发了很多顶级的信息检索、数据挖掘的文章。

博士毕业后,他在美国多家金融公司先后就职,后于2016年回国与另外两位创始人一起创立DolphinDB智臾科技。

DolphinDB是一款完全自研、拥有完全自主产权的国产分布式时序数据库,拥有强大的计算引擎和存储引擎,支持每秒百万级数据写入,在万亿级规模下支持数据毫秒级查询和秒级计算分析(突然有种广告的感觉是怎么回事,总之欢迎感兴趣的同学了解)。

Davis进了面试的房间,和我握了个手,就开始了与我的面试交流。

说是面试,但与其说是他面试我,更有点像是他在和我交流公司的现状以及未来发展,询问我对公司的期望,看看我们双方是否能够满足对方的期望。

Davis首先问我对于公司的期望是什么。这是一个正中我下怀的问题,我立刻将前面提到的那几点需求描述了一通。

这里要说明的是,我以前认为在面试中这样诚实地说出自己的期望是不合适的,因为有可能这家公司不符合这样的期望,最后就不发offer了;但我后来觉得既然我不缺offer,不如说得直接一些,也免得去了公司之后发现期望与现实落差太大而离职,那样对双方的代价还要大得多。

总之,我很诚实地和Davis说了我的全部期望。Davis很高兴地告诉我说他认为DolphinDB可以满足这几点的:

  1. 从事的行业和工作内容要有意义,对社会有贡献:时序数据库在物联网和金融领域均有广泛的应用。而这其中,金融中的银行等机构与物联网中制造业、研究院、水电煤国企等都是对国家非常重要的战略性机构。前些年的技术卡脖子,让国家政府意识到不能再这样下去,因此提出了去IOE的口号,希望在这些机构都能使用具有完全自主知识产权的基础软件(如数据库)。而这些领域应用高性能的时序数据库,还能够实现一些以前很难实现的功能,如核电站的实时异常检测等,这些功能的实现对于国家与社会显然是具有重要意义的。而且,在我国物联网领域,由于我国的人口规模,很多场景面临的难题是现在市面上没有一款软件能够解决的,所以在DolphinDB做开发,不仅仅是“去IOE”(指脱离对IBM, Oracle, EMC三大基础软件外企的依赖),更是要去做到一些之前没有产品能做到事情,去突破最前沿的数据库难题。

  2. 从事的工作内容要有意思,我得喜欢,工程味道要重而且能够从内到外理解每一个细节:数据库可以说是完美的符合这些要求,而在技术方面,分布式时序数据库显然也是站在最前沿的。
    最好是有熟识的靠谱的人能够带我:xj就可以带我。

  3. 我希望这份工作能给我带来持久的、我所期望的成长:数据库这类基础架构的开发能力磨练的是最核心的开发能力,自然可以带来持久的成长。

  4. 我希望能够做到工作与生活的平衡:公司工作时间965,而且公司认为这样的制度是更能帮助员工的产出的,因为员工需要锻炼身体来保证强健的体魄,需要下班之后自己学习额外的知识来获得技术上的成长,需要陪伴家人等等。
    收入较高,能够保障我的父母:这个自不必多说。
    于是Davis和我一起讨论了未来公司的一些规划,以及如果我来的话愿意做哪方面的工作。令我非常惊讶的是,Davis是公司的CEO
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭
关闭