
<p align="center">
  <a href="https://mp.weixin.qq.com/s/QVF6upVMSbgvZy8lHZS3CQ"><img src="https://img.shields.io/badge/知识星球-代码随想录-blue" alt=""></a>
  <a href="https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw"><img src="https://img.shields.io/badge/刷题-微信群-green" alt=""></a>
  <a href="https://img-blog.csdnimg.cn/20201210231711160.png"><img src="https://img.shields.io/badge/公众号-代码随想录-brightgreen" alt=""></a>
  <a href="https://space.bilibili.com/525438321"><img src="https://img.shields.io/badge/B站-代码随想录-orange" alt=""></a>
</p>

--------------------------

# 程序员的简历应该这么写！！（附简历模板）

> Carl多年积累的简历技巧都在这里了

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都是很好的选择，如果把这些放在简历上，面试官一定会看的，这都是加分项。

## 简历模板

最后福利，把我的简历模板贡献出来！如下图所示。

![简历模板](https://img-blog.csdnimg.cn/20200803175538158.png)

这里是简历模板中Markdown的代码：https://github.com/youngyangyang04/Markdown-Resume-Template ，可以fork到自己Github仓库上，按照这个模板来修改自己的简历。

**Word版本的简历，大家可以在公众号「代码随想录」后台回复：简历模板，就可以获取！**

## 总结

**好的简历是敲门砖，同时也不要在简历上花费过多的精力，好的简历以及面试技巧都是锦上添花**，真的求得心得的offer靠的还是真才实学。

如何真才实学呢？ 跟着「代码随想录」一起刷题呀，哈哈

大家此时可以再重审一遍自己的简历，如果发现哪里的不足，面试前要多准备多练习。

就酱，「代码随想录」就是这么干货，Carl多年积累的简历技巧都毫不保留的写出来了，如果感觉对你有帮助，就宣传一波「代码随想录」吧，值得大家的关注！

------------------------

* 微信：[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
* B站：[代码随想录](https://space.bilibili.com/525438321)
* 知识星球：[代码随想录](https://mp.weixin.qq.com/s/QVF6upVMSbgvZy8lHZS3CQ)

