程序员的简历应该这么写!!(附简历模板)
通知:最近有点事情,时间比较紧张,本周会发一些其他方面技术相关文章(很久之前发过,但那时候读者很少,所以很多人没看过,正好重新排版添加一些内容,好加入到「算法汇总」里),每天的文章不会断,本周四五或者下周恢复正常题目系列。
Carl校招社招都拿过大厂的offer,同时也看过很多应聘者的简历,这里把自己总结的简历技巧以及常见问题给大家梳理一下。
简历篇幅
首先程序员的简历力求简洁明了,不用设计上要过于复杂。
对于校招生,一页简历就够了,社招的话两页简历便可。
有的校招生说自己的经历太多了,简历要写出两三页,实际上基本是无关内容太多或者描述太啰唆,例如多过的校园活动,学生会经历等等。
既然是面试技术岗位,其他的方面一笔带过就好。
谨慎使用“精通”两字
应届生或者刚毕业的程序员在写简历的时候 「切记不要写精通某某语言」,如果真的学的很好,「推荐写“熟悉”或者“掌握”」。
但是有的同学可能仅仅使用一些语言例如go或者python写了一些小东西,或者了解一些语言的语法,就直接写上熟悉C++、JAVA、GO、PYTHON ,这也是大忌,如果C++更了解的话,建议写熟悉C++,了解JAVA、GO、PYTHON。
「词语的强烈程度:精通 > 熟悉(推荐使用)> 掌握(推荐使用)> 了解(推荐使用)」
还有做好心理准备,一旦我们写了熟悉某某语言,这门语言就一定是面试中重点考察的一个点。
例如写了熟悉C++, 那么继承、多态、封装、虚函数、C++11的一些特性、STL就一定会被问道。
「所以简历上写着熟悉哪一门语言,在准备面试的时候重点准备,其他语言几乎可以不用看了,面试官在面试中通常只会考察一门编程语言」。
拿不准的绝对不要写在简历上
「不要为了简历上看上去很丰富,就写很多内容上去,内容越多,面试中考点就越多」。
简历中突出自己技能的几个点,而不是面面俱到。
想想看,面试官一定是拿着你的简历开始问问题的,「如果因为仅仅想展示自己多会一点点的东西就都写在简历上,等于给自己挖了一个“大坑”」。
例如仅仅部署过nginx服务器,就在简历上写熟悉nginx,那面试官可能上来就围绕着nginx问很多问题,同学们如果招架不住,然后说:“我仅仅部署过,底层实现我都不了解。这样就是让面试官有些失望”。
「同时尽量不要写代码行数10万+ 在简历上」,这就相当于提高了面试官的期望。
首先就是代码行数10W+ 无从考证,而且这无疑大大提高的面试官的期望和面试官问问题的范围,这相当于告诉面试官“我写代码没问题,你就尽管问吧”。
如果简历上再没有侧重点的话,面试官就开始铺天盖地问起来,恐怕大家回答的效果也不会太好。
项目经验应该如何写
「项目经验中要突出自己的贡献」,不要描述一遍项目就完事,要突出自己的贡献,是添加了哪些功能,还是优化了那些性能指数,最后再说说受益怎么样。
例如这个功能被多少人使用,例如性能提升了多少倍。
其实很多同学的一个通病就是在面试中说不出自己项目的难点,项目经历写了一大堆,各种框架数据库的使用都写上了,却答不出自己项目中的难点。
有的同学可能心里会想:“自己的项目没有什么难点,就是按照功能来做,遇到不会配置的不会调节的,就百度一下”。
其实大多数人做项目的时候都是这样的,不是每个项目都有什么难点,可是为什么一样的项目经验,别人就可以在难点上说出一二三来呢?
这里还是有一些技巧的,首先是「做项目的时候时刻保持着对难点的敏感程度」,很多我们费尽周折解决了一个问题,然后自己也不做记录,就忘掉了,「此时如果及时将自己的思考过程记录下来,就是面试中的重要素材,养成这样的习惯非常重要」。
很多同学埋怨自己的项目没难点,其实不然,「找到项目中的一点,深挖下去就会遇到难点,解决它,这种经历就可以拿来在面试中来说了」。
例如使用java完成的项目,在深挖一下Java内存管理,看看是不是可以减少一些虚拟机上内存的压力。
所以很多时候 「不是自己的项目没有难点,而是自己准备的不充分」。
项目经验是面试官一定会问的,那么不是每一个面试都是主动问项目中有哪些亮点或者难点,这时候就需要我们自己主动去说自己项目中的难点。
变被动为主动
再说一个面试中如何变被动为主动的技巧,例如自己的项目是一套分布式系统,我们在介绍项目的时候主动说:“项目中的难点就是分布式数据一致性的问题。”。
「此时就应该知道面试官定会问:“你是如何解决数据一致性的?”」。
如果你对数据一致性协议的使用和原理足够的了解的话,就可以和面试官侃侃而谈了。
我们在简历中突出项目的难点在于数据一致性,并且「我们之前就精心准备一致性协议,数据一致性相关的知识,就等着面试官来问」,这样准备面试更有效率,这些写出来的简历也才是好的简历,而不是简历上泛泛而谈什么都说一些,最后都不太了解。
面试一共就三十分钟或者一个小时,说两个两个项目中的难点,既凸显出自己技术上的深度,同时项目中的难点是最好被我们自己掌控的,「因为这块是面试官必问的,就是我们可以变被动为主动的关键」。
「真正好的简历是 当同学们把自己的简历递给面试官的时候,基本都知道面试官看着简历都会问什么问题」,然后将面试官的引导到自己最熟悉的领域,这样大家才会占有主动权。
博客的重要性
简历上可以放上自己的博客地址、Github地址甚至微博(如果发了很多关于技术的内容),「通过博客和github 面试官就可以快速判断同学们对技术的热情,以及学习的态度」,可以让面试官快速的了解同学们的技术水平。
如果有很多高质量博客和漂亮的github的话,即使面试现场发挥的不好,面试官通过博客也会知道这位同学基础还是很扎实,只是发挥的不好而已。
可以看出记录和总结的重要性。
写博客,不一定非要是技术大牛才写博客,大家都可以写博客来记录自己的收获,每一个知识点大家都可以写一篇技术博客,这方面要切忌懒惰!
「我是欢迎录友们参考我的文章写博客来记录自己收获的,但一定要注明来自公众号「代码随想录」呀!」
同时大家对github不要畏惧,可以很容易找到一些小的项目来练手。
这里贴出我的Github,上面有一些我自己写的小项目,大家可以参考:https://github.com/youngyangyang04
面试只有短短的30分钟或者一个小时,如何把自己掌握的技术更好的展现给面试官呢,博客、github都是很好的选择,如果把这些放在简历上,面试官一定会看的,这都是加分项。
简历模板
最后福利,把我的简历模板贡献出来!如下图所示。
简历模板
这里是简历模板中Markdown的代码:https://github.com/youngyangyang04/Markdown-Resume-Template ,可以fork到自己Github仓库上,按照这个模板来修改自己的简历。