
01 简介
面试前要做的第一件事就是写简历。从头写简历是一件痛苦的事,因为它既重要又耗时。现在很多求职者都在电脑前焦急地寻找简历模板和参考资料。不知道如何写例句,太短的话HR会认为不真诚,太长的话又不知道从何下手。有些求职者连自己的论文都舍不得看,就投了错别字多、排版凌乱的简历。所以投出去简历后得不到任何回复。再加上程序员的工资比较高,还有大量的人才从其他专业转过来,竞争非常激烈,所以在众多简历中脱颖而出,赢得面试机会是至关重要的。本文将从两个方面来介绍简历的常见问题
1. 简历中常见的错误
2. 如何写简历
读者读完之后将能够了解如何撰写一份更好的简历,以吸引HR的注意。
02 简历中常见的错误
1. 信息太多,缺乏重点
常见的表现是开头有十几行的技能列表
熟悉Python、Go、C++、HTML、CSS、Vue、jQuery。熟悉基本数据结构和算法设计能力。熟悉TCP/IP、UDP、HTTP、DNS、WebSocket等网络协议。...
让我给你举一个真实的例子:

是的,这是我收到的一份简历的开头,20行熟悉的文字。求职者一开始就把自己会的工具都列了出来,希望通过一长串的技能来凸显自己的经历和学习。但这样做适得其反。因为只有通过介绍或者技能列表,HR认为应聘者初步合格了才会仔细看简历,其他情况下,他们只会快速搜索关键词。比如你想招一个前端工程师,HR会先搜索一下Vue、React、jQuery等前端框架的关键词,如果找了5秒都没找到,就会看下一个。
其实不只是HR,大多数人都会跳过长段落,不信你回头看就会发现,第3行和第14行其实是一样的。所以,简历越简洁明了,HR越有可能认真对待。还有一个问题,当HR看到清单里的一些基本技能时,就会开始质疑应聘者的能力。想象一下,终于到了周末,你想找一部轻松的电影看看。你看,我们去网上搜索,找到一份20部最佳喜剧电影的清单。当你快速浏览的时候,如果发现其中有好几部都是烂片,一点也不好笑,完全是在浪费时间,那么你就会开始怀疑这份喜剧电影清单有问题,就不继续看了。HR看简历也是同样的道理。那么技能清单应该怎么写呢?因为HR可能是工程师,也可能是非技术员工,所以技能清单也应该简短,格式清晰。让外行也能快速定位技能,我建议用这个方法(因为熟练度是个见仁见智的问题,所以我不写也没关系):
后端框架:Django, Flask, Scrapy 前端框架:Vue, React, jQuery 数据库:Redis, MySQL 工具:Docker, Jenkins, Git 其他:HTTP, TCP/IP, WebSocket 外语:大学英语四级,能流利阅读英文文档
它要简短,以便HR能快速识别求职者的技能,并做出是否阅读的决定。另外,这个技能列表应该放在简介之后,这个我们后面会介绍。
2. 无意义的描述
第二个常见错误是以毫无意义的方式描述项目经验:
XXX平台按照项目任务要求按时完成了规划工作和软件开发。完成了爬虫模块和展示模块。开发了后台管理系统,实现了自定义分页和第三方登录。完成了数据整理和入库功能。
HR无法从这样的描述中获取有效信息,也无法判断求职者的技术能力。
What:构建IP代理池,优化爬虫策略和防封规则
使用什么工具:使用Scrapy开发异步爬虫系统
效果:网页抓取速度提高 200%
有三点需要修改,最好能添加数据来证明。
XXX平台搭建IP代理池,使用Scrapy开发异步爬虫系统,优化爬虫策略及防屏蔽规则,网页爬取速度提升200%。使用Vue框架完成后台管理系统,实现自定义分页,第三方登录等6个主要功能作用:负责数据清洗入库至MySQL数据库,利用数据库索引减少50%数据查询时间。
我理解大部分求职者没有面试经验,简历看得也不多,连项目都很难回忆起来,更别说思考如何表达了。所以我们准备了一些可以用到的简历问题,介绍/工作经历/项目经历的例子在这里,你可以根据自己的实际情况进行修改。
拥有良好的编码风格,通过添加注释来提高代码的可读性,注重代码质量,研究多个开源项目,学会提高代码的健壮性和可扩展性。
具有良好的代码编写习惯,良好的沟通协作能力,良好的职业道德和较强的工作责任心。
了解操作系统中进程、线程、死锁、虚拟化、文件系统等的原理及简单实现。
具有大型互联网分布式系统架构设计和开发经验,拥抱新技术,学习能力强。
具有扎实的计算机理论基础,良好的算法、数据结构基础,了解计算机基本原理和常用机制。
...
如果你不知道自己写得怎么样,也可以请我们帮忙审阅简历或者模拟面试。重要的是从现在开始数数,养成先测后优化的习惯。并尝试发现数据。时间可以通过 CPU 或内存负载数据显示出来,或者至少可以像上面的第二项一样告诉大家完成了多少个功能。
3. 版面混乱,错别字较多
对错别字绝对是零容忍的,如果你连自己的简历都不重视,HR肯定也不会重视。
熟悉iOS发布上市流程,真机调侃。熟悉MySQL数据库,了解MySQL基本原理(术语不一致)
有些简历字体非常小(因为内容太多,要塞进两页纸),行距小,阅读困难,模块之间没有明显的分隔,HR很难找到自己要找的信息。 正确渲染PDF文件。(比如在拉勾网,翻页PDF文件时,会出现一大片空白。)我找了两个真实的例子,放在下面。 你问海穗为什么没有回复。HR问你,你如何看待这样的简历?

写完简历后,一定要自己仔细检查,然后请朋友帮忙看一看,征求中肯的意见。排版方面,我建议用 HTML 写,然后转为 PDF。HTML 比 Markdown 和 Word 更有利于风格和版本控制。而且,求职者可以直接把 HTML 放在个人网站或 GitHub Pages 上,随时浏览。有兴趣的读者可以使用我们的免费 HTML 模板和付费 HTML 模板(均经过热门招聘网站测试),确保自己的简历能更好地呈现给 HR。

03 如何写出更好的简历
简历一般可以分为基本信息、个人简介、技能列表、工作经历、项目经历、学历、其他6个模块。这样的顺序可以让HR由浅入深快速了解求职者的优势和技能。如果是重点学校或者新晋工程师的信息,可以放在最前面,基本信息之后。
基本信息
基本信息包括姓名、邮箱、电话、Github/blog、求职意向等信息。
姓名/电话号码
只要如实填写表格即可。请注意,在提交简历之前,你可以在这里查看该公司是否注册。有些猎头会随机创建一个公司名称,专门接收简历,然后联系求职者。如果你不小心提交了简历,你的隐私就会被泄露。。
邮件
就写你常用的邮箱就行。论坛上偶尔会有人讨论哪种邮箱后缀看起来比较厉害。有人建议用gmail,认为能凸显你的英语能力。有人建议用outlook或者163,这两个在国内比较稳定。有人鄙视QQ邮箱,认为太过个性,不专业。我不能代表所有HR说话,有些HR可能根据邮箱后缀对求职者有一个初步印象。但前提是求职者的简历没有亮点,内容杂乱,HR才会因为这些小细节而筛掉求职者。只要求职者在简历中展现自己的优势,邮箱后缀不重要。
Github/博客
放 Github 或者博客链接的前提是可以凸显求职者的编程能力。HR 带着很高的期望去点击,但如果发现 Github 对开源项目没有贡献,一年只 commit 几次就很难留下好印象。如果写得好,可以放上去。有些职位要求也会提到这些加分点。
求职意向
很多求职者会忽略这个细节,一个HR可能会接受不同职位的简历,如果简历中没有写明申请的职位,HR就不知道该如何判断求职者是否合适,最简单的方法就是直接看下一份简历。所以求职意向一定要写清楚你的目标职位,比如前端工程师,爬虫工程师。
附加信息
其他信息包括政治状况、性别、年龄、照片等。如果要应聘国有企业或事业单位,党员政治状况可能会有帮助,但其他信息加不加都无所谓。总结一下,基本信息部分可以这样写:
xx 邮箱: contact@jobder.net / 电话: 133-5555-6666 Github:
求职意向: 履带工程师
介绍
有些工程师有一些误区,觉得如果按照常规写简历,只会吸引传统、无趣的公司,我接触过很多简历上写着爱自由、爱生活,我觉得大多数人喜欢自由,单纯的写爱自由并不能说明是真爱。在计算机领域最好的证明方式就是使用自由软件、为开源项目做贡献。介绍很重要,也是HR了解求职者的第一步。一开始不知道从哪里开始,找工作的时候可以参考目标岗位的岗位要求,如果看到目标岗位要求熟悉多线程编程而自己又不是很懂,那是一个很好的学习机会,面试一定会考到。我喜欢的一家公司的职位描述和要求如下:
Python爬虫工程师 岗位描述: 负责爬虫系统架构设计与开发; 参与系统技术方案设计、核心代码开发及系统调优; 参与各类专项技术调研、新技术引入等 岗位要求: 2年以上Python开发经验,本科及以上学历,计算机相关专业; 热爱计算机科学与互联网技术,精通Python语言,熟悉正则表达式,熟悉MySQL数据库; 熟悉Python网络编程,能设计和维护基于TCP/IP协议的高性能事件驱动框架程序; 有强烈的求知欲望,优秀的学习和沟通能力;
首先我们来分析一下这个职位的要求,需要会开发爬虫系统,有 Python 开发能力,了解网络协议。掌握了这几点之后,我们就可以给这个职位写一个简介了:
两年Python爬虫系统开发经验,熟悉Scrapy框架,作为主力工程师参与过多个项目的设计开发,负责系统核心模块的开发、自动化测试及部署。熟悉HTTP协议、TCP/IP协议,了解正则表达式、XPATH的用法,了解Redis、MySQL数据库及Linux系统的常见机制及原理。具有优秀的学习能力及团队沟通能力,经常与团队分享技术,与团队共同成长。
自我介绍/工作经历/项目经历中的关键词要加粗,这里第一项突出个人发展经历,简单介绍之前的主要工作职责(爬虫开发、自动化测试部署经验),第二项展示自己,第三项列举软技能,以与团队分享技术为例,突出团队合作能力。
如果你不是专业人士或者是一名新工程师,你可以尝试通过个人项目、学习能力和软技能来突出自己。
两年独立开发Web项目经验,了解项目开发流程及自动化部署,设计开发Todo-list、博客等项目,实现浏览、评论、点赞等功能。熟悉HTTP协议、TCP/IP协议,了解Redis、MySQL数据库、Linux系统的常见机制及原理。热衷于学习计算机技术,自学了计算机系统、数据结构等多门计算机课程。
非专业工程师如果想跟专业工程师竞争,最好是做过跟职位差不多的项目,高质量的个人项目也是加分项,博客、爬虫、to-do list太常见了,我不是说它们没有技术含量(可以看看Python作者Guido van Rossum写的爬虫),但是太多求职者只完成很简单的功能,不去深究原理,如果能完成一些有特色的项目,就能引起HR的注意,500lines里有很多有意思的项目,如果觉得自己跟不上,可以跟着一些MOOC课程学习,里面也会实现一些项目,比如浏览器、搜索引擎和社交网络等,看起来很难,但一步步来,相信大部分开发者都能从中学到很多东西。想象一下,如果介绍是这样写的:
两年Python后端开发经验,熟悉Scrapy爬虫框架,设计开发过简单浏览器,实现语法解析和编译功能。开发过搜索引擎和社交网络,实现搜索和关注功能。熟悉HTTP协议,TCP/IP协议,正则表达式,XPATH使用,了解MySQL数据库和Linux系统的常见机制和原理。热衷于学习计算机技术,自学过计算机系统、数据结构等多门计算机课程。
是不是感觉很不一样呢?HR才会愿意给这样特别的求职者机会。写简历的过程其实就是自我反省的过程,从中可以知道自己的不足在哪里,及时弥补和学习,才能拿到好的offer。
恭喜你,你已经完成了自我介绍的第一步,你已经引起了HR的注意,接下来就是展示你的能力了。
技能列表
我在常见错误中提到过,HR 会直接在简历中搜索关键词,如果找不到就直接筛选掉。所以技能列表可以按类型排序,列出你最精通的工具。熟悉程度见仁见智,所以不需要写出来。或者直接用进度条:
后端框架:Django, Flask, Scrapy 前端框架:Vue, React, jQuery 数据库:Redis, MySQL 工具:Docker, Jenkins, Git 其他:TCP/IP, HTTP, Websocket 外语:大学英语六级,能流利阅读英文文档
工作经历
如果这份简历只是用来找实习的话,可以跳过这一部分。要注意的一点就是工作经历的完整性。我曾经去一家大公司面试(我经常去面试,参考如何准备技术面试),他们问我为什么不写完整的工作经历,因为他们要求毕业和现在不能有空隙。我回答说,一方面是为了让简历简短,另一方面最近的工作经历和这份工作没有关系。不过,这是唯一一次让我填写完整的工作经历,所以我的建议是简历上最多写3家公司的工作经历,而且如果面试官问到你之前的工作,你应该正确回答,把所有的时间点都串联起来,以免让面试官觉得你在隐瞒什么。工作经历要按照最近一份工作的倒序列出,可以分为四点:
公司名称
只需写公司全名即可。如果产品知名,可以写产品名称:
xx科技有限公司(其产品Engxxx,Thankyou-xxxx
职务/任职时间
注意看职位名称,如果你应聘的岗位是数据分析工程师,那么爬虫工程师和数据挖掘工程师对HR来说会有所不同,高级工程师也要写进去,工作年限要按照社保缴纳的时间写,有些工厂会做背景调查。
xx科技有限公司(旗下产品包括EngineGo、Thankyou-xxxx)201x-201x | 高级Python开发工程师
主要职责
主要职责突出了在职职责以及给公司带来的利益。与下面的项目经历不同,不需要详细写技术栈和项目细节,只需要一个大概的描述。下面是我们例句中的一个例子:
作为团队负责人,负责设计开发分布式网络爬虫系统,优化爬虫策略及防屏蔽规则,提升网络爬虫效率及质量;根据行业需求分析设计方案可行性,测试优化项目代码,协助进行持续集成及自动化部署,提高系统可用性。负责公司技术文档的撰写及维护,定期回顾团队的代码,与团队一起学习成长。
项目经验
项目经历可以写在相应的工作经历里,每个公司可以选择1-2个项目重点介绍,需要详细描述开发或者维护过的主要模块,用了什么工具,取得了什么成果,这里我们以EngineGo爬虫系统为例,注意简洁和突出数据,避免无意义的描述,关键词要加粗。
和产品经理保持沟通,利用Scrapy框架重构爬虫模块,爬虫速度提升200%,服务器CPU负载降低20%。改进爬虫策略,减少40%的请求阻塞。
作为主工程师,设计开发了物业模块、活动模块,实现了注册、即时通知等10个功能。
使用Redis数据库实现分布式爬虫和数据缓存,减少50%的数据查询时间。
与其他工程师配合使用Docker对项目进行拆分重组,减少业务模块间的资源耦合,实现持续集成和自动化部署。
另外,大多数情况下,不建议在简历中附上项目图片,但可以附上项目链接。
教育
大家都会写学校,但是有几点要注意。如果你就读的是比较有名的学校,可以把学校放在前面,在介绍后面。另外,我遇到过很多求职者转专业,干脆不写原来的专业。我觉得这个完全没必要。HR 也不傻,申请人不写专业他们也能看出来不是理科出身,最好老老实实的写出来。如果申请人是理科出身,会很有帮助。高 GPA/专业课高分/奖学金/比赛奖项都可以,选出重要的,加上:
XXX大学 | 计算机科学 2013-2017 计算机系统(85分/专业排名18/100)、数据结构(90分/专业排名10/100) GPA:3.7 | 2015-2016学年获得国家励志奖学金 美国大学生数学建模大赛一等奖 2013-2014学年广东省“立建杯”科技创新大赛二等奖
那如果我的学校很一般,专业也不适合怎么办?我们来参考一下网上的数据。HR看重简历的哪些部分?出身好学校、好公司不用多说,完成 Udacity/Coursera 等课程也很重要。求职者可以这样展示自己的学历。
XXX 大学 | 土木工程 201x - 201x Udacity | 机器学习工程师 / Coursera | 计算机科学概论 / 操作系统 201x - 201x
我不敢说在国内环境下,这个肯定会加很多分,毕竟大部分公司还是看重大学学历的。不过有些比较开放的公司还是喜欢不断学习的员工。加进去,至少不会扣分。
其他(可选)
可选项目也可能是一个加分项。这在中国不太受重视,但我个人还是更看重它:
志愿者工作
协助翻译了 Flask 和 Requests 的第一版文档,翻译了十多篇技术文章(凸显了我良好的外语能力)。教中学生从零开始学习 Python,并设计编写了自己的游戏。Github 上的开源项目 Cherry 获得 200 颗星。
爱好
可以列出与计算机相关或突出动手技能的兴趣,但唱歌和旅行等兴趣不需要列出。
综合起来
基于以上几点,一份好的简历应该是这样的:

03 结论
只要你认真修改简历,HR是能够感知到的,你也一定能在众多求职者中脱颖而出,获得更多的机会。有时候机会往往就看你是否足够努力,希望看完这篇文章,你能写出更好的简历,获得更多的机会。
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“关注和转发”按钮。本文欢迎各位转载!
类别:简历