Skip to main content
Photo from external link: https://raw.githubusercontent.com/bjut-swift/swift-image-hosting/main/swift-nest/blog/2025-intern-interview/bjut-intern.jpg

人在工大,想找实习

写于 March 20, 2025 by BJUT SWIFT.

最后更新于 March 20, 2025.

查看变更
25 min read
––– views

Jesse的头像
采访人Jesse· 一个学生
Kelvin的头像
受访者Kelvin· 都柏林 21 届软件工程专业 - 美团后端实习转正

互联网上制造焦虑的不少,但不可否认的是实习经历已成为大学生叩响就业大门的密钥。如何精准挑选实习岗位?大厂与小厂实习孰优孰劣?如何在大学有限的时光中兼顾学业与实践?我们与曾在美团实习、如今转正开启职业生涯的 Kelvin 展开深度对话,探寻答案。从技术栈抉择到简历打磨,从项目积累到职业规划,Kelvin 分享了实战经验与个人见解。无论你是计算机专业的新生,还是即将迈入职场的毕业生,都希望这篇访谈能带给你一些思考和帮助。

避坑指南:实习,不止是廉价劳动力

在谈及公司招聘实习生的真实动机时,Kelvin 提供了一个清晰的分类:实习岗位大致可分为纯粹的"劳动力型"与真正的"培养型"。

"我身边有不少同学去百度这样的大厂做算法标注,岗位名称就直白地写着'数据标注',甚至不需要面试,连一面技术面都没有,打个电话就能入职。这类岗位明显不是为了培养未来的正式员工,而只是需要低成本的人力资源。"Kelvin 直言不讳地指出。

实习应是双赢:学生借此铺路就业,企业以低成本获取人力,有些团队更需新鲜血液,尤其在技术迭代迅猛的领域。

与之相对,有价值的实习会在招聘信息中详述业务内容。“我在美团的首份实习是客服平台相关开发,面试时他们就细致讲解了业务。这类岗位往往能深入核心工作,而非边缘打杂。”Kelvin 说。

Kelvin 还指出,有些团队确实希望通过实习生来注入新鲜的技术理念,尤其是像前端这种变化快的领域:"有时候老员工可能对重构老旧系统不太感兴趣,但这对实习生来说却是很好的学习机会。实习生借此机会熟悉最新技术,可以帮助更新整个技术栈。"

关键点总结

选择实习岗位时,优先考虑那些在招聘描述中详细介绍业务内容的职位,这通常意味着你能接触核心业务;警惕那些不需要技术面试的"数据标注"类纯劳动力岗位,它们对职业发展的帮助有限。

北京工业大学 2025 年春季的一份实习情况不完全统计(欢迎关注工大喵校园社区以获得详细信息)

备注:感谢郭鹏飞、王佳伟、尹一清同学在信息收集环节提供的帮助。

面试反客为主:如何识破"宽泛"的 JD?

在求职过程中,我们经常遇到描述模糊、要求泛泛的职位描述(JD)。这类 JD 通常只列出"熟悉 Python 语言"、"了解某某框架"之类的基础要求,却很少提及具体的项目或业务方向。

"如果他们写得很泛,很可能是因为他们的技术栈太老旧,不敢明说。"Kelvin 给出了一个引人深思的解释。

面试不仅是企业筛选你的舞台,也是你审视企业的窗口。在美团实习面试中,Kelvin 主动挖掘客服平台详情,确认其价值。Kelvin 强调面试是双向选择:"如果发现面试官不愿意详细介绍业务或回答你的问题,这也是一个警示信号,表明该公司可能不太重视实习生的成长。"

关键点总结

面试时主动询问团队技术栈、规模和业务细节。这不仅展示了你的专业性,也帮助你判断这个岗位是否真正适合你的职业发展。记住,面试是双向选择的过程。

大学三年:从"广撒网"到"深耕"

在技术学习的路径上,Kelvin 分享了一个清晰的策略:大一大二广泛尝试各种编程语言,探索学界科研和业界实习的方向,到大三大四则最好专精发展。这种“广度到深度”的过渡对计算机学生至关重要。

"大一和大二的时候,我倾向于学习多种技术栈,因为我觉得这样我能做各种各样的事情。"Kelvin 解释道,"但到了大三大四,我开始专注于某个特定的技术栈,比如我专注于 TypeScript 这门语言。"

学一个东西就等于抛弃另一个东西,我无法同时精通两门语言。如果我决定学习 Java,那我之前学的 Python 可能就需要放下,Python 就会从我的技术栈中慢慢溜走。

这种策略的合理之处在于,技术精通需要持续投入和专注。Kelvin 指出:"在初期阶段,广泛尝试可以帮助你找到自己真正感兴趣的领域;而一旦确定了方向,就需要深入钻研,建立自己的专业优势。"

他还强调了学校课程与自主学习的区别:"课程安排通常是在入学前就确定好的四年计划,但计算机科学,尤其是软件开发,变化非常快。四年时间足以让一门技术从流行变得过时,所以还是要依靠自己去寻找新的学习资源。"

关键点总结

前两年多多试错,后两年深耕一域。这种节奏既不早限视野,又确保毕业时握有专业利器。

实习不怕早:大厂 or 小厂?

许多学生认为大三学期才是开始实习的最佳时机(包括学校也是在大三下暑假安排“工作实习”学分,尽管这与保研夏令营等诸多安排有冲突),但 Kelvin 认为可以更早地开始

"我是在大三下学期实习的,但我觉得完全可以更早一些,比如大二下学期或大三的寒假就可以尝试。"他解释道,"实习主要是工程实践,只要肯努力,没有什么特别的难点。比如后端开发,只要把 Java 的基础知识掌握好,面试并不会太困难。"

"实习阶段其实不必迷信大厂。反而是越大的公司,规则越明确,组织结构越复杂,你能接触到的业务面可能越窄,甚至不知道自己写的代码最终会用在哪个项目中。"

"相比之下,在小型公司实习,一个人可能需要负责多个职能,能接触到更多的技术和业务场景,学习机会反而更多。"不过 Kelvin 也补充道,"但如果是为了之后找工作,大三下学期在大厂的一段实习经历确实很有价值。"

此外,Kelvin 还分享了参加字节跳动青训营的经历:"那是在大二时参加的,我把它当做第一段实习经历。训练营中可以接触到真正的字节员工,和来自全国各地的学生一起完成正式项目,使用正规的开发流程,如分支管理、版本迭代、CI/CD 等,这些都是很宝贵的经验。"

关键点总结

大二下学期就可以尝试实习,不必等到大三下。选择实习单位时,小公司可能提供更广泛的学习机会,而大厂经历则对后期就业更有帮助。企业训练营(如字节青训营)也是积累项目经验的好途径。

告别"打杂":实习生进阶攻略

许多实习生陷入一种被动状态:完成分配的任务,然后等待下一个任务。这种状态下,实习的价值被大大削弱。Kelvin 认为实习生应该采取更主动的学习态度。

实习时不能抱着"给我什么,我完成什么"的任务心态。要有探索精神,了解团队其他成员在做什么,他们的业务是什么,自己与他们的工作有何不同。在空闲时间,要看看整个项目结构,了解代码是如何部署的,整个流水线是怎么运作的。

虽然分配给实习生的任务可能很小,但可学习的东西却很多。"要主动与导师交流,学习整个项目的架构和设计思路,这是学习工程化实践的好机会,因为在学校,甚至在学生社团,都很难接触到工程化完备、规范的项目。"

关于实习合同,Kelvin 提供了一些实用建议:"大多数实习合同会写一年期限,但实际上可以提前结束。不过建议提前一个月告知 leader,这样你负责的业务能有时间交接,显得更专业负责。"

他还特别提到了实习时长:"大多数公司要求至少三个月的实习期,四个月是比较合适的长度。如果只写两个月,基本上等于没怎么学到东西就离开了,对公司和个人都没有太大价值。"

关键点总结

实习期间要主动探索团队的整体业务和技术架构,而不仅限于完成分配的任务。实习最好应至少持续三个月,才能真正融入团队并获得有价值的经验。提前结束实习时,提前一个月通知团队是基本的职业礼仪。

简历制胜:让面试官无法忽视你

一份出色的简历是敲开实习大门的第一步。Kelvin 强调,简历的核心不在于花哨的设计,而在于清晰呈现你的核心能力。

"首先,简历模板要干净整洁,不要太乱,基本信息齐全就好。"他建议,"然后要有明确的侧重点,比如你擅长某一个项目,那就把这个项目写得详细一些。"

Kelvin 提出了一个简历撰写的黄金法则:"简历上写的每一个技术点,自己都必须百分百了解。不要把自己不熟悉或禁不住深入提问的内容写到简历上,因为简历上的任何一点都可能成为面试官深挖的对象。"

在项目描述时,Kelvin 建议遵循一个结构化的叙述方式:为什么要做这个项目(痛点)?用了什么技术栈?过程中遇到了什么难题?如何解决的?最终带来了什么收益?这种逻辑清晰的叙述方式能让面试官更好地了解你的思考过程。

关于项目数量,质量远比数量重要:"面试时间有限,通常只能详细讨论一两个项目。与其列出多个浅尝辄止的项目,不如突出展示几个深入参与的核心项目。"

对于"润色"简历的问题,Kelvin 持谨慎态度:"适当润色是可以的,前提是你真的了解相关内容。比如,你在团队中可能只负责数据标注,但如果你了解清楚了团队的业务、训练方法、数据如何用于模型微调等,那么这些了解到的内容可以写到简历上,即使不是你亲自完成的工作。"

但他也警告说:"如果是完全没接触过的高大上内容,千万不要往上写。面试官很容易识破,因为他们是行业内的专业人士,能快速抓住关键点提问,一旦某个点被击垮,整个面试可能就此结束。"

关键点总结

简历要突出 1-2 个深入的项目,而非多个浅层项目。项目描述应遵循"为什么→如何→难点→解决方案→收益"的结构。只写自己能够深入讨论的内容,宁愿少写也不要冒险写不熟悉的技术点。

新手指南:入门必修课

对于刚刚入门计算机领域的同学,Kelvin 分享了他认为最有价值的学习资源和建议。

首先,他强调了英语的重要性:"英语在计算机领域是最重要的。因为几乎所有计算机知识和信息的源头都是英语,能阅读英语资料是非常关键的能力。"

"其次,要找到自己的学习方法。"Kelvin 解释道,"比如遇到 Python 解释器报错,有几种解决方法:可以直接问 AI 模型,也可以用搜索引擎找到 Stack Overflow 上的答案。要构建起自己解决问题的途径,找到最适合自己的方法。"

对于入门课程,Kelvin 推荐两个资源:

  • MIT 的"The Missing Semester"(丢失的课程):这个课程教授计算机的基本使用技能,如终端命令行操作、Vim 编辑器使用、Shell 脚本编写、Python 数据处理等基础知识。
  • UC Berkeley 的 CS61A/B 课程:Kelvin 推荐 Python 作为入门语言,因为它语法简洁,让初学者能专注于程序逻辑而非语言细节。这些课程不仅教授语法,还讲解如何抽象函数、使用类、应用递归等编程概念。

写代码,尤其是工程实践,本质上是一种熟练工种,是机械化的工作,它不需要太多创造力,关键是熟练——而熟练的唯一途径就是多写。

关键点总结

英语阅读能力是计算机学习的基础。英语奠基、MIT 与 UCB 等优秀基础课程筑底,再选择专业方向。成功的关键是关注技术趋势、完成开始的项目、通过重复训练掌握核心技能。

结语:平衡理论与实践

在访谈的最后,Kelvin 分享了关于课内学习与自主学习平衡的见解,这可能对很多苦于如何分配时间的学生有所启发。

"如果按百分比来算,在我整个学习经历中,课内学习可能只占 20%,而自主学习占了 80%。"Kelvin 表示,"我找到了适合自己的自学方法,通过这套方法理解和吸收知识、进行实践是最快的。相比之下,课内那些读 PPT 的方式对我来说不太适用。"

不过课内学习也相当重要,不能直接放弃:"课内该听还是要听,该考试还是要考。但真正训练编程能力的时间主要在课外。"

关于是否为了实习而旷课的问题,Kelvin 认为这需要对课程有明确判断:"比如线性代数这样的基础课,对我帮助非常大,我一节都没旷过;但像'软件工程导论'这种偏理论的课,可以选择性地旷课。总的来说,基础课程还是很重要的。"

他最后总结道:"要对自己有清晰的认知,然后做出合理安排。即使旷了一些课,也要确保最后能通过考试。实习和学业可以平衡,关键是要有判断力和规划能力。"

关键点总结

自主学习对编程能力提升至关重要,但不能完全忽视课内学习,尤其是基础课程。实习和学业可以并行,关键是要有明确的自我认知和规划能力,合理安排时间和优先级。

访谈中的未尽话题

在访谈尾声,Kelvin 与 Jesse 对一些“题外话题”进行了讨论:

提问的技巧

Jesse: “我觉得‘提问的能力’相当重要而又容易被忽视,比如有人的代码出了 bug,向别人提问时连截图都不知道该给什么,更不用说提供日志等相关信息,你怎么看?”
Kelvin: “大一读过一篇教提问的文章,很有用。很多人描述不清,解决问题的第一步就卡住。我的方法是通过 Stack Overflow 搜索,或直接问 AI,像 Andrej Karpathy 分享的那种思路。接触优质工具和社区,自然会理清思路。”

付费实习的内幕

Jesse: “留学圈和中介很喜欢“几科研几实习”的说法,有些机构还配备付费实习服务,比如某东实习一段 3 万,还有公司推人付费入职,这个捷径能走吗?”
Kelvin: “花钱买实习 title,技术岗基本没戏。中介靠这个赚钱,国外学校也未必认账。其实只要肯学点真本事,就根本不用走这种有风险的路。”

证书的实际作用

Jesse: “软考、华为证书,或者微软的免费证书,对就业有帮助吗?”
Kelvin: “互联网私企很少看软考,央企国企可能有些用。免费证书像 AWS,招聘认可度低,但学习时能实操云服务器,还算有回报。新手先抓英语和自学,证书不急。”

“另类”的实习

Jesse: “除了字节青训营,开源之夏这种活动怎么样?”
Kelvin: “青训营是大二的起点,用正规流程做了项目,还拿了奖,面试时常被问到。开源之夏更进一步,直接负责功能实现,含金量很高。这种经历值得争取。”

AI 工具的选择

Jesse: “现在 AI 模型和工具都不少,你怎么挑?”
Kelvin: “没用过顶尖的,就感觉不到差别。Claude 3.5/3.7 以及 Cursor 虽有门槛,但效果远超一般工具。就算只是切换到 DeepSeek 也能更快解决问题,多尝试高效工具会省不少力。”

Jesse: “这么说包括一些学习平台、技术论坛也是,你见过太阳就很难愿意回到阴暗的地方。”
Kelvin: “是的,YouTube 和 B 站上的优质资源就很多,当然也需要学习者自己分辨其质量和对自己实质性的帮助程度,此外工具和教程不是学得越多越好,可以去了解一下「教程地狱」这个概念。”

开源社区的参与

Jesse: “开源项目好上手吗?”
Kelvin: “不一定难。比如我为校内社团做过小程序,放到了 GitHub 上,这在面试时很有说服力。参与社区、提交 PR,能学技术也能拓展视野。所以很推荐参与到 BJUT-SWIFT 这样的团队环境中,多接触真实世界的需求,从小项目入手,逐步就能接触更大规模的开发。 ”


Jesse: “最后,给其它同学的三句建议?”
Kelvin: “第一,多关注社区新闻,跟上技术变化。第二,项目尽量做到可展示,别半途而废。第三,反复练习核心技能,像快排这样,熟练最关键。”

复制文章链接

喜欢这篇文章吗?

订阅 RSS 源,及时获取最新文章更新。不错过任何一篇技术分享 😉

订阅 RSS