您的当前位置:首页正文

三年开发经验,抖音离职后,拿到Airbnb、快手、小红书、猿辅导等多家公司的offer

2024-11-09 来源:个人技术集锦

禁止任何形式的转载,已经收回了所有的转载权利,郑重声明,如果有侵犯到公司利益,请联系我,会进行修改。

前言

我这篇文章并不是简单的描述一些面试中的题,或者总结一些Android的知识,而是想记录我整个的想法和准备的过程,以及一些心得体会,让大家更加全面的去看待工作、跳槽和生活(从我的角度,当然肯定有不合理的地方,大家借鉴就好),之前17年跳槽写过的一篇文章

在字节跳动的两年时间中见证了抖音从百万日活到2.5亿、团队从10人到100多人的过程,技术上不同时期的选型以及迭代、沉淀和更替。项目上经历了一个工程到模块化再到组件化最后插件化,深刻理解项目不同阶段和不同体量的时候技术框架的选型。流程上不同阶段不同的方案,一直在探索最大的效率的协同开发。产品上从不断试错到稳步发展的过程,也就是数据驱动业务的过程。
字节跳动是一个伟大的公司,优秀的同事真是数不胜数,我在其中只是一个菜鸟,仰望各种大佬,不管是从技术方面还是做人做事的方面都学到了很多、成长了很多。在抖音的两年十分感谢我的同事、领导对我的帮助和提携,尤其是亨惠、火火老师、马老师、江老师、夏老师、将军、若雷、乐华、龙博等等一群大牛,还有漂亮的pm小姐姐佳鑫,和帅气的设计师冬冬,只能说我是何其的幸运,能够和一群优秀的同事一起共事、见证一款伟大app的崛起。

这次面试了以下几个公司(不是面试顺序):
、、、、、脉脉、动动、、、、、、、、、微软、亚马逊、Ihandy、、、

其中面试没通过的是:脉脉(一面挂),其他的公司都到了hr面谈薪资,美菜网、音娱、动动、猿题库等公司hr开诚布公的跟我说给不了我要的价钱,虽然技术面评价不错,我也明白,由于拿到一些offer后,我对不太想去的公司会要的比较高,我自己都觉得肯定不会给。微软和亚马逊有另外的情况,因为当时已经基本确定拿到Airbnb的offer加上眼睛因为上火长了针眼,特别疼,就直接拒绝了。可能有同学发现了,为什么这次我没有去BAT去试试(百度、阿里、腾讯),百度的确没有投递,阿里腾讯不是我不想去,实在是太慢了(可能是我没有走内推,而是在boss投递的原因),基本上是投递后一个月后才告诉我简历通过去面试。

为什么要跳槽

为什么要跳槽,这个问题一定要思考清楚,因为跳槽的成本其实是挺大的,在一家公司积累的不仅仅是人脉还有对当前行业以及业务的熟悉度,新进入一家公司,一切需要从头再来,需要快速的证明自己,尤其是技术人员,还有就是对新环境和代码的熟悉,这些都是成本,所以在跳槽前,一定要想好,为什么要跳槽。其实马爸爸有一句经典的话“要么钱没给到位,要么心委屈了”,说的很形象,我这里再细说一下:

那么跳槽的核心就是利益最大化,当然这里说的利益,不仅仅是薪资福利,还有自己的职业规划。

职业规划

作为技术人员,我大概总结了下面三个方向,其实哪个方向都是大有可为,关键还是要看自己。

  1. 技术经理
  2. 架构师
  3. 专项领域的专家
薪资福利

作为一个不再年轻的程序员来说,已经不能忽略薪资和福利,不再像刚毕业的同学,只要能成长、只要平台好,薪资什么的不重要。其实每个阶段都有自己的侧重点,我大概对薪资、平台、成长排了个序(自己的观点)

  1. 1~3年,平台>=成长>薪资
  2. 3~5年,平台>=薪资>=成长
  3. 5~10年,平台=薪资>成长(这个阶段也可叫做规划)

上面是自己不成熟的看法,从自身的一些经验出发的,仅供参考。

准备

这是最辛苦的阶段,你不仅要把日常的工作做好,还要开始着手准备刷题、基础知识准备以及高阶知识的准备,除此之外我还对英语进行了一些准备,由于不管是想去外企、出国以及看英文的文档,英语都是必不可少的,英语在我们的日常生活中也越来越重要,我们要,整个阶段大概持续了4个多月。其实每一次跳槽,都是对这几年工作的一个梳理和总结,虽然大家都明白“面试造火箭、进去拧螺丝”的道理,对于公司而言,这是筛选人才的一个方式,毕竟人是第一生产力,只要有优秀的人才,那么造出的火箭才可能“一飞冲天”。对于个人而言,如果公司里同事优秀的人,那么你肯定也不会差,我们肯定更希望和优秀的人一起共事。

刷题

我的方式还是之前的老套路LeetCode +《剑指offer》,虽然老,但是效果非常不错。这个过程不仅是个脑力活还是体力活,由于不能再公司刷题,我一般的选择方式是在晚上回到家后,由于公司经常加班,我通常到家是10:00-11:00期间,先锻炼半个小时(一会再聊这个事情),然后刷题半个小时到一个小时。当然也可以在上下班的路上抽时间看看题。

  • LeetCode,刷了300+的题,这里的刷并不是指仅仅只刷一遍,我来回刷了四遍,手写了一遍(写了200多道),保证我看到题目或者类似的题目,我能第一时间想出最优的解题思路。
  • 《剑指offer》,这本书真的很棒,总结的很到位,以及每个阶段的思路写的都很详细,我是百看不厌,大概50+题,多看几遍,这能做到举一反三。

基础知识

由于面的Android岗位,需要准备一些Java和Android方面的知识,有很多的文章都会去介绍怎么去复习基础的知识或者进阶知识,或者是阅读一些经典的面试数据,例如任玉刚的《Android开发艺术探索》,都是非常不错的。大家可以根据网上的文章和一些数据梳理一个自己的知识体系,将一个一个知识点形成点再到面,这样能更加深刻的理解,而且有自己的侧重点,我就列举一下我的准备的方向:

简历

简历的重要性就不言而喻了,怎么样写好简历是个技术活,当然如果你有很好的背景(学校或者公司),那么不管你怎么写,基本上都不刷掉你,我们作为一般的人还是需要下一番功夫的。拿我的简历作为例子,大概有以下几个部分:

  1. 个人信息:姓名、出生日期、教育背景、博客地址、github地址、联系方式(手机、邮箱和微信号)
  2. 工作经历:毕业后待过哪些公司,一般是倒序,项目尽量精简明了,可以参考
  3. 专业技能:自己熟悉的一些技能,这个为什么我写到最后,因为对于工作三年的同学来说,面试官更加注重的是你的项目经历,大部分面试都是看你的项目经历来提问。

,这个开源网站不错,教你怎么写简历,而且有一个在线markdown在线网站,可以导出pdf。

英语

其实这个过程对于大部分同学来说是不用准备的,由于我这次想去外企试试,而且,英语在我们的日常生活中也越来越重要,不论是看英文文档、电影、外出旅游,都成为了必不可少的一种技能,所以我在2018年中旬就开始准备学习英语了,我学习英语的方式有下面三种

  1. 薄荷阅读,到写这篇文章为止已经坚持了天,每天10分钟,薄荷阅读一般在下班的路上听读,这个确实不错,而且可以选择适合自己水平的小说,每天就当看小说,这个过程还是很愉悦和放松的(感觉又回到我大学,看玄幻和武侠小说的时候,诛仙、庆余年、雪中悍刀行、将夜以及金庸的小说,鹿鼎记我就看了3遍),目前看了黑骏马、小王子、纳尼亚传奇、傲慢与偏见、真爱至上(遇见你之前)和真实人类(正在读)
  2. 百斩词,坚持了天,每天10-20分钟,在午休的时间。
  3. 流利说,坚持了天,每天30-40分钟,在午休时间(头条是12:00-14:00),由于需要跟读一些文章,一般会找一个小的会议室。

整个过程真的很枯燥,由于目标很模糊,只是学好英文,可以简单对话,但是这个目标太宽泛和不明确,中途好几次想要放弃,但是想了想还是坚持了下来,得出的结论是&

Top