
如何准备第一段开发岗实习
作者:扎西拉姆Furry for 22级无实验室经历的软工同学 and 23级同学
今天主要给大家带来:
技术岗实习与找工作的时间线节奏
简历的最基本的编写
一些就业形势的一线信息,以便大家更好的对未来进行规划。
面向年级大会的讲稿
22级软件工程学生
23年6月 - 决定就业
23年3月~12月 - 于校内科技商学实验室为独奢APP做后端开发
23年9月 - 加入WeRun实验室后端,24年2月任后端主席,承担实验室数个项目开发;
24年7月~8月 - 在北京纷享销客CRM做Java开发实习生
时间线
大一大二
学习技术,积累项目,提高广度,增长视野
大三寒假 2024.12 ~ 2025.2 日常实习
24年9、10月准备;11月投简历面试;12月到岗
目的:刷简历,了解工作环境
要求较低,面试流程简单
由于时间不长,实习内容会比较简单,一般不会分配太核心的内容
一般不提供转正,对绩效没什么要求,由我们决定何时到岗何时离职
大三暑假 2025.6 ~ 2025.9 暑期实习
寒假准备;3、4月投简历面试;6、7月到岗
对技术有要求;大厂会有多轮面试(算法面、技术一二面、HR面)
一般有转正机会。视公司情况,25年9、10月份可能有转正答辩,对绩效会有要求,若转正成功就可以直接拿offer 大四下学期美美躺平
大四秋季 2025.8~2025.10 秋招
若没有暑期实习或不想再实习企业转正,就需要准备秋招了。
关于简历
如何编写第一份就业向开发岗简历
这是大家目前都能写出来的一份简历(恒则成Web应用开发技术的要求):
个人简介
姓名、电话、邮箱
个人网站、个人Github 有就写
政治面貌 共青团员/预备党员/中共党员 投国企可以写
女生可以放照片,男生不想放就算了。
教育背景
院校、时间、专业、学位
成绩、排名50%以内可以写。
可以不加威海。
有非常大奖项 / 职务 / 或者可以证明自己能力的也可以写。如学生会主席、实验室主席、大型社团社长
专业技能
这里写你所会的编程语言、开发框架、技术栈,展现你的基础水平。
面试官会根据这些内容来对你的基础知识进行提问。
掌握程度有三种:
熟悉:你确保面试官99%不会问住你的知识点。需要你非常熟练,背好相关八股,是凭这份东西找工作的饭碗。比如后端的Java、MySQL,前端的HTML、CSS、JavaScript
了解:你用过这项技术栈开发过项目,知道它的应用场景,但是没有深入用过原理。如协作开发的Git,或者RocketMQ等
不写:你听说过这个技术栈,知道它大概是做什么的,但是自己没接触过也没用过。
每项技术栈要说到具体掌握到什么程度,引导面试官进行提问。(如C语言的指针、C++ 的类与对象、Java的JUC);如果不说具体掌握到什么程度,要么认为你都会,要么认为你都不会。
与实习岗位专业对口的技能要优先写,弱相关的不写或者一笔带过。(后端开发岗写Vue,Java开发岗写Go)
项目经历
如果你没有实习,那么它就是整个简历里最最重要的部分。
一般会有一个主项目、一个副项目。
名称、职责、时间、技术栈
项目介绍:项目的业务说明。尤其是一些toB项目更要描述清楚。
工作内容:用了XX技术实现了XX模块,解决了XX问题。
注意:面试官通常会根据你的工作内容继续深入提问,比如
为什么选择了XX技术?这个问题为什么不能用别的实现方式?
谈谈你对XX技术的理解。
直接提问XX技术相关的八股
另外,工作内容可以视情况进行包装,比如实际接触的项目没用这个技术栈,但是只要你能说清楚,你就可以把这个技术栈写进去。
其它要点
个人简介之下,越亮点的东西越靠前(如院校、含金量高的奖项、实习经历);一般般的都靠后即可。
个人认为校园经历(班委学生会社团实践队)、自我评价、无关奖项、含金量不高的东西统统不写。
用PDF,排版工整美观,我们的经历摆在一页纸即可,不是越多越好。
上面我所说的是作为一份找工作简历的最最基本的要求。
24年秋招简历形势
以Java后端为例,针对秋招,这是我在牛客上找到的比较有代表性的、最大众类型的简历:
会发现大家已经把项目经历的广度卷到头了!
就算是学校里最好的资源也接触不到这些,但是这确实已经是秋招求职的人均水平了。
面试官是如何筛简历的呢?
看标题 只考虑应届生 想招25届的实习生,26届的不会点开
看简历是否符合最最基本的格式:院校、项目or实习经历、专业技能;没用的的略写或者别写,别太离谱
看有无实习经历,看实习经历的含金量。
看项目的含金量,是不是烂大街的项目?是不是已经上线的项目?是不是实际已经应用的项目?简历里的描述是否能体现自己对自己负责模块的技术和业务的理解?
看院校,面试官其实不是很懂院校的层次,北京邮电大学是985还是211?(但是面试官一定知道哈工大,否则这企业不去也罢)
12个简历会被筛到3~4个进入面试。
第一段实习如何准备
八股、项目、算法。
参考牛客上简历,院校、项目or实习经历、专业技能
第一段实习烂大街的项目也可以(苍穹外卖 黑马点评?),更重要的是体现能力和基础知识,以及基础知识在各种场景下的应用。
简历尽早准备,现在大家都做过Web应用开发,也做过大连实训,实在不行这些项目就可以写了。以便后续随时投递简历与优化。
不用面面俱到,找到一种一个方向进行钻研,并结合实际业务找到亮点,一来让自己找到自信,二来可以让面试官有东西可以聊。
后端Java开发的话,最重要的八股:Java(基础、JUC)、MySQL(事务、MVCC、索引)、Redis、RocketMQ;这四个远远大于其它!!!
其它的一些信息
能实习赶紧快出去实习!第一段实习如果可以去大厂也可以去,去中小厂的话也可以看看他们做什么业务。
开发的体验?城市选择?周围组里同事氛围与工作强度?公司业务流程?如何与HR对线?
注意与学校内软件开发的实习项目区分!!!项目流程是否规范?需求是否合理?是否有学长兜底?有无工作经验的导师?
尽早准备简历,多问问拿offer的同学优化,随时准备投递。
哈工大本科在学历上有绝对优势,投日常实习的简历上可以不写威海。
现在面对所有简历的项目都是各种中间件的堆叠,面试官更倾向于直接问你简历上会的东西。把你的业务、项目说清楚,自己做的业务特色细节展示给面试官看,可以赢过60%的人。
项目经历可以不写所有的模块,写某一部分模块的了解,将一个模块吃透。可以看自己之后想走的业务匹配,考虑业务匹配度(比如支付、银行)
已经上线的项目,面试官会点进去看。
虽然说实习质量很重要,但是速度先拿到第一段正经的实习还是最重要的,第一段实习不需要有太多offer选择的考虑,有就去。
有实验室项目负责人经历的可以写上去,把你在负责沟通、任务分配、纳新、培养等等细节上的任务准备好、写上去。
准备一个简历提纲,比如自我介绍、项目技术栈的介绍,针对面试官怎么提问题进行如何的回答。
学习路线 https://www.r2coding.com/
没有消极信息,没有错字,包括技术栈单词别打错!!
人岗匹配问题 后端开发偏向语言无关 Java开发的一般可以去做Golang;但是后端开发投不了前端,产品也投不了开发,开发也投不了测试
面试 技术岗一般没有 无领导小组讨论;但是会有类似的HR面、线上综合测评
面试服装不是很重要;但是面试基本礼仪要有,谁也不想要一个木头
笔试面试后记得做一个复盘 zhuanlan.zhihu.com
其他学长的就业经验分享
前端20级找工经验分享,我发现和本文形成完美互补关系 分享
后端21级找工经验分享 https://pd.qq.com/s/1vx6v8dqr
面向实验室的讲稿
在年级大会的讲稿之上,面向WeRun实验室后端内部同学,结合王梓学长的讲稿,进行进一步补充。
21级王梓主席讲稿:
暂时无法在飞书文档外展示此内容
关于简历进阶
老生常谈,简历上大家会写院校、项目、实习、技能等模块,这里我会针对Java开发把这四个模块进行进一步细化。
院校
面试官第一步筛简历的时候,一般会筛出三分之一左右的同学进入面试,优先应届生,更晚毕业的不考虑。
投纷享销客的,本科硕士都有,基本分布于强双非~211 偶尔几个末流985。不过不会因为你是硕士会特别高看你。我mentor甚至查北邮是211还是985,因此院校层次过关即可。不过随着形势越来越卷,在其它同等条件下还是让学历更高的同学进入面试。
结论:哈工大本科有绝对优势,应届生绝对优势,最好不要gap
项目&实习
80%的人就是烂大街项目堆叠(如商城系统、评论系统、博客系统、外卖系统),以及堆叠的springboot springcloud redis mq jwt mybatis xxljob,........包括docker、es也不会成为加分项,面试官已经审美疲劳了
如果说你简历上的两个项目都是如此的业务项目,那么其实不会成为加分项了。
什么是加分项?
对自己负责的项目,把自己负责的技术 或 业务描述清楚。
不写所有的模块,写某一部分模块的了解,将一个模块吃透。可以看自己之后想走的业务匹配,考虑业务匹配度(比如支付、银行)
已经上线的项目,面试官会点进去看。
相比技术栈全面的项目,更喜欢你在某一个地方负责了一个深入的模块,可以在技术上深入,也可以在业务上深入。在业务上深入,比如说需求拆解、前后端对接沟通、各种测试,等等各种细节的收获;技术上深入的话,比如说你用了某个具体的juc类解决了什么问题,qps从多少提高到多少,这个一般只有真的做了这个项目的才知道,可以在简历上描述的非常具体。
常规业务项目怎么写
首先,将项目部署上线,把网址贴到简历里,并且在线上给出示例账号密码,可以让面试官点进去进行操作。
第一项技术:写这个项目自己认为最亮点的地方,比如 OAuth2 / RBAC / 各种比较新奇的东西。做好90%的可能不被面试官问到的准备,但是如果正好卡中面试官喜欢或者比较懂的领域就可以中奖。
第二点、第三点写中间件Redis、RocketMQ的应用。这里一定要与有亮点的业务进行结合,从并发量、数据一致性等方面进行切入,但是要保证要么结合业务理解的特别深(没有这个会怎样?为什么不用别的?),要么是八股背的特别明晰。
Redis:多级缓存、分布式Session、分布式锁……
RocketMQ:……
同一个技术栈不要用三四行反复说,面试官会认为你在填充简历。
或者说,为什么要选Redis?你的项目并发情况如何?
关于面试
八股
Java基础、JUC、JVM
MySQL(索引、事务)
Redis
RocketMQ (没学过消息队列的就学这个,不用看RabbitMQ和Kafka)
每个八股举一个合理的场景,会有非常大的加分项。
其他的比如操作系统、设计模式、Spring、RPC、ORM、微服务组件、Docker等等,一般不会单独做八股单独问。
不过值得注意的是,现在问八股一般不会是背什么考什么,不会问现成的。
比如数据库索引底层大家都知道是B+树。不过面试官就会问 比如一个数据库表中,有一个普通索引,一个联合索引,问这个B+树是什么样子的,描述一下?
场景举例
这里举一个并发编程死锁的例子:
比如我们要做一个库存仓储系统,由于货物数据量非常大,我们需要分库分表。如库存会分为区域库存和库位库存。
两种库存的业务理解
很显然,我们对这两种库存进行更新操作时,一定会出现数据一致性问题。
如果我们进行其中一个事务:
先将库位库存1 减一
后将区域库存1 减一。
再启动另一个事务:
先将区域库存1 减一
后将库位库存1 减一。
若两个事务同时进行完第一步,再进行第二步的时候就会发生死锁。
这种场景会给我们哪些启发呢?
多种数据的处理一定要保证顺序一致性,即可以全部先更新库位库存再更新区域库存。
可以尝试对比MySQL死锁和Java死锁的区别。(MySQL死锁会放弃掉一个事务自动回滚)
项目
项目的话,以前可能说会挑候选人不会的去问,现在已经转变策略,直接问候选人最会的东西。
一般来说50分钟面试时间,其实一两个技术/业务点就可以讲二三十分钟了。
结论
哈工大本科有绝对优势,应届生有绝对优势,最好不要有Gap
实验室经历与真实业务项目是大加分项,可以在简历上写一些业务。面试的时候有些重业务的面试官喜欢问,说清楚即可。
技术上的难题解决可以写的具体一些,展现完备的解决问题能力。这个要比猛堆技术栈强很多。
学习路线上,若准备面试可以优先学习MySQL、Redis、RocketMQ、JUC。
找一个自己最熟悉最擅长的业务/技术做下去,就奔着让面试官没有办法拷打自己的方向做,面试的时候说清楚说明白