实习经验分享
以下内容可能会包含个人观点,大家可以选择性地了解,以个人选择和实际情况为主。
有哪些去向?
首先,实习分为暑期实习和日常实习。暑期实习通常会与转正(即在考核后拿到正式 offer)挂钩,培养更加体系化,相当于校招的后备军。而日常实习的工作相对偏执行类,整个实习的体系化更弱。因此,对于即将毕业的同学,暑期实习相对日常实习而言可能会有更多收获和价值,应当作为首要考虑。而对于距毕业时间较久的同学可以先用日常实习试试手,熟悉面试流程、工作环境以及增加实习经历。
暑期实习一般在 2月- 5月开始投递简历,6 月之后陆续入职,大概持续 3 - 6 个月,且经常限制投递人需为次年毕业的学生。但是暑期实习的岗位丰富,hc(招聘人数,下同)很多。而日常实习的时间基本全年均有,但岗位也很多变,hc 较少。暑期实习的 hc 一般在招聘开始前就会敲定,因此建议提前充分准备,这样可以在招聘开始时即投递,hc 比较充足。如果到后期再投递,可能因为心仪的岗位没有 hc 了而被秒挂,十分遗憾。
一些公司可能会用 转正实习、ByteIntern(字节的暑期实习)等字眼来描述暑期实习,可以在网上提前了解。
其次,实习的公司规模大概分为大厂、中小厂、国企等,类型大概有互联网、金融等。许多同学可能会首选互联网大厂,这也是我个人在找实习过程中的主要方向,因此对这方面相对更了解一些。互联网大厂中,大多都有对应的暑期实习和日常实习招聘,一般认为有:
- ATMD:阿里巴巴及蚂蚁集团(包括阿里云、淘天集团、蚂蚁等,这几个招聘是独立的)、腾讯、美团、抖音(即字节跳动)
- 拼多多、快手、网易
- 京东、华为、小米、百度
一般来说,头部大厂竞争较大,但收获和福利也较为可观;其余的大厂和中小厂相对而言竞争较小,因此成功率可能更高。不同的同学可以作不同的打算,可以采取海投 or 一发入魂等不同战略,或将自己最想去的公司留到最后面试等等。
本人的暑期实习 Offer

时间线是怎样的?
一般来说,从零开始准备实习到最终入职大概需要有以下流程。下面的时间线以暑期实习为例,日常实习可以参考。
- 投递前(2-3月之前):确定岗位、学习面经、准备简历、选择公司、制定投递计划等
- 投递后(整个流程大概持续半个月以上):简历评审(screening)、笔试、1-3面(指 1 面、2 面和 3 面,其中有些厂家可能只有两次面试,有的可能会继续加 4 面等等)、hr 面、hr 沟通(oc,指 offer call,一般接了这个电话就稳了)、offer 意向书、入职前准备、入职
投递前的内容之后会在后面的板块说明,下面着重介绍投递后的时间线。一般来说,从简历评审到 offer 意向之间的环节都可以挂人(指企业终止投递流程)。
简历评审主要是筛简历看简历,挂的话可能需要再丰富一下简历、调整一下格式,还可以找内推学长帮看简历;笔试挂了的话多刷薄弱环节的题;1-3 面挂了的话要看情况分析:是算法题没手撕出来?还是八股不熟练打磕巴?还是项目没吃透?可以着重加强相应板块;到 hr 面这一步就基本成功一大半了,一般不会挂,记得在 hr 面前表现出很想去那边实习 + 乐观向上自信等等特质;到 hr 沟通的话基本上就稳了,主要是谈薪资和 base(即之后去工作的城市),表现同 hr 面即可。
这当中每个环节的间隔大概不会超过两周,其中 1-3 面和 hr 面都会提前打电话/e-mail 以沟通合适的时间。
切记,胜败乃兵家常事,因此不能因为一次被挂而怀疑自己的能力(有时候甚至会莫名其妙被挂),而是应当吸取经验再战。说不定换一家就一发入魂了/被其他部门捞起来了/打赢复活赛了呢......
如果你认识内推的学长/学姐,请尽量通过内推渠道投递。这样的话可以实时协助推进进度(说不定还会抵消一次笔试)。但注意,内推并不是“走关系”,能否顺利拿到 offer 还是要看笔试/面试的表现。
当然,如果没有认识的内推人或者没有心仪的内推岗位,那就只能去官网投递了。
技术岗面试需要准备哪些内容?
技术岗,通常就是指要写代码的岗位。对于非技术岗的面试本人不太了解,因此没有涉及。
面试作为流程中所占时间最长的一部分,其地位也十分关键,几乎左右了整个流程的成败。但其实技术岗面试主要就是这几个部分:手撕算法+简历项目+岗位对应的八股+其他开放性问题。技术岗中不同的岗位具体内容会有差别,但涉及的部分大致相同。
手撕算法,就是通过一个共享编辑器,完成面试官出的算法题。面试官会观察你写代码的过程,在你完成后让你解释代码的思路,甚至可能会在你实现的过程中添加/变更需求。一般而言,需要实现的算法大概会在 100 行以内,且不会特别复杂(太多太难面试官也看不过来),通常是一些经典的算法题 + 对应岗位的题目(例如后端就可能比较喜欢考树,前端可能就比较喜欢考 Promise)。
这一环节,如果不是竞赛选手,需要在 LeetCode 刷大量的相关题目(至少把 100 题刷了),否则在实际面试的紧张环境下,很容易卡壳。此外,有些面试是先手撕,然后问八股;那如果撕不出来,第一印象就比较差,后面可能就随便问问八股然后就告诉你回去等通知了。
简历项目,就是对简历中提及的项目或技术栈展开询问,考察面试者是否对项目及其相关技术栈有所了解。因此,对简历上涉及的项目及相关技术栈必须了解的非常细致,这样才不会在面试中被问住,同时还可以引导面试官多问项目相关的问题(而不是随机的八股问题)。项目主要可以从几个方面考虑:课程项目、学习网站上的项目、大创项目、比赛项目等等。项目的数量一般三个即可,可以这样选择组织:一个与投递岗位相关的项目、一个与底层原理相关(如网络协议栈/编译原理/数据库等)的项目,还有一个能体现出创新性的项目(LLM等)。这样既可以体现出与岗位的适配度,也可以体现出对底层的了解和思维的创新性。
岗位对应的八股,就是根据岗位相关领域的核心知识集锦,也是常考部分。面试官会抛出一个与投递岗位相关的技术问题,然后你需要在短时间思考、组织、回答这个问题。一般来说,前端/后端/算法等岗位都有相应的网站可以学习(背诵)相关的八股,后面也会分享一部分学习资料。对八股大概熟悉到提到某个问题能够很快地联想到相关知识点,然后用自己的语言讲述出来即可。只需对关键的事实进行记忆即可。
其他开放性问题,主要就是很难提前准备,需要临场发挥的问题。而这一类问题通常也没有十分标准的答案,很可能是面试官一时兴起所产生的,或自己工作中遇到的一些思考和问题。一类开放性问题是面试官提出一种场景(这也通常与投递岗位相关),然后需要你快速理解这一场景,并给出解决方案。另一类开放性问题就是问一些类似脑筋急转弯的问题,或对某某技术的看法等。这一类开放性问题可能与岗位相关性不大,但也可以体现思维能力和判断能力。
除了这些之外,面试官还有可能跟你聊聊天,问问在学校是如何学习的某些知识的,喜欢看哪些技术书籍等等。这些问题也可以根据个人情况提前准备一下。
学习资料?
后端八股
主要会考察:Java 基础、数据结构、Spring Boot、计网、操作系统(OS)、数据库(DB)
面经网站:
有时间还可以看看技术文档和源码
前端八股
主要会考察:HTML/CSS/JavaScript、计网、ES6、Vue/React、Webpack 等打包工具、TypeScript(不是很常考)
面经网站:
- https://vue3js.cn/interview/
- https://xiaolincoding.com(主要看计网)
- https://febook.hzfe.org/awesome-interview/(模拟题)
还有语言类:
- https://wangdoc.com/es6/(ES6)
- https://zh.javascript.info/getting-started(JS)
- https://typescript.p6p.net(TS)
CSS 和 HTML 可以去 MDN 文档学。
信息类
- 牛客网 https://www.nowcoder.com,是面经、模拟题、笔试的一站式平台,可以多去逛逛
- 小红书,信息更新快,但细节可能不会太多
祝愿
祝大家在求职的路上一路顺风,预祝大家拿到心仪的 Offer !!