如标题所见,小编现在已经顺利入职字节跳动

小编在编程事业上摸爬滚打8年之久,有在58待过,有在腾讯地方事业部待过。很多人都说先在大厂镀金,再去小公司当老大,但老陈几乎就没有离开过大厂。

身在大厂,扎根大厂

在说字节跳动面试过程之前,先用几句话说一下老陈这几年身在大厂的感受。

为什么叫大厂?就是因为它大呀,有钱呀!


薪资和福利就不用细说了,这原本就是各位朋友想进大厂的根本诱因,大厂雄厚的资金实力,是支付你高额工资的资本,从另一方面来说,它也是开阔你眼界的一个因素。

这里奉劝很多朋友,特别是刚毕业或者刚入行的晚辈,不要因为拿着一个月1W多的工资,就沾沾自喜,不要有太多的优越感,在几十上百亿的资本面前,你这些都很微不足道。进了大厂,你会发现,成长的路有很多,发家致富的路也有很多,你会更知道怎么选择。

在公司制度方面,很多人会说,大厂的制度严格,没有人情味。其实,只有这样,你才能体会到,要想守好自己那一亩三分地(工作内容和岗位)到底有多么不易,你的成长才会是高速的。

总体来说,老陈在大厂的这些年成长很快,还有就是,你进了大厂才会发现,以后在大厂之间跳槽,真的是穿梭自如。(前提是你不要想着天天划水)

细说四面

小编进字节跳动总的来说是进行了一共4轮面试,3轮技术面,1轮HR面,其实这也跟我面试腾讯这些大厂相差无几。


一面

一般是由团队内的资深开发来面的,在团队中俗称“大牛”,而老陈的情况特殊,来的是架构师。

老陈之前做的项目比较多,他就是抓住简历中那些项目来问的,问一些相对比较基础的问题,比如,这个项目开发用到了哪些技术啊?访问量大不大啊?怎么解决承载量啊?等等...

这里还要说到一点的就是项目经验介绍的STAR法则,网上有很多讲STAR法则的文章,但都不够通俗,理解起来也比较晦涩难懂,老陈这里就自己所理解的给大家讲一讲。

STAR法则

无非就是背景,设计,行动,还有结果。


一般面试官在面试我们的时候都会问一个问题,请你挑一个你认为做得好的项目,来给我讲解一下,这个时候,我们一般挑的一个我们最近做过的对我们的这个业务,对我们技术的指标有比较明显提升的一个项目。

第一就是背景。我们在讲解这个项目之前呢,首先要跟面试官去讲解我们为什么要做这个项目,做这个项目的背景是什么。比如说,我们的业务需要去提升用户的留存,然后去提升我们整体的用户体验等等,以及我们的系统在哪里遇到了瓶颈,如果不做可能会对我们的业务产生什么影响。这是我们为什么要去做这个项目。而不要跟面试官聊说,因为公司安排我做这个,我就做这个。

第二就是设计。我们在项目的过程中需要去根据我们业务的特点,我们用户的特点,比如说我们用户的各种特征,来去设计我们的这个项目,然后去达成我们的业务目标,在技术指标上面,我们需要去考虑我们整体系统的访问量,我们的QPS,我们的承载量,我们的这个底级底层存储的容量,以及我们后续未来半年到一年的时间,我们系统容量成长程度是不是需要提前准备扩容等等。

第三就是行动。行动就是在整个项目过程中,我们是如何去推进的,保证我们项目的顺利进行。在这里面是要去体现我们整体的项目管理推动能力,以及我们的解决问题的能力。

最后是我们项目的结果。有很多小伙伴其实对我们项目的结果并不怎么关注,其实这是一个错误的想法,首先我们在跟面试官去讲解我们项目结果的时候,不能以这种比较笼统的概念,比如说,我的这个用户的留存提升了,我的系统响应变快了等等。我们需要给出一些比较具体的指标,比如说,我的这个用户留存从40%提升到了45%,我的系统响应时间从一秒降低到了几百毫秒,以及我的这个系统从原来的稳定性从99.9%提升到了99.99%等等,在这里是要去体现出来我们对于我们整个项目结果的关注度以及我们对于业务的关注度。


二面

来的团队负责人,也就是我现在所在部门的经理。

他主要是问的是业务理解能力、沟通能力相关的,还有考核老陈的成长潜力等等。

这其实就是看看,老陈跟他对不对得上眼,是不是遇到了对的人,哈哈哈...


他还问了一个问题,为什么会从上家公司离职?(以前被HR问到过,在这里被问到老陈是始料未及的)

要知道老陈上一个东家是腾讯啊,老陈这里当然是对字节跳动一顿乱夸啦。呃~字节跳动平台更高,能得到更好的锻炼,更适合长远正向的发展;对贵公司向往已久,一直没有好的技术水准和机会踏入门槛,通过了几年的沉淀,才得以来贵公司共同学习进步...


这马屁拍谁谁不爽?(现在小编的老大都经常拿这件事来调侃老陈)


三面

这里是一个另一条业务线的老大来面试的。
就以往经验来讲,三面一般是其他业务线的交叉面试来进行综合考察,三面的面试官一般会根据一面、二面的面试官填写的面试结果进行深度的技术考核,这里需要我们的技术功底比较扎实。

具体还是会围绕老陈做的项目来问,问一些比较开放性的问题。比如说,这个数据量是如何预估到未来多长时间它的这个数据量突然增长到了几千万、一个亿?你有什么处理方案没有?你的系统突然宕机了,然后你的AOM,CPU过高了,这种情况下你如何去排查?这些都是我们在日常的工作和学习中需要我们积累的技术能力。

具体技术问题有Mysql、Redis、MQ、分布式、Nginx等等,比如说像Mysql的索引、聚簇索引、非聚簇索引、回表查询、MVCC、分布式事务事务等等一些的原理,比如说Redis的主从同步、集群、哨兵等等这一些,MQ的方案选型,还有Nginx的日志如何排查...


四面

最后一轮就是HR面了,这一轮面试薪资福利谈得比较多,老陈是电话面的,有问必答。

要是前三面的面试官都很满意你了,HR是不会太为难你的,经验就是:

态度要诚恳,表达要清晰,表现要谦逊。

说在最后

关于面试题这一块,老陈做了一些归纳和整理,都是很常见的面试题,还有字节跳动面试被问到的面试题。其实,这些面试题都是跟大家项目运用息息相关的,日常积累会比刷题更有效。同时,想要领取这份面试笔记只需要点击传送门 即可!!

  • Java架构成长笔记


  • Redis核心技术笔记(学习总结)


  • Spring全家桶学习笔记(SpringBoot+SpringMVC+SpringCloud+源码等)

  • 其它

  • 看视频学习: