Backend

by Yingxi Chen

有问题请联系v: cyxwechatid

这里主要讲后端实习。

简历准备

可以用超级简历或者LaTex去生成,注意一定要找简洁的模版,控制在一页纸,突出自己的优势。可以放GitHub链接,描述做过的project和掌握的skill(注意要和投递的岗位相关)。投外企简历上不要放照片。

我们学校的学历在国内互联网一般是能过简历关的,我大二面过快手,滴滴,京东,Microsoft (Explore),大三面过字节,Amazon (Summer Intern),Microsoft (Summer Intern),Google (Summer Intern) (国内Google面试非常难拿,我能拿纯属运气),所以一般是不会被卡简历关的。当然这个跟毕业时间也是有关系的,一般大厂都只招大三的暑期实习生。Microsoft Explore和Google Step是大二的项目(研究生同理,只看毕业时间),不过这种低年级项目招人比较少,还是挺难的。

然后说下内推。个人认为内推码那种毫无用处(仅凭我浅薄的认知),不会影响什么,所以有没有都无所谓。简历关能不能过跟内推没啥关系。

有一个很重要的点,实习尽量早投,早投是很有优势的,不要因为觉得自己还没准备好就不投(虽然我经常这样想🥲)。

笔试

一般日常实习是没有笔试的,暑期实习是有的。笔试就是做几道算法题,做不出来全部的题也问题不大,还是有概率拿到面试的。

面试

被面试官鸽了很正常,可以联系HR,不要慌。

面试过程中会考察对于计算机基础知识的理解(俗称八股文),数据库,操作系统,计算机网络等等都是有可能涉及到的。这里放一点高频题例子,牛客上这些都会比较多,可以去上面看面经。

  1. HashMap 底层实现原理,put操作

  2. MySQL索引 InnoDB 主键索引,非主键索引,B+ tree

  3. 锁(行锁,表锁,gap lock)

一般来说问完这些问题会让你做题,SQL题和算法题都会有。刷题的网站有Leetcode,牛客,codetop等。

SQL题不会太为难你,掌握基本的语法就可以了,牛客上可以刷SQL题,面试前一天多刷一点。

个人觉得算法题还是挺看运气的,出题的难度大概在medium,如果遇到不会做的题可以先尝试和面试官沟通,看看能不能给点提示之类的,他也有可能也会引导你。如果会做的话,首先要和面试官交流思路,看看是不是正确的并且是最优的,沟通好了之后再开始写代码。这里的沟通是很重要的,第一可以让面试官了解你的思路和解法,第二可以让他觉得你是一个善于表达的人,对于面试结果会有positive的作用。做完之后向面试官解释一下你的代码逻辑就可以了,尽量避免在corner case上的错误。

做完题之后很大可能会有follow-up,你需要顺着面试官的思路走,这个回答不出来的话影响应该不会太大。

整个面试最重要的就是算法题,做不出来90%挂,做出来85%过。

Conclusion

总之,我个人认为,找实习运气占很大的成分,每个面试官都是不一样的,如果他和你很聊得来并且你们的知识体系差不多,我觉得这样过的概率就很大。算法题会不会做也有很大运气的成分,除非你的能力很强,基本没有不会的题。

最后呢除了你自身的表现和实力,也要看别的candidate的面试情况,横向比较还是挺常见的。即使你觉得你发挥的很好,但如果headcount有限,就很可能会被淘汰。

这里祝大家找实习都好运!!

Last updated