基本写法
更新: 8/1/2025 字数: 0 字 时长: 0 分钟
写在前面
简历有多重要?
简历是一个人求职的门面,也是整个求职过程中的第一步。如果简历不过关的话,后面的笔试、面试可能连机会都没有!
好的简历不仅能帮助你拿到面试机会,增加面试官的好感度。还能通过适当的内容引导来帮助你在面试中 出奇制胜。
什么时候准备简历?
千万不要等到找工作前才开始准备简历!真正好的简历不是一两天就能包装出来的,而是通过个人长期以来的积累、不断发掘并改进自己的不足、经过了多个版本的持续优化后才凝练而成的。
在你学完基础的开发技能,比如开发框架(前端 Vue
、后端 SpringBoot
等),并且能够独立运用所学技术来完成一个属于自己的项目之后,就可以开始准备简历了。一般是学编程 6 个月到 1 年左右就可以开始准备了,写简历的过程也是帮助自己对当前的状态和学习进度、不足有个清醒的认识。
正所谓有积累,才能锋芒毕露。
如果你现在不想准备简历也没关系。很多公司会在 8 月份正式开启秋招(提前批),所以大家在 6 - 7 月份的时候准备好简历就没问题;很多大厂会在 2 - 3 月份开启春招(提前批),所以大家参加春招的话尽量在 2 月份准备好简历。
简历文件
简历模板
一份优秀的简历必须在外观和内容上都很出色,做到秀外慧中。所以,挑选一个好的简历模板是至关重要的!
网上有大把大把的简历模板、还有什么几百套简历大全之类的,让人眼花缭乱。
其实完全没有必要在简历模板上纠结!
只要保证简历结构是从上到下、布局清晰、排版整齐、简洁干净就好。
简历制作
网上有很多简历制作工具,能够快速生成精美整洁的简历。
文件命名
命名没有绝对的规范,但是要仔细查看岗位描述是否有文件名规则的要求。
如果没有要求的话,可以用:求职岗位 + 个人姓名 + 求职类别(实习生还是正式员工).pdf
千万别用什么特殊符号啊、一大串数字之类的无意义内容!
文件格式
注意:简历文件格式一定要用
Word
!因为使用Word
可能会出现预期之外的排版错乱,这个影响是致命的。
建议同时提供 PDF
、Word
两种格式的文件,以及在线的简历链接,便于对方选择。
简历内容
整体
一份完整的程序员简历包含个人信息、教育背景、专业技能、荣誉奖项、工作经历、项目经历、科研经历、校园经历、个人优势等内容。
其中,个人信息、教育背景、专业技能、项目经历是必须具备的!
一般校招简历以一页纸为最佳(工作 3 年以上经历非常丰富、或者求职等级较高除外),因此要合理分配各部分内容占用的篇幅,推荐的占比如下:
- 个人信息
5 ~ 10%
- 教育背景
10 ~ 15%
- 专业技能
20 ~ 30%
- 项目经历
30 ~ 50%
(工作 / 校园 / 科研等经历也算在内),对大多数同学来说,这部分是核心! - 其他内容
0 ~ 20%
(比如奖项、个人优势等)
问:简历最好一页么?
答:简历最好一页指的是“少一些废话,用心凝炼内容”,证面试官有耐心看下去,而不是强制一页。只是希望大家在简历上突出重点、惜字如金,而不是像记流水账一样什么都写。如果你能写的内容就是很多的(比如冲击大厂、工作 3 年以上、求职等级较高),那么一页纸以上完全没问题。
只要做到把你最大的优势、你认为含金量最高的项目都放到第一页就行,第二页可以当做补充。就跟短视频一样,开头能吸引住人,用户可能就点赞三连了;如果开头是废话,用户直接划走,哪怕后面是干货可能也看不到了。
个人信息
基本信息必须要 填写完整,这是对另一方最基本的尊重。包括以下信息(加粗为必填项):
- 姓名
- 性别
- 求职意向
- 年龄
- 身份:大几学生、几年工作经验等
- 联系方式:手机号、邮箱、微信、QQ 号(以公司岗位描述要求为主)
- 照片(建议放)
- 其他链接:个人博客、作品集、亮眼作品等
技巧:
- 个人信息占用的篇幅不用过多,一行可以同时写多个信息,保证间距合理即可。
- 照片要清晰端正,蓝底 / 白底 / 红底都可以,最好表情自然、面带微笑。尽量穿白衬衫或者正装
- 没有特殊要求的情况下,不建议写期望薪资!一方面是大公司的薪资还算公开透明,没必要写;另一方面是防止你的表现超出了预期时,被人按照你的预期薪资来砍价。当然,除非你把预期写的很高,说不定能过滤一些公司、猎头的打扰。
- 如果有个人网站、个人博客、代码仓库的话,建议补充上相关链接
教育背景
如实 写明即可,包括以下信息:
- 学校
- 专业
- 年级
- 入校时间 ~ 毕业时间
- 排名(建议排名高于前 20% 的同学才写)
- 主修课程(建议非计算机相关专业的同学适当列举,优先列举和求职岗位相关的、分数较高的课)
- 其他信息:如 CET 证书、计算机专业相关证书等
技巧:
- 学历一般不建议造假!意义不大
- 如果有得分较高的(比如 90 分以上)、和岗位相关的课程,可以在课程名后用括号补充分数。
专业技能
同义词:个人技能、技术栈、技能清单
这部分是简历的核心之一,列举自己掌握的、熟悉的、用过的、学过的、甚至仅了解过的各种技术或技能。
技巧:
写你会的技术栈时,不要用老长一句话、像报菜名似的列举技术名词。可以采用列表的形式把每一个技术单独写清楚,会更直观清晰。
- ❌ 不推荐:把各种不相关的技术用一句话讲完
- 能够熟练使用
springcloud
微服务框架及mysql
、redis
、hbase
、mongodb
等数据库及kafka
、rabbitmq
等消息中间件及netty
等网络框架、前端HTML
/CSS
/JavaScript
的使用。
- 能够熟练使用
- ✔️ 推荐:改为列表,同一类技术写在同一行
- 熟练使用
springcloud
微服务全家桶 - 熟练使用
mysql
、redis
、hbase
、mongodb
等数据库和大数据中间件 - 熟练使用
kafka
、rabbitmq
等消息中间件 - 熟悉
netty
等网络框架
- 熟练使用
- ❌ 不推荐:把各种不相关的技术用一句话讲完
每点不要只写一个技术名词,建议多补充该技术中你掌握的知识点和技术细节
- ❌ 不推荐:写的很通俗、很广泛、很空虚
- 熟悉
Java
(熟悉Java
的什么特性?) - 熟悉
Linux
系统的基本命令(熟悉什么命令?)
- 熟悉
- ✔️ 推荐:补充一些该技术中,你用的比较熟悉的知识点、技术细节
- 熟练使用
Java
,比如:集合框架、动态代理机制、反射等等 - 熟悉
Linux
系统(比如文件系统、内存管理),能使用命令监控系统负载和进程状态
- 熟练使用
- ❌ 不推荐:写的很通俗、很广泛、很空虚
除了写自己会什么技术外,最好 深一度。比如可以补充半句:你能用这些技术做什么?从而表现出你的实践能力,公司倾向于选择问题解决能力强、实践经验丰富的同学。
- ❌ 不推荐:只写理论,不写实践
- 熟悉
Java
- 熟悉
- ✔️ 推荐:你能用这个技术做的事、你亲身实践过的事
- 熟练使用
Java
,能够运用Java8
的Stream API
高效操作集合类 / 完成数据处理、使用动态代理完成对相似类的统一操作 - 其他例子:
- 熟练使用
Spring Cloud
微服务全家桶,能独立开发微服务项目 - 熟悉
Netty
等网络框架,能够独立开发即时通讯系统
- 熟练使用
- 熟练使用
- ❌ 不推荐:只写理论,不写实践
荣誉奖项
同义词:个人奖项
包括以下信息:
- 个人证书
- 个人参与并获奖的竞赛(团体奖项也要写,但是最起码你要有贡献)
- 非编程相关也可以写(比如某某创业大赛,总比没有好)
- 软著、专利
技巧:
- 对奖项排序,优先把认可度高的、范围高的、获奖级别高的、和编程求职岗位更相关的放上面。
工作经历
同义词:实习经历
包括以下信息:
- 公司名
- 职务
- 工作起始和结束时间
- 工作内容(具体做了什么)
- 负责的项目(做哪个方向的项目、项目的介绍)
- 给公司带来的价值(收益增加、成本降低、更稳定)
技巧:
写工作内容的时候尽量突出自己的地位,比如:
- ❌ 不推荐:
- 参与文档编写
- ✔️ 推荐:
- 负责整个接口文档设计和编写
- ❌ 不推荐:
写工作内容时,可以适当具体一些,尤其是建议补充一下工作中用到的技术
- ❌ 不推荐:职责比较模糊
- 参与系统开发
- ✔️ 推荐:点明技术,体现实践经历和能力
- 负责
SpringBoot
前后端分离架构的系统研发
- 负责
- ❌ 不推荐:职责比较模糊
尽量不要写自己收获了什么、学到了什么,而是写自己做了什么、做出了什么成果,更有说服力。
项目经历
同义词:个人项目、项目经验
这部分是简历的 核心,主要是介绍自己做过或者参与过的项目和工作,体现出自己的实践经验和能力,包括以下信息:
- 项目名称
- 项目起止时间
- 项目介绍
- 项目技术栈或架构
- 负责工作(或者个人职责,这里是重点)
只要是自己做过的项目都可以写,只不过可以区分重点和非重点。
注意,项目经历和实习 / 工作经历的侧重点不完全相同:
- 实习经历重点是你在这家公司负责什么(地位)、你的作用、你的价值。
- 项目经历重点在于你对这个的项目的贡献、项目特色、实现项目的关键技术等。
技巧:
注意每个项目里内容的比重,项目介绍占比不要太多,不要写得太啰嗦!重点在于突出你做了什么,用什么技术解决了什么问题,带来了什么效果。
- ❌ 不推荐:项目介绍过多,自己的工作反而没写多少
- 将
SQL
的编写逻辑 结构化,像写文章大纲一样编写和阅读SQL
- 重复的
SQL
只需编写一次,SQL
变动时修改一处即可 - 可以针对某部分
SQL
进行传参和调试 - 查看
SQL
语句的引用树和替换过程,便于分析理解SQL
- 负责工作:使用
Vue3
+Monaco Editor
完成系统开发
- 将
- ✔️ 推荐:项目介绍一两句话带过,突出核心,更多的篇幅在于写自己做的事
- 项目介绍:用
JSON
生成结构化的SQL
语句的在线工具,基于Vue3
+TypeScript
+Vite
+Ant Design
+MonacoEditor
实现 - 负责工作:
- xxx
- xxx
- xxx
- 项目介绍:用
- ❌ 不推荐:项目介绍过多,自己的工作反而没写多少
介绍项目的时候,不要混在一起,而是建议分点逐行、具体去写,每个工作 / 亮点独占一行,每一点尽量具体。写的越具体,往往越体现真实性。
这里有个万能公式:负责 XX 系统的研发,在 xx 条件下、利用 xx 技术实现了 xx,实测 带来了 xx 效果(比如推进了 xx、提升了 xx)。
“实测”两个字突出了真实性。
举个例子:负责订单查询系统,在老系统并发量较低的情况下,选用分库分表中间件 +
Kafka
消息队列 +Redis
缓存进行重构,提升了系统并发量,实测 由1000 Qps
(每秒并发数)提升至10000 Qps
。- ❌ 不推荐:不够具体,千篇一律
- 使用
Redis
缓存热点数据,提高系统查询性能 - 缓存哪些数据?哪些数据是热点?缓存效果如何?提高了多少查询性能?
- 使用
- ✔️ 推荐:
- 负责商品模块,在现有商品查询接口并发量较低的情况下,在数据库查询前增加
Redis
缓存层,缓存热点商品信息,使用apache-ab
实测接口并发由50 qps
提升至1000 qps
。 - 还可以进一步补充缓存更新等问题的解决。
- 注意!实在没有背景和效果实测,也不要硬编,被识破了会很尴尬。
- 负责商品模块,在现有商品查询接口并发量较低的情况下,在数据库查询前增加
- ❌ 不推荐:不够具体,千篇一律
要想项目有亮点,需要 深一度。不能只写你完成了什么工作,而是要有一定的优化和扩展。比如你可以改造现有项目 / 框架、推陈出新,提升系统各方面的性能(可用性、稳定性、用户体验、吞吐量、时延等)。
- ❌ 不推荐:
- 开发了订单系统,完成了支付模块。
- ✔️ 推荐:体现出了技术选型和架构思维。
- 负责订单系统的开发,使用
XX
技术实现了支付模块,并选用XX
消息队列将系统QPS
由XX
提升至XX
,同时使用XX
保证了支付的幂等和稳定性。
- 负责订单系统的开发,使用
- ❌ 不推荐:
建议大家多去了解你项目中用到的技术的同类技术,对这些技术的优缺点和适合的应用场景有个大致的印象。这样做的好处有很多:
- 开拓你的思路
- 在写项目介绍时可以补充技术对比细节,体现出你的技术选型能力和知识广度
- 防止面试官考察“你为什么用这个技术,不用那个技术?”之类的问题
条件允许的话,强烈建议提供可在线访问的项目地址(域名尽量简短,好让面试官访问),从而体现你项目的真实性,将会是一个非常不错的加分项。
因为绝大多数同学写项目经历的时候,不放已上线的项目地址。有的时候你写的点再多、吹得天花乱坠,都不如直接放一个可访问的项目地址来得实在,能够直接证明你真的做过这个项目、从而体现你的项目经验。对于前端同学来说这点更重要,直接给面试官看体验效果最实在。你做的网站用不用心,一看便知。
10 份简历里有 8 份都不写线上项目地址的,所以这 10 位同学同时去投递,可能只有另外 2 位写了项目地址的同学有机会进入面试。
如果你做的是网上大众化的教程项目,建议给项目改个名、换个皮、自主加一些新功能,增加区分度。
可以从技术自身的优点和应用场景出发,来增加亮点。
- 为了提高开发效率,选用
Ant Design Pro
脚手架快速搭建基础页面,并对原始模板进行瘦身、抽象为可复用的公共模板,便于后续同类项目的快速研发。 - 在脚手架自带的
umi-request
请求库基础上进行改造和封装,添加全局请求拦截和全局异常处理逻辑、自动根据项目启动命令来区分环境,减少重复代码、提升项目可维护性。 - 选用
MyBatis
+MyBatis-Plus
进行数据访问层开发,复用大多数通用方法,并且通过继承定制了自己的 通用操作模板,大幅提升了项目开发效率。 - 为了明确接口的返回,自定义统一的错误码,并封装了 全局异常处理器,从而规范了异常返回、屏蔽了项目冗余的报错细节。
- 对于项目中的
JSON
格式化处理对象,采用 双检锁单例模式 进行管理,从而复用对象,避免了重复创建对象的开销,便于集中维护管理。 - 采用
Nginx
完成前端项目部署、采用Docker
容器完成后端项目部署,并且使用宝塔面板对项目进行运维监控。
- 为了提高开发效率,选用
科研经历
包括以下信息:
- 研究内容(论文、专利、实验室等)
- 研究时间
- 具体工作
- 产出(著作权、论文、认可度)
这部分不是所有同学都有,而且方向千差万别,所以不做赘述。
校园经历
包括以下信息:
- 名称(你做的事情、参与的活动)
- 时间
- 具体工作
- 产出
个人优势
自我评价
这个板块不是必须要写的,如果你要写,就必须让你的自我评价有信服力!不要只说自己哪里的能力强、怎么怎么厉害,而是需要一些事例、数据、证据来证明。
举些例子:
- 我学习能力强,对新技术有强烈的好奇心 => 补充:曾通过官方文档、自主查阅资料自学了
XX
、XX
新技术,并通过RSS
持续关注该技术最新动态。 - 我乐于从事有挑战性的工作 => 补充:我曾经担任
XX
队长,在XX
困难的条件下,解决了XX
问题,取得了XX
成果。 - 我喜欢分享知识、善于总结 => 补充:连续
XX
天发布个人博客,发布过XX
个学习总结等等
这样写自我评价,就不再是虚的了,而是真的能让对方感受到你的这些能力。
这里有个小技巧,可以根据目标公司的岗位要求去写自我评价,做到对号入座。
比如公司要求招有团队协作经验的,那就写:我善于团队合作,曾经组队参与 XX
、XX
项目,统筹负责了 XX
、XX
,怎么提升团队工作效率之类的。
这样从招聘者的角度来看,你是有用心准备过的,目的性明确,也是加分项。
除了写到简历上的自我评价外,我们在求职面试中的自我介绍也是一样的逻辑。自我介绍是需要精心准备的,而不是每次面试都现场 free style,那样很容易出现一些“阿巴阿巴”、不知所云的情况。
比较虚的自我介绍是:我是谁、来自 XX
、求职意向是 XX
岗位,然后夸一番自己,有较强的学习能力什么的。。。
而比较稳的自我介绍是:我是谁、来自 XX
、求职意向是 XX
岗位,主动学过哪些技能、哪些技能学的比较好、通过什么方式自主学习,然后用事例来证明自己哪些能力比较强。
比如我会说:自己拥有丰富的项目经验,大学曾带领工作室建设多少个网站,自主参与过 XX
项目和竞赛,曾在 3 家公司实习并负责 XX
工作;自己乐于分享、总结能力强,大学开展过 XX
场分享讲座等等。
总之,逻辑清晰,有理有据,面试官会很喜欢你的。
程序员求职面试,技术是一方面,另一方面是通过你的准备用心程度以及线上的交流来 get 到你的综合能力(沟通能力、逻辑思维能力等)。大家都学一样的技术,那么拉开差距的就是其他的能力以及你如何展现这些能力了。不过大家还是要注重日常的积累,有一定经历,在写自我评价、介绍自己的时候才会更有底气。