作者:扎西拉姆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后端为例,针对秋招,这是我在牛客上找到的比较有代表性的、最大众类型的简历:

会发现大家已经把项目经历的广度卷到头了!

就算是学校里最好的资源也接触不到这些,但是这确实已经是秋招求职的人均水平了。

面试官是如何筛简历的呢?

  1. 看标题 只考虑应届生 想招25届的实习生,26届的不会点开

  2. 看简历是否符合最最基本的格式:院校、项目or实习经历、专业技能;没用的的略写或者别写,别太离谱

  3. 看有无实习经历,看实习经历的含金量。

  4. 看项目的含金量,是不是烂大街的项目?是不是已经上线的项目?是不是实际已经应用的项目?简历里的描述是否能体现自己对自己负责模块的技术和业务的理解

  5. 看院校,面试官其实不是很懂院校的层次,北京邮电大学是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 减一

  2. 后将区域库存1 减一。

再启动另一个事务:

  1. 先将区域库存1 减一

  2. 后将库位库存1 减一。

若两个事务同时进行完第一步,再进行第二步的时候就会发生死锁

这种场景会给我们哪些启发呢?

  • 多种数据的处理一定要保证顺序一致性,即可以全部先更新库位库存再更新区域库存。

  • 可以尝试对比MySQL死锁和Java死锁的区别。(MySQL死锁会放弃掉一个事务自动回滚)

项目

项目的话,以前可能说会挑候选人不会的去问,现在已经转变策略,直接问候选人最会的东西。

一般来说50分钟面试时间,其实一两个技术/业务点就可以讲二三十分钟了。

结论

  1. 哈工大本科有绝对优势,应届生有绝对优势,最好不要有Gap

  2. 实验室经历与真实业务项目是大加分项,可以在简历上写一些业务。面试的时候有些重业务的面试官喜欢问,说清楚即可。

  3. 技术上的难题解决可以写的具体一些,展现完备的解决问题能力。这个要比猛堆技术栈强很多。

  4. 学习路线上,若准备面试可以优先学习MySQL、Redis、RocketMQ、JUC。

  5. 找一个自己最熟悉最擅长的业务/技术做下去,就奔着让面试官没有办法拷打自己的方向做,面试的时候说清楚说明白