---
description: by Yingxi Chen
---

# Backend

有问题请联系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有限，就很可能会被淘汰。

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