Skip to content

基本写法

更新: 8/1/2025 字数: 0 字 时长: 0 分钟

写在前面

简历有多重要?

简历是一个人求职的门面,也是整个求职过程中的第一步。如果简历不过关的话,后面的笔试、面试可能连机会都没有!

好的简历不仅能帮助你拿到面试机会,增加面试官的好感度。还能通过适当的内容引导来帮助你在面试中 出奇制胜。

什么时候准备简历?

千万不要等到找工作前才开始准备简历!真正好的简历不是一两天就能包装出来的,而是通过个人长期以来的积累、不断发掘并改进自己的不足、经过了多个版本的持续优化后才凝练而成的。

在你学完基础的开发技能,比如开发框架(前端 Vue、后端 SpringBoot 等),并且能够独立运用所学技术来完成一个属于自己的项目之后,就可以开始准备简历了。一般是学编程 6 个月到 1 年左右就可以开始准备了,写简历的过程也是帮助自己对当前的状态和学习进度、不足有个清醒的认识。

正所谓有积累,才能锋芒毕露。

如果你现在不想准备简历也没关系。很多公司会在 8 月份正式开启秋招(提前批),所以大家在 6 - 7 月份的时候准备好简历就没问题;很多大厂会在 2 - 3 月份开启春招(提前批),所以大家参加春招的话尽量在 2 月份准备好简历。

简历文件

简历模板

一份优秀的简历必须在外观和内容上都很出色,做到秀外慧中。所以,挑选一个好的简历模板是至关重要的!

网上有大把大把的简历模板、还有什么几百套简历大全之类的,让人眼花缭乱。

其实完全没有必要在简历模板上纠结!

只要保证简历结构是从上到下、布局清晰、排版整齐、简洁干净就好。

简历制作

网上有很多简历制作工具,能够快速生成精美整洁的简历。

文件命名

命名没有绝对的规范,但是要仔细查看岗位描述是否有文件名规则的要求。

如果没有要求的话,可以用:求职岗位 + 个人姓名 + 求职类别(实习生还是正式员工).pdf

千万别用什么特殊符号啊、一大串数字之类的无意义内容!

文件格式

注意:简历文件格式一定要用 PDF!千万不要用 Word!因为使用 Word 可能会出现预期之外的排版错乱,这个影响是致命的。

建议同时提供 PDFWord 两种格式的文件,以及在线的简历链接,便于对方选择。

简历内容

整体

一份完整的程序员简历包含个人信息、教育背景、专业技能、荣誉奖项、工作经历、项目经历、科研经历、校园经历、个人优势等内容。

其中,个人信息、教育背景、专业技能、项目经历是必须具备的!

一般校招简历以一页纸为最佳(工作 3 年以上经历非常丰富、或者求职等级较高除外),因此要合理分配各部分内容占用的篇幅,推荐的占比如下:

  • 个人信息 5 ~ 10%
  • 教育背景 10 ~ 15%
  • 专业技能 20 ~ 30%
  • 项目经历 30 ~ 50%(工作 / 校园 / 科研等经历也算在内),对大多数同学来说,这部分是核心
  • 其他内容 0 ~ 20%(比如奖项、个人优势等)

问:简历最好一页么?

答:简历最好一页指的是“少一些废话,用心凝炼内容”,证面试官有耐心看下去,而不是强制一页。只是希望大家在简历上突出重点、惜字如金,而不是像记流水账一样什么都写。如果你能写的内容就是很多的(比如冲击大厂、工作 3 年以上、求职等级较高),那么一页纸以上完全没问题。

只要做到把你最大的优势、你认为含金量最高的项目都放到第一页就行,第二页可以当做补充。就跟短视频一样,开头能吸引住人,用户可能就点赞三连了;如果开头是废话,用户直接划走,哪怕后面是干货可能也看不到了。

个人信息

基本信息必须要 填写完整,这是对另一方最基本的尊重。包括以下信息(加粗为必填项):

  • 姓名
  • 性别
  • 求职意向
  • 年龄
  • 身份:大几学生、几年工作经验等
  • 联系方式:手机号、邮箱、微信、QQ 号(以公司岗位描述要求为主)
  • 照片(建议放)
  • 其他链接:个人博客、作品集、亮眼作品等

技巧:

  1. 个人信息占用的篇幅不用过多,一行可以同时写多个信息,保证间距合理即可。
  2. 照片要清晰端正,蓝底 / 白底 / 红底都可以,最好表情自然、面带微笑。尽量穿白衬衫或者正装
  3. 没有特殊要求的情况下,不建议写期望薪资!一方面是大公司的薪资还算公开透明,没必要写;另一方面是防止你的表现超出了预期时,被人按照你的预期薪资来砍价。当然,除非你把预期写的很高,说不定能过滤一些公司、猎头的打扰。
  4. 如果有个人网站、个人博客、代码仓库的话,建议补充上相关链接

教育背景

如实 写明即可,包括以下信息:

  • 学校
  • 专业
  • 年级
  • 入校时间 ~ 毕业时间
  • 排名(建议排名高于前 20% 的同学才写)
  • 主修课程(建议非计算机相关专业的同学适当列举,优先列举和求职岗位相关的、分数较高的课)
  • 其他信息:如 CET 证书、计算机专业相关证书等

技巧:

  1. 学历一般不建议造假!意义不大
  2. 如果有得分较高的(比如 90 分以上)、和岗位相关的课程,可以在课程名后用括号补充分数。

专业技能

同义词:个人技能、技术栈、技能清单

这部分是简历的核心之一,列举自己掌握的、熟悉的、用过的、学过的、甚至仅了解过的各种技术或技能。

技巧:

  1. 写你会的技术栈时,不要用老长一句话、像报菜名似的列举技术名词。可以采用列表的形式把每一个技术单独写清楚,会更直观清晰。

    • 不推荐:把各种不相关的技术用一句话讲完
      • 能够熟练使用 springcloud 微服务框架及 mysqlredishbasemongodb 等数据库及 kafkarabbitmq 等消息中间件及 netty 等网络框架、前端 HTML / CSS / JavaScript 的使用。
    • ✔️ 推荐:改为列表,同一类技术写在同一行
      • 熟练使用 springcloud 微服务全家桶
      • 熟练使用 mysqlredishbasemongodb 等数据库和大数据中间件
      • 熟练使用 kafkarabbitmq 等消息中间件
      • 熟悉 netty 等网络框架
  2. 每点不要只写一个技术名词,建议多补充该技术中你掌握的知识点和技术细节

    • 不推荐:写的很通俗、很广泛、很空虚
      • 熟悉 Java(熟悉 Java 的什么特性?)
      • 熟悉 Linux 系统的基本命令(熟悉什么命令?)
    • ✔️ 推荐:补充一些该技术中,你用的比较熟悉的知识点、技术细节
      • 熟练使用 Java,比如:集合框架、动态代理机制、反射等等
      • 熟悉 Linux 系统(比如文件系统、内存管理),能使用命令监控系统负载和进程状态
  3. 除了写自己会什么技术外,最好 深一度。比如可以补充半句:你能用这些技术做什么?从而表现出你的实践能力,公司倾向于选择问题解决能力强、实践经验丰富的同学。

    • 不推荐:只写理论,不写实践
      • 熟悉 Java
    • ✔️ 推荐:你能用这个技术做的事、你亲身实践过的事
      • 熟练使用 Java,能够运用 Java8Stream API 高效操作集合类 / 完成数据处理、使用动态代理完成对相似类的统一操作
      • 其他例子:
        • 熟练使用 Spring Cloud 微服务全家桶,能独立开发微服务项目
        • 熟悉 Netty 等网络框架,能够独立开发即时通讯系统

荣誉奖项

同义词:个人奖项

包括以下信息:

  • 个人证书
  • 个人参与并获奖的竞赛(团体奖项也要写,但是最起码你要有贡献)
  • 非编程相关也可以写(比如某某创业大赛,总比没有好)
  • 软著、专利

技巧:

  1. 对奖项排序,优先把认可度高的、范围高的、获奖级别高的、和编程求职岗位更相关的放上面。

工作经历

同义词:实习经历

包括以下信息:

  • 公司名
  • 职务
  • 工作起始和结束时间
  • 工作内容(具体做了什么)
  • 负责的项目(做哪个方向的项目、项目的介绍)
  • 给公司带来的价值(收益增加、成本降低、更稳定)

技巧:

  1. 写工作内容的时候尽量突出自己的地位,比如:

    • 不推荐
      • 参与文档编写
    • ✔️ 推荐
      • 负责整个接口文档设计和编写
  2. 写工作内容时,可以适当具体一些,尤其是建议补充一下工作中用到的技术

    • 不推荐:职责比较模糊
      • 参与系统开发
    • ✔️ 推荐:点明技术,体现实践经历和能力
      • 负责 SpringBoot 前后端分离架构的系统研发
  3. 尽量不要写自己收获了什么、学到了什么,而是写自己做了什么、做出了什么成果,更有说服力。

项目经历

同义词:个人项目、项目经验

这部分是简历的 核心,主要是介绍自己做过或者参与过的项目和工作,体现出自己的实践经验和能力,包括以下信息:

  • 项目名称
  • 项目起止时间
  • 项目介绍
  • 项目技术栈或架构
  • 负责工作(或者个人职责,这里是重点)

只要是自己做过的项目都可以写,只不过可以区分重点和非重点。

注意,项目经历和实习 / 工作经历的侧重点不完全相同:

  • 实习经历重点是你在这家公司负责什么(地位)、你的作用、你的价值。
  • 项目经历重点在于你对这个的项目的贡献、项目特色、实现项目的关键技术等。

技巧:

  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 消息队列将系统 QPSXX 提升至 XX,同时使用 XX 保证了支付的幂等和稳定性。
  4. 建议大家多去了解你项目中用到的技术的同类技术,对这些技术的优缺点和适合的应用场景有个大致的印象。这样做的好处有很多:

    • 开拓你的思路
    • 在写项目介绍时可以补充技术对比细节,体现出你的技术选型能力和知识广度
    • 防止面试官考察“你为什么用这个技术,不用那个技术?”之类的问题
  5. 条件允许的话,强烈建议提供可在线访问的项目地址(域名尽量简短,好让面试官访问),从而体现你项目的真实性,将会是一个非常不错的加分项。

    因为绝大多数同学写项目经历的时候,不放已上线的项目地址。有的时候你写的点再多、吹得天花乱坠,都不如直接放一个可访问的项目地址来得实在,能够直接证明你真的做过这个项目、从而体现你的项目经验。对于前端同学来说这点更重要,直接给面试官看体验效果最实在。你做的网站用不用心,一看便知。

    10 份简历里有 8 份都不写线上项目地址的,所以这 10 位同学同时去投递,可能只有另外 2 位写了项目地址的同学有机会进入面试。

  6. 如果你做的是网上大众化的教程项目,建议给项目改个名、换个皮、自主加一些新功能,增加区分度。

    可以从技术自身的优点和应用场景出发,来增加亮点。

    • 为了提高开发效率,选用 Ant Design Pro 脚手架快速搭建基础页面,并对原始模板进行瘦身、抽象为可复用的公共模板,便于后续同类项目的快速研发。
    • 在脚手架自带的 umi-request 请求库基础上进行改造和封装,添加全局请求拦截和全局异常处理逻辑、自动根据项目启动命令来区分环境,减少重复代码、提升项目可维护性。
    • 选用 MyBatis + MyBatis-Plus 进行数据访问层开发,复用大多数通用方法,并且通过继承定制了自己的 通用操作模板,大幅提升了项目开发效率。
    • 为了明确接口的返回,自定义统一的错误码,并封装了 全局异常处理器,从而规范了异常返回、屏蔽了项目冗余的报错细节。
    • 对于项目中的 JSON 格式化处理对象,采用 双检锁单例模式 进行管理,从而复用对象,避免了重复创建对象的开销,便于集中维护管理。
    • 采用 Nginx 完成前端项目部署、采用 Docker 容器完成后端项目部署,并且使用宝塔面板对项目进行运维监控。

科研经历

包括以下信息:

  • 研究内容(论文、专利、实验室等)
  • 研究时间
  • 具体工作
  • 产出(著作权、论文、认可度)

这部分不是所有同学都有,而且方向千差万别,所以不做赘述。

校园经历

包括以下信息:

  • 名称(你做的事情、参与的活动)
  • 时间
  • 具体工作
  • 产出

个人优势

自我评价

这个板块不是必须要写的,如果你要写,就必须让你的自我评价有信服力!不要只说自己哪里的能力强、怎么怎么厉害,而是需要一些事例、数据、证据来证明。

举些例子:

  • 我学习能力强,对新技术有强烈的好奇心 => 补充:曾通过官方文档、自主查阅资料自学了 XXXX 新技术,并通过 RSS 持续关注该技术最新动态。
  • 我乐于从事有挑战性的工作 => 补充:我曾经担任 XX 队长,在 XX 困难的条件下,解决了 XX 问题,取得了 XX 成果。
  • 我喜欢分享知识、善于总结 => 补充:连续 XX 天发布个人博客,发布过 XX 个学习总结等等

这样写自我评价,就不再是虚的了,而是真的能让对方感受到你的这些能力。

这里有个小技巧,可以根据目标公司的岗位要求去写自我评价,做到对号入座。

比如公司要求招有团队协作经验的,那就写:我善于团队合作,曾经组队参与 XXXX 项目,统筹负责了 XXXX,怎么提升团队工作效率之类的。

这样从招聘者的角度来看,你是有用心准备过的,目的性明确,也是加分项。

除了写到简历上的自我评价外,我们在求职面试中的自我介绍也是一样的逻辑。自我介绍是需要精心准备的,而不是每次面试都现场 free style,那样很容易出现一些“阿巴阿巴”、不知所云的情况。

比较虚的自我介绍是:我是谁、来自 XX、求职意向是 XX 岗位,然后夸一番自己,有较强的学习能力什么的。。。

而比较稳的自我介绍是:我是谁、来自 XX、求职意向是 XX 岗位,主动学过哪些技能、哪些技能学的比较好、通过什么方式自主学习,然后用事例来证明自己哪些能力比较强。

比如我会说:自己拥有丰富的项目经验,大学曾带领工作室建设多少个网站,自主参与过 XX 项目和竞赛,曾在 3 家公司实习并负责 XX 工作;自己乐于分享、总结能力强,大学开展过 XX 场分享讲座等等。

总之,逻辑清晰,有理有据,面试官会很喜欢你的。

程序员求职面试,技术是一方面,另一方面是通过你的准备用心程度以及线上的交流来 get 到你的综合能力(沟通能力、逻辑思维能力等)。大家都学一样的技术,那么拉开差距的就是其他的能力以及你如何展现这些能力了。不过大家还是要注重日常的积累,有一定经历,在写自我评价、介绍自己的时候才会更有底气。

贡献者

The avatar of contributor named as LI SIR LI SIR

页面历史