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