如何写好简历?
作者:沉默王二 发布时间:2023-05-12T13:10:40.257+0800
昨天有个球友说在语雀的《Java 面试指南》里怎么都找不到《如何写好简历》这篇内容,搞得我很意外,所以我这里把内容在星球里也发一次,希望大家都能好好看看,尤其是最近有投简历的球友。
务必重视!
核心注意事项
- 切忌花里胡哨
- 切忌写期望薪资
- 切记内容真实、精简
- 切记突出重点、优势
- 切记简历文件格式使用 pdf
废话一句:好的简历是拿到 offer 的第一步
简历模板
可以参考星球的这篇帖子,看看其他球友的简历怎么写,写的非常好,如果你实在不会写,去模仿别人的就好了,但不要直接抄,要对自己负责。
基本信息、专业技能、实习经历、工作经验、项目经历、教育背景、荣誉奖项模板
切忌花里胡哨:无与伦比的配色直接让 HR/面试官眼花缭乱,不确定 HR 是不是一般都年纪大点,但面试官一定年纪不轻,花里胡哨肯定受不了😖
做到清晰、高效、突出重点
可以使用开发者客栈的简历生成器:传送门
还有木及简历、超级简历,等等,都可以根据 markdown 格式生成 PDF,推荐:https://t.zsxq.com/0eJNRVn0E
用起来还是非常舒服的,直接在 input 中填写内容,然后导出 PDF 就行了。
简历内容
- 基本资料
- 教育背景
- 技能
- 工作、项目经历
- 个人总结
简历内容基本就这几个,但是顺序要讲究扬长避短。
拿教育背景来讲,如果你是双一流的硕士、海龟等等,可以提前写。但如果是三本、专科,那这个版块就要往后放了。
总之就是放大自己的长处,让自己的短板看起来越不起眼越好。
简历不要写得太复杂,毕竟大部分面试官/HR 没有那么多耐心,嗯,主要是没有时间,大多数 HR 筛选简历的时候都是靠工作之余,咱不能加大人家的负担,况且有的 HR 每天要筛选上千份简历,简直头痛。
就我个人的经验来看,看一份简历也就大概 30s 的时间,好的简历多看会,看不顺眼的就直接 pass 了。真的就应了语文老师的那句话:“高考作文阅卷时间只有几十秒的时间。”
偶尔看到非常吸睛的,就多看,多品,对吧,差不多的,根本没时间。
基本资料
可以体现出:获奖、证书、英语、博客或开源项目,这些也挺重要的。
这里重点强调一下开源项目和博客,我个人在做面试官的时候喜欢看这两个。
如果我在简历开头看到了个人博客、GitHub 链接,就会点进去瞧瞧。
哪怕是里面的内容不是非常吸引人,但相比其他内容,我个人更喜欢看这方面的。如果里面的内容非常不错,那绝对是加分项了。
博客:反正我自己就是写博客起家的,所以我希望在这方面找到志同道合的小伙伴。
GitHub:这就更不用说了,talk is cheap,show me the code。
除非你有强背书,那这两个绝对是非常好的背书。博客/开源项目,如果内容还不错,往前写,不要写到最后 —— 这是很大的竞争优势!
尽量不要用 CSDN 的,除非你排名非常靠前,否则尽量自己搭一个。可以参考二哥的 Java 进阶之路来搭:https://tobebetterjavaer.com/
年龄,如果很年轻就写上,如果工作 >= 5 年了就不用写了。通过教育经历和工作经历,可以推断出你的年龄。
婚姻状况不用写,hr 面试时会聊到。但女生会被重点问道,还会关心你啥时候生孩子,因为产假好几个月。
期望薪资不要写,不要轻易暴露自己的底牌。工资最后面聊。
简历最大的几个优势:
- 学校(特别应届生);
- 大厂工作经历;
- 开源项目、博客等社区影响力(特别适合内推)
教育背景
扬长避短。学霸可以随便写,突出学历优势。如果是一般的学校,成绩一般就可以将这个模块放在最后再提,避免直接挂掉。
专业技能
这一趴比较重要。涉及两个问题;
问题一:
球友们常用的几个词。了解/熟练/掌握/熟悉/精通,我们先拿出来说一下。
这几个词,每个人理解都不一样。比如面试官的理解:
- 了解:就是你知道有这么一个东西,大概能用来干嘛
- 熟悉:就是你经常在使用,但是未必有很多的了解,也没深入的学习
- 掌握:就是你能用这个东西来完成一些功能,解决一些问题,但是还不熟练,还需要边查边做
- 熟练:就是你成为一个熟练工了(大多数人在此水平),能够快速的搞定功能模块,代码需求,完全不用思考。甚至高端点的人,有自己的代码库和工具箱了,那搭建项目,完成功能,就是复制黏贴(自己的代码),飞快的。而且很多地方都自动化完成了。
- 精通:在某一方面的技术有一定的影响力,对这种技术的优缺点,适用场景有非常深刻的理解。提交过开源代码,回答过别人的问题,一般这方面的问题都难不倒你。
但是面试者的理解可能是
- 了解:听说过名字
- 熟悉:会 'Hello World'
- 掌握:基本上看过文档,知道相关知识
- 熟练:拿来写过项目
- 精通:用这个技术写了很久的业务
大多数球友都是按照使用的年限来选择词汇。但是又对技术本身有种敬畏的。所以就会出现通篇「熟练」。
面试者心态:我要是写精通,会被面试官问死吧~
如何解决这一问题,让专业技能看起来不那么死板且重点突出(扣原则:突出重点)
问题二:
技能的广度和深度。
好多球友简历中恨不得将自己知道的或者看过的技术都写上。比如:
- 熟练xxxxx
- 熟悉xxxx
- 熟练xxxxx
- 熟悉xxxx
- 熟练xxxxx
- 熟悉xxxx
广度和深度在时间成本上是对立的两方面。小公司人不多,可能更多注重广度。大公司大家各司其职,深度更重要。
但是总体上 深度 > 广度。所以在简历上的写法要注意。专业技能尽可能的要深入。广度可以放在项目经历中写。
以上两个问题在专业技能板块的解决方式就是:减少样板词汇+过滤合并技术栈+字体加粗。
项目经历
这个版块也是很重要的,但是大多数人忽略了这一点。
这块一般有几个考察点:
- 最后一家公司经历(大厂优先)
- 公司个数和每个公司的任职年限(稳定的优先)
- 项目复杂度
- 个人的贡献和成果
正确的项目经历包括这几部分:
- 项目概述(言简意赅)
- 个人职责(主要负责人还是协作方,负责哪些方面)
- 技术难点或者项目难点(这是面试官比较关心的)
- 成果业绩(数据量化)
涉及关键内容可加粗处理,醒目突出
这我觉得可以适当减少项目具体的业务描述(不是不写哦),我建议重点描述自己解决了什么问题,优化了什么地方,比如:
- 解决了 XX 服务请求超时的问题。
- 优化了接口,将 QPS 由 1000 提升到了 5000 等等。
个人总结
切勿干夸自己 🙄
不要忘了我们的写简历的原则 「突出重点」 。
例:
- 3年ToB类产品开发经验,经常跨部门沟通,能够站在产品角度考虑问题。
- 较强的执行力,能推动和协同其他人实现需求落地,并取得预期效果
- 善于学习总结 (这里可以再次附上自己的博客地址)
- 经常复盘项目和技术方案,反思自己,进一步提升自己的业务和技术水平。
- 较强的产品思维,多次协助pm打造出优秀的项目
再次强调
1)基本错误尽量减少,比如这样:
看到 GitHub 地址我本来很惊喜,但连 GitHub 都能拼错,肯定有大问题,果然,点进去一看,水的不行。
再比如说把 Java 写成 java,JAVA,我本人是非常讨厌这样的不注意细节的。
我自己写博客的时候就绝对不允许这样的情况出现。因为这样显得非常不专业。
2)千万不要 Word,就用 PDF
强调过很多次了,但依然能收到这样的 Word 简历,打开直接乱码。
PDF 甚至不用装 PDF 阅读器,直接浏览器就能打开了,这多为 HR/面试官着想啊!!!!!!!
我用 Chrome 浏览器打开的时候就感觉看起来很舒服。
3)HR/面试官关注的点
对于应届生,如果是学霸,那么突出计算机基础;否则可以突出一下自己做了哪些不一样的,比如说 开源项目、博客,你的上进心等。
对于 1-3 年的初级岗,这部分球友的简历重心应该放在学习能力、积极主动性上面。
因为项目经验还不怎么丰富,所以要从这些方面表现出自己的优势。
对于 3-5 年的,一般是中高级岗位,应该突出自己解决问题的能力,设计优秀方案的能力。
最好在简历中突出自己并发、JVM 优化、分布式等经验。
4)简历模板
除了前面提到的简历模板,再推荐一个:冷熊简历
社招2-3年模板案例
有球友在微信上问我“有没有社招 2 到 3 年好一点的简历模板啊?”这里就给大家分享一个,我之前的一个读者(工作 2 年多,最近刚面试)的面试情况和他在写简历时的注意事项,那希望能给球友们一些参考和启发🤔。
在整个面试过程中,问的最多的几个问题:
- 1.Java 本地锁到分布式锁,各种锁的场景,为什么要用,以及不同锁实现方式的底层,优缺点,还有 volitale
- 2.hashmap ,这个就不用多说了,put 过程啊,为什么线程不安全,1.7 和 1.8 的区别,为什么要用红黑树等等,可问的很多
- 3.多线程实现方式,线程池核心参数,运行过程,有什么问题需要注意的
- 4.jvm 方面,cms 问的比较多,和 g1 的区别,还有 rootsearching,类加载过程,jvm 内存模型以及各个模块运用
- 5.redis 哨兵同步,投票选举,集群模式,持久化方式,zset 实现方式
- 6.dubbo 调用链路, 其 spi 和 java 的有什么区别
- 7.mysql 索引优化思路,事务 mvcc,日志系统,主从同步, buffer pool ,分库分表等
- 8.zookeeper 脑裂问题,leader 选举过程
- 9.spring bean 生命周期,循环依赖,ioc 和 aop ,事务实现方式等
- 10.kafka 高吞吐原因,丢失消息的场景,副本维护,leader 选举,消息幂等性保证等
对于 2-3 年工作经历的话,整个面试中问的很多的还是对于**「基础、还有各个框架的理解」,这也是最基础的内容,还会有一些「设计选型」**,如果你是项目负责人的话,需要知道为何要选某个框架,还有一些兜底,都是需要自己去做的
再来看看读者的这个「简历是如何写」的。
专业技能
给大家看下「专业技能」栏,读者在这里写的基本都是他记得很熟的,不熟悉的框架尽量不要写上去,比如 rabbitmq 虽然你可能看过,但不是很熟,就不要乱写,免得面试中被问到回答不上来。
大家会发现,其实面试官**「基本都是按照你写的技能」去问的,基本要求就是你简历上写的东西,你都需要熟悉,基本技能栏一定要「体现某些技术的深度」**,能让面试官看出来你平常会有自己去深度学习
项目经历
再给大家看下「项目经历」栏
这里就挑了两个项目给大家看下:要告诉大家的是,「一个好的简历模板绝对能让你简历通过的几率大很多」
在项目经历这块儿一定要详细的去写:
- 「技术框架」:展现项目所用技术框架,后面面试官可能会根据项目内容结合技术框架去提问
- 「工作职责」:体现了你在整个项目中的角色定位
- 「方案设计」:可以展现出你的设计能力,为何要这么设计?
- 「痛点」:为什么要做这个项目?是有什么解决不了的问题吗?
- 「主要功能」:介绍你这个项目的内容,让面试官能够一眼了解你这个项目大致内容
- 「解决了什么问题」:体现业绩的时候到了
面试过程需要注意什么
最后,再来谈谈面试过程需要注意什么。
1.跟着面试官的节奏回答问题
语速很重要,面试过程中**「语速」不要太快,面试官一般会比较喜欢稳扎稳打的,语言这种东西在字里行间中也会体现出一个人的性格,当一场面试进行了 10 多分钟左右,你就可以「根据面试官的反馈来调整」**自己的语速,能力固然重要,但是面试结果还是掌握在面试官手里的,对不?即使通过了后面的面试到了谈 offer 的时候,之前面试官对你的评价也是很重要的。
2.让面试官跟着自己的节奏来问
这点也是非常重要的,尽管你面试可能会有 4~5 轮,但还是没有办法完全的挖透你,在面试官问到某个问题时,如果你对某个问题了解的比较深入,那么你就**「可以抛出更多的知识点让面试官去追问」**
比如你在回答锁升级的时候可以自己扩展到锁标志位,通过锁标志位还可以扩展的对象的内存布局,通过内存布局还可以扩展到不同操作系统对于内存布局的存储大小
通过一个个深入知识点的抛出以及面试官的追问,既可以让面试官发现你是一个平常都会去深入学习的人(每天一个小心机)
3.避重就轻,快速逃离
这点也很重要,如果遇到某个不会的问题时,立马过,不要犹豫,因为整个面试时间是固定的,在某个你不会的问题上停留太久可不是一个明智的选择,一定要放大自己的优点,让面试官的问题能够尽量精准命中你的知识体系内
4.学会猜
学会猜,这个要怎么理解,我给大家再举个例子:
比如面试官问到你 zookeeper 的选举机制是怎么做的,如果你不会,该怎么办?
这个时候就要学会猜了,你**「可以给面试官说下其他的选举机制」,以及有哪些问题,然后根据 zookeeper 的特性,去猜下它是大概怎么去选举的,这个地方「即使答错了也没关」系,因为「面试从来不是要考倒你,而是要看看你会什么,你自身的特性是否满足这个岗位」**
5.别紧张,放轻松
虽然是技术岗位,但是沟通能力也是非常非常非常重要的一点,如果是一些深层的研究岗位,这点可能要求不是很高,如果是业务开发,那么沟通也是会占有一定的比重的,毕竟你需要经常和其他业务方沟通
怎么才能不紧张?「多练,多说」,没有捷径
6.先面小公司
把自己喜欢的公司放到后面,「先面小公司扫扫盲」,找下手感,「或者让周围技术比较好的朋友多帮自己模拟面试一下」,尽量扩宽或者加深一下自己的知识体系,好久没面试也要锻炼下自己的沟通,好在后续面试能够正常或者超常发挥~
问题回复
再来聊一些大家可能感兴趣的小问题。
学历重要吗?
重要,说不重要的都是骗人的,之前我一个朋友专科学历,技术很硬,但是连面试机会都很少,这个东西就相当于敲门砖,「本科和专科是一道分水岭」,「重点本科和普通本科又是一道分水岭」,对于校招的同学来说一个重点本科的学历文凭很重要,如果是社招的同学要求会放松很多,毕竟 985、211、c9 的还是凤毛麟角。
算法重要吗?
刷就完事了,想进大厂的同学,算法必刷的,但是现在很多中厂也开始卷算法了,每天刷一道,也不会消耗太长时间,虽然工作中很少用到,但是这个东西关键在于可以**「锻炼并扩展自己的思路」**
谈薪不敢要怎么办?
薪资有很多考量因素,比如**「面试水平、上份工作薪资、你所面的这家公司的薪资范围」等等等等,谈薪可以多看看周围人的薪资水平,可以做一个参考,如果你觉得你面试整个流程都很好或者手里也「有比较不错的offer」**,那你就可以超出预期的去要下,当然不要太离谱。
祝大家面试顺利!也欢迎球友们留言讨论。
昨天有个球友说在语雀的《Java 面试指南》里怎么都找不到《如何写好简历》这篇内容,搞得我很意外,所以我这里把内容在星球里也发一次,希望大家都能好好看看,尤其是最近有投简历的球友。
务必重视!
核心注意事项
- 切忌花里胡哨
- 切忌写期望薪资
- 切记内容真实、精简
- 切记突出重点、优势
- 切记简历文件格式使用 pdf
废话一句:好的简历是拿到 offer 的第一步
简历模板
可以参考星球的这篇帖子,看看其他球友的简历怎么写,写的非常好,如果你实在不会写,去模仿别人的就好了,但不要直接抄,要对自己负责。
基本信息、专业技能、实习经历、工作经验、项目经历、教育背景、荣誉奖项模板
切忌花里胡哨:无与伦比的配色直接让 HR/面试官眼花缭乱,不确定 HR 是不是一般都年纪大点,但面试官一定年纪不轻,花里胡哨肯定受不了😖
做到清晰、高效、突出重点
可以使用开发者客栈的简历生成器:传送门
还有木及简历、超级简历,等等,都可以根据 markdown 格式生成 PDF,推荐:https://t.zsxq.com/0eJNRVn0E
用起来还是非常舒服的,直接在 input 中填写内容,然后导出 PDF 就行了。
简历内容
- 基本资料
- 教育背景
- 技能
- 工作、项目经历
- 个人总结
简历内容基本就这几个,但是顺序要讲究扬长避短。
拿教育背景来讲,如果你是双一流的硕士、海龟等等,可以提前写。但如果是三本、专科,那这个版块就要往后放了。
总之就是放大自己的长处,让自己的短板看起来越不起眼越好。
简历不要写得太复杂,毕竟大部分面试官/HR 没有那么多耐心,嗯,主要是没有时间,大多数 HR 筛选简历的时候都是靠工作之余,咱不能加大人家的负担,况且有的 HR 每天要筛选上千份简历,简直头痛。
就我个人的经验来看,看一份简历也就大概 30s 的时间,好的简历多看会,看不顺眼的就直接 pass 了。真的就应了语文老师的那句话:“高考作文阅卷时间只有几十秒的时间。”
偶尔看到非常吸睛的,就多看,多品,对吧,差不多的,根本没时间。
基本资料
可以体现出:获奖、证书、英语、博客或开源项目,这些也挺重要的。
这里重点强调一下开源项目和博客,我个人在做面试官的时候喜欢看这两个。
如果我在简历开头看到了个人博客、GitHub 链接,就会点进去瞧瞧。
哪怕是里面的内容不是非常吸引人,但相比其他内容,我个人更喜欢看这方面的。如果里面的内容非常不错,那绝对是加分项了。
博客:反正我自己就是写博客起家的,所以我希望在这方面找到志同道合的小伙伴。
GitHub:这就更不用说了,talk is cheap,show me the code。
除非你有强背书,那这两个绝对是非常好的背书。博客/开源项目,如果内容还不错,往前写,不要写到最后 —— 这是很大的竞争优势!
尽量不要用 CSDN 的,除非你排名非常靠前,否则尽量自己搭一个。可以参考二哥的 Java 进阶之路来搭:https://tobebetterjavaer.com/
年龄,如果很年轻就写上,如果工作 >= 5 年了就不用写了。通过教育经历和工作经历,可以推断出你的年龄。
婚姻状况不用写,hr 面试时会聊到。但女生会被重点问道,还会关心你啥时候生孩子,因为产假好几个月。
期望薪资不要写,不要轻易暴露自己的底牌。工资最后面聊。
简历最大的几个优势:
- 学校(特别应届生);
- 大厂工作经历;
- 开源项目、博客等社区影响力(特别适合内推)
教育背景
扬长避短。学霸可以随便写,突出学历优势。如果是一般的学校,成绩一般就可以将这个模块放在最后再提,避免直接挂掉。
专业技能
这一趴比较重要。涉及两个问题;
问题一:
球友们常用的几个词。了解/熟练/掌握/熟悉/精通,我们先拿出来说一下。
这几个词,每个人理解都不一样。比如面试官的理解:
- 了解:就是你知道有这么一个东西,大概能用来干嘛
- 熟悉:就是你经常在使用,但是未必有很多的了解,也没深入的学习
- 掌握:就是你能用这个东西来完成一些功能,解决一些问题,但是还不熟练,还需要边查边做
- 熟练:就是你成为一个熟练工了(大多数人在此水平),能够快速的搞定功能模块,代码需求,完全不用思考。甚至高端点的人,有自己的代码库和工具箱了,那搭建项目,完成功能,就是复制黏贴(自己的代码),飞快的。而且很多地方都自动化完成了。
- 精通:在某一方面的技术有一定的影响力,对这种技术的优缺点,适用场景有非常深刻的理解。提交过开源代码,回答过别人的问题,一般这方面的问题都难不倒你。
但是面试者的理解可能是
- 了解:听说过名字
- 熟悉:会 'Hello World'
- 掌握:基本上看过文档,知道相关知识
- 熟练:拿来写过项目
- 精通:用这个技术写了很久的业务
大多数球友都是按照使用的年限来选择词汇。但是又对技术本身有种敬畏的。所以就会出现通篇「熟练」。
面试者心态:我要是写精通,会被面试官问死吧~
如何解决这一问题,让专业技能看起来不那么死板且重点突出(扣原则:突出重点)
问题二:
技能的广度和深度。
好多球友简历中恨不得将自己知道的或者看过的技术都写上。比如:
- 熟练xxxxx
- 熟悉xxxx
- 熟练xxxxx
- 熟悉xxxx
- 熟练xxxxx
- 熟悉xxxx
广度和深度在时间成本上是对立的两方面。小公司人不多,可能更多注重广度。大公司大家各司其职,深度更重要。
但是总体上 深度 > 广度。所以在简历上的写法要注意。专业技能尽可能的要深入。广度可以放在项目经历中写。
以上两个问题在专业技能板块的解决方式就是:减少样板词汇+过滤合并技术栈+字体加粗。
项目经历
这个版块也是很重要的,但是大多数人忽略了这一点。
这块一般有几个考察点:
- 最后一家公司经历(大厂优先)
- 公司个数和每个公司的任职年限(稳定的优先)
- 项目复杂度
- 个人的贡献和成果
正确的项目经历包括这几部分:
- 项目概述(言简意赅)
- 个人职责(主要负责人还是协作方,负责哪些方面)
- 技术难点或者项目难点(这是面试官比较关心的)
- 成果业绩(数据量化)
涉及关键内容可加粗处理,醒目突出
这我觉得可以适当减少项目具体的业务描述(不是不写哦),我建议重点描述自己解决了什么问题,优化了什么地方,比如:
- 解决了 XX 服务请求超时的问题。
- 优化了接口,将 QPS 由 1000 提升到了 5000 等等。
个人总结
切勿干夸自己 🙄
不要忘了我们的写简历的原则 「突出重点」 。
例:
- 3年ToB类产品开发经验,经常跨部门沟通,能够站在产品角度考虑问题。
- 较强的执行力,能推动和协同其他人实现需求落地,并取得预期效果
- 善于学习总结 (这里可以再次附上自己的博客地址)
- 经常复盘项目和技术方案,反思自己,进一步提升自己的业务和技术水平。
- 较强的产品思维,多次协助pm打造出优秀的项目
再次强调
1)基本错误尽量减少,比如这样:
看到 GitHub 地址我本来很惊喜,但连 GitHub 都能拼错,肯定有大问题,果然,点进去一看,水的不行。
再比如说把 Java 写成 java,JAVA,我本人是非常讨厌这样的不注意细节的。
我自己写博客的时候就绝对不允许这样的情况出现。因为这样显得非常不专业。
2)千万不要 Word,就用 PDF
强调过很多次了,但依然能收到这样的 Word 简历,打开直接乱码。
PDF 甚至不用装 PDF 阅读器,直接浏览器就能打开了,这多为 HR/面试官着想啊!!!!!!!
我用 Chrome 浏览器打开的时候就感觉看起来很舒服。
3)HR/面试官关注的点
对于应届生,如果是学霸,那么突出计算机基础;否则可以突出一下自己做了哪些不一样的,比如说 开源项目、博客,你的上进心等。
对于 1-3 年的初级岗,这部分球友的简历重心应该放在学习能力、积极主动性上面。
因为项目经验还不怎么丰富,所以要从这些方面表现出自己的优势。
对于 3-5 年的,一般是中高级岗位,应该突出自己解决问题的能力,设计优秀方案的能力。
最好在简历中突出自己并发、JVM 优化、分布式等经验。
4)简历模板
除了前面提到的简历模板,再推荐一个:冷熊简历
社招2-3年模板案例
有球友在微信上问我“有没有社招 2 到 3 年好一点的简历模板啊?”这里就给大家分享一个,我之前的一个读者(工作 2 年多,最近刚面试)的面试情况和他在写简历时的注意事项,那希望能给球友们一些参考和启发🤔。
在整个面试过程中,问的最多的几个问题:
- 1.Java 本地锁到分布式锁,各种锁的场景,为什么要用,以及不同锁实现方式的底层,优缺点,还有 volitale
- 2.hashmap ,这个就不用多说了,put 过程啊,为什么线程不安全,1.7 和 1.8 的区别,为什么要用红黑树等等,可问的很多
- 3.多线程实现方式,线程池核心参数,运行过程,有什么问题需要注意的
- 4.jvm 方面,cms 问的比较多,和 g1 的区别,还有 rootsearching,类加载过程,jvm 内存模型以及各个模块运用
- 5.redis 哨兵同步,投票选举,集群模式,持久化方式,zset 实现方式
- 6.dubbo 调用链路, 其 spi 和 java 的有什么区别
- 7.mysql 索引优化思路,事务 mvcc,日志系统,主从同步, buffer pool ,分库分表等
- 8.zookeeper 脑裂问题,leader 选举过程
- 9.spring bean 生命周期,循环依赖,ioc 和 aop ,事务实现方式等
- 10.kafka 高吞吐原因,丢失消息的场景,副本维护,leader 选举,消息幂等性保证等
对于 2-3 年工作经历的话,整个面试中问的很多的还是对于**「基础、还有各个框架的理解」,这也是最基础的内容,还会有一些「设计选型」**,如果你是项目负责人的话,需要知道为何要选某个框架,还有一些兜底,都是需要自己去做的
再来看看读者的这个「简历是如何写」的。
专业技能
给大家看下「专业技能」栏,读者在这里写的基本都是他记得很熟的,不熟悉的框架尽量不要写上去,比如 rabbitmq 虽然你可能看过,但不是很熟,就不要乱写,免得面试中被问到回答不上来。
大家会发现,其实面试官**「基本都是按照你写的技能」去问的,基本要求就是你简历上写的东西,你都需要熟悉,基本技能栏一定要「体现某些技术的深度」**,能让面试官看出来你平常会有自己去深度学习
项目经历
再给大家看下「项目经历」栏
这里就挑了两个项目给大家看下:要告诉大家的是,「一个好的简历模板绝对能让你简历通过的几率大很多」
在项目经历这块儿一定要详细的去写:
- 「技术框架」:展现项目所用技术框架,后面面试官可能会根据项目内容结合技术框架去提问
- 「工作职责」:体现了你在整个项目中的角色定位
- 「方案设计」:可以展现出你的设计能力,为何要这么设计?
- 「痛点」:为什么要做这个项目?是有什么解决不了的问题吗?
- 「主要功能」:介绍你这个项目的内容,让面试官能够一眼了解你这个项目大致内容
- 「解决了什么问题」:体现业绩的时候到了
面试过程需要注意什么
最后,再来谈谈面试过程需要注意什么。
1.跟着面试官的节奏回答问题
语速很重要,面试过程中**「语速」不要太快,面试官一般会比较喜欢稳扎稳打的,语言这种东西在字里行间中也会体现出一个人的性格,当一场面试进行了 10 多分钟左右,你就可以「根据面试官的反馈来调整」**自己的语速,能力固然重要,但是面试结果还是掌握在面试官手里的,对不?即使通过了后面的面试到了谈 offer 的时候,之前面试官对你的评价也是很重要的。
2.让面试官跟着自己的节奏来问
这点也是非常重要的,尽管你面试可能会有 4~5 轮,但还是没有办法完全的挖透你,在面试官问到某个问题时,如果你对某个问题了解的比较深入,那么你就**「可以抛出更多的知识点让面试官去追问」**
比如你在回答锁升级的时候可以自己扩展到锁标志位,通过锁标志位还可以扩展的对象的内存布局,通过内存布局还可以扩展到不同操作系统对于内存布局的存储大小
通过一个个深入知识点的抛出以及面试官的追问,既可以让面试官发现你是一个平常都会去深入学习的人(每天一个小心机)
3.避重就轻,快速逃离
这点也很重要,如果遇到某个不会的问题时,立马过,不要犹豫,因为整个面试时间是固定的,在某个你不会的问题上停留太久可不是一个明智的选择,一定要放大自己的优点,让面试官的问题能够尽量精准命中你的知识体系内
4.学会猜
学会猜,这个要怎么理解,我给大家再举个例子:
比如面试官问到你 zookeeper 的选举机制是怎么做的,如果你不会,该怎么办?
这个时候就要学会猜了,你**「可以给面试官说下其他的选举机制」,以及有哪些问题,然后根据 zookeeper 的特性,去猜下它是大概怎么去选举的,这个地方「即使答错了也没关」系,因为「面试从来不是要考倒你,而是要看看你会什么,你自身的特性是否满足这个岗位」**
5.别紧张,放轻松
虽然是技术岗位,但是沟通能力也是非常非常非常重要的一点,如果是一些深层的研究岗位,这点可能要求不是很高,如果是业务开发,那么沟通也是会占有一定的比重的,毕竟你需要经常和其他业务方沟通
怎么才能不紧张?「多练,多说」,没有捷径
6.先面小公司
把自己喜欢的公司放到后面,「先面小公司扫扫盲」,找下手感,「或者让周围技术比较好的朋友多帮自己模拟面试一下」,尽量扩宽或者加深一下自己的知识体系,好久没面试也要锻炼下自己的沟通,好在后续面试能够正常或者超常发挥~
问题回复
再来聊一些大家可能感兴趣的小问题。
学历重要吗?
重要,说不重要的都是骗人的,之前我一个朋友专科学历,技术很硬,但是连面试机会都很少,这个东西就相当于敲门砖,「本科和专科是一道分水岭」,「重点本科和普通本科又是一道分水岭」,对于校招的同学来说一个重点本科的学历文凭很重要,如果是社招的同学要求会放松很多,毕竟 985、211、c9 的还是凤毛麟角。
算法重要吗?
刷就完事了,想进大厂的同学,算法必刷的,但是现在很多中厂也开始卷算法了,每天刷一道,也不会消耗太长时间,虽然工作中很少用到,但是这个东西关键在于可以**「锻炼并扩展自己的思路」**
谈薪不敢要怎么办?
薪资有很多考量因素,比如**「面试水平、上份工作薪资、你所面的这家公司的薪资范围」等等等等,谈薪可以多看看周围人的薪资水平,可以做一个参考,如果你觉得你面试整个流程都很好或者手里也「有比较不错的offer」**,那你就可以超出预期的去要下,当然不要太离谱。
祝大家面试顺利!也欢迎球友们留言讨论。
昨天有个球友说在语雀的《Java 面试指南》里怎么都找不到《如何写好简历》这篇内容,搞得我很意外,所以我这里把内容在星球里也发一次,希望大家都能好好看看,尤其是最近有投简历的球友。
务必重视!
核心注意事项
- 切忌花里胡哨
- 切忌写期望薪资
- 切记内容真实、精简
- 切记突出重点、优势
- 切记简历文件格式使用 pdf
废话一句:好的简历是拿到 offer 的第一步
简历模板
可以参考星球的这篇帖子,看看其他球友的简历怎么写,写的非常好,如果你实在不会写,去模仿别人的就好了,但不要直接抄,要对自己负责。
基本信息、专业技能、实习经历、工作经验、项目经历、教育背景、荣誉奖项模板
切忌花里胡哨:无与伦比的配色直接让 HR/面试官眼花缭乱,不确定 HR 是不是一般都年纪大点,但面试官一定年纪不轻,花里胡哨肯定受不了😖
做到清晰、高效、突出重点
可以使用开发者客栈的简历生成器:传送门
还有木及简历、超级简历,等等,都可以根据 markdown 格式生成 PDF,推荐:https://t.zsxq.com/0eJNRVn0E
用起来还是非常舒服的,直接在 input 中填写内容,然后导出 PDF 就行了。
简历内容
- 基本资料
- 教育背景
- 技能
- 工作、项目经历
- 个人总结
简历内容基本就这几个,但是顺序要讲究扬长避短。
拿教育背景来讲,如果你是双一流的硕士、海龟等等,可以提前写。但如果是三本、专科,那这个版块就要往后放了。
总之就是放大自己的长处,让自己的短板看起来越不起眼越好。
简历不要写得太复杂,毕竟大部分面试官/HR 没有那么多耐心,嗯,主要是没有时间,大多数 HR 筛选简历的时候都是靠工作之余,咱不能加大人家的负担,况且有的 HR 每天要筛选上千份简历,简直头痛。
就我个人的经验来看,看一份简历也就大概 30s 的时间,好的简历多看会,看不顺眼的就直接 pass 了。真的就应了语文老师的那句话:“高考作文阅卷时间只有几十秒的时间。”
偶尔看到非常吸睛的,就多看,多品,对吧,差不多的,根本没时间。
基本资料
可以体现出:获奖、证书、英语、博客或开源项目,这些也挺重要的。
这里重点强调一下开源项目和博客,我个人在做面试官的时候喜欢看这两个。
如果我在简历开头看到了个人博客、GitHub 链接,就会点进去瞧瞧。
哪怕是里面的内容不是非常吸引人,但相比其他内容,我个人更喜欢看这方面的。如果里面的内容非常不错,那绝对是加分项了。
博客:反正我自己就是写博客起家的,所以我希望在这方面找到志同道合的小伙伴。
GitHub:这就更不用说了,talk is cheap,show me the code。
除非你有强背书,那这两个绝对是非常好的背书。博客/开源项目,如果内容还不错,往前写,不要写到最后 —— 这是很大的竞争优势!
尽量不要用 CSDN 的,除非你排名非常靠前,否则尽量自己搭一个。可以参考二哥的 Java 进阶之路来搭:https://tobebetterjavaer.com/
年龄,如果很年轻就写上,如果工作 >= 5 年了就不用写了。通过教育经历和工作经历,可以推断出你的年龄。
婚姻状况不用写,hr 面试时会聊到。但女生会被重点问道,还会关心你啥时候生孩子,因为产假好几个月。
期望薪资不要写,不要轻易暴露自己的底牌。工资最后面聊。
简历最大的几个优势:
- 学校(特别应届生);
- 大厂工作经历;
- 开源项目、博客等社区影响力(特别适合内推)
教育背景
扬长避短。学霸可以随便写,突出学历优势。如果是一般的学校,成绩一般就可以将这个模块放在最后再提,避免直接挂掉。
专业技能
这一趴比较重要。涉及两个问题;
问题一:
球友们常用的几个词。了解/熟练/掌握/熟悉/精通,我们先拿出来说一下。
这几个词,每个人理解都不一样。比如面试官的理解:
- 了解:就是你知道有这么一个东西,大概能用来干嘛
- 熟悉:就是你经常在使用,但是未必有很多的了解,也没深入的学习
- 掌握:就是你能用这个东西来完成一些功能,解决一些问题,但是还不熟练,还需要边查边做
- 熟练:就是你成为一个熟练工了(大多数人在此水平),能够快速的搞定功能模块,代码需求,完全不用思考。甚至高端点的人,有自己的代码库和工具箱了,那搭建项目,完成功能,就是复制黏贴(自己的代码),飞快的。而且很多地方都自动化完成了。
- 精通:在某一方面的技术有一定的影响力,对这种技术的优缺点,适用场景有非常深刻的理解。提交过开源代码,回答过别人的问题,一般这方面的问题都难不倒你。
但是面试者的理解可能是
- 了解:听说过名字
- 熟悉:会 'Hello World'
- 掌握:基本上看过文档,知道相关知识
- 熟练:拿来写过项目
- 精通:用这个技术写了很久的业务
大多数球友都是按照使用的年限来选择词汇。但是又对技术本身有种敬畏的。所以就会出现通篇「熟练」。
面试者心态:我要是写精通,会被面试官问死吧~
如何解决这一问题,让专业技能看起来不那么死板且重点突出(扣原则:突出重点)
问题二:
技能的广度和深度。
好多球友简历中恨不得将自己知道的或者看过的技术都写上。比如:
- 熟练xxxxx
- 熟悉xxxx
- 熟练xxxxx
- 熟悉xxxx
- 熟练xxxxx
- 熟悉xxxx
广度和深度在时间成本上是对立的两方面。小公司人不多,可能更多注重广度。大公司大家各司其职,深度更重要。
但是总体上 深度 > 广度。所以在简历上的写法要注意。专业技能尽可能的要深入。广度可以放在项目经历中写。
以上两个问题在专业技能板块的解决方式就是:减少样板词汇+过滤合并技术栈+字体加粗。
项目经历
这个版块也是很重要的,但是大多数人忽略了这一点。
这块一般有几个考察点:
- 最后一家公司经历(大厂优先)
- 公司个数和每个公司的任职年限(稳定的优先)
- 项目复杂度
- 个人的贡献和成果
正确的项目经历包括这几部分:
- 项目概述(言简意赅)
- 个人职责(主要负责人还是协作方,负责哪些方面)
- 技术难点或者项目难点(这是面试官比较关心的)
- 成果业绩(数据量化)
涉及关键内容可加粗处理,醒目突出
这我觉得可以适当减少项目具体的业务描述(不是不写哦),我建议重点描述自己解决了什么问题,优化了什么地方,比如:
- 解决了 XX 服务请求超时的问题。
- 优化了接口,将 QPS 由 1000 提升到了 5000 等等。
个人总结
切勿干夸自己 🙄
不要忘了我们的写简历的原则 「突出重点」 。
例:
- 3年ToB类产品开发经验,经常跨部门沟通,能够站在产品角度考虑问题。
- 较强的执行力,能推动和协同其他人实现需求落地,并取得预期效果
- 善于学习总结 (这里可以再次附上自己的博客地址)
- 经常复盘项目和技术方案,反思自己,进一步提升自己的业务和技术水平。
- 较强的产品思维,多次协助pm打造出优秀的项目
再次强调
1)基本错误尽量减少,比如这样:
看到 GitHub 地址我本来很惊喜,但连 GitHub 都能拼错,肯定有大问题,果然,点进去一看,水的不行。
再比如说把 Java 写成 java,JAVA,我本人是非常讨厌这样的不注意细节的。
我自己写博客的时候就绝对不允许这样的情况出现。因为这样显得非常不专业。
2)千万不要 Word,就用 PDF
强调过很多次了,但依然能收到这样的 Word 简历,打开直接乱码。
PDF 甚至不用装 PDF 阅读器,直接浏览器就能打开了,这多为 HR/面试官着想啊!!!!!!!
我用 Chrome 浏览器打开的时候就感觉看起来很舒服。
3)HR/面试官关注的点
对于应届生,如果是学霸,那么突出计算机基础;否则可以突出一下自己做了哪些不一样的,比如说 开源项目、博客,你的上进心等。
对于 1-3 年的初级岗,这部分球友的简历重心应该放在学习能力、积极主动性上面。
因为项目经验还不怎么丰富,所以要从这些方面表现出自己的优势。
对于 3-5 年的,一般是中高级岗位,应该突出自己解决问题的能力,设计优秀方案的能力。
最好在简历中突出自己并发、JVM 优化、分布式等经验。
4)简历模板
除了前面提到的简历模板,再推荐一个:冷熊简历
社招2-3年模板案例
有球友在微信上问我“有没有社招 2 到 3 年好一点的简历模板啊?”这里就给大家分享一个,我之前的一个读者(工作 2 年多,最近刚面试)的面试情况和他在写简历时的注意事项,那希望能给球友们一些参考和启发🤔。
在整个面试过程中,问的最多的几个问题:
- 1.Java 本地锁到分布式锁,各种锁的场景,为什么要用,以及不同锁实现方式的底层,优缺点,还有 volitale
- 2.hashmap ,这个就不用多说了,put 过程啊,为什么线程不安全,1.7 和 1.8 的区别,为什么要用红黑树等等,可问的很多
- 3.多线程实现方式,线程池核心参数,运行过程,有什么问题需要注意的
- 4.jvm 方面,cms 问的比较多,和 g1 的区别,还有 rootsearching,类加载过程,jvm 内存模型以及各个模块运用
- 5.redis 哨兵同步,投票选举,集群模式,持久化方式,zset 实现方式
- 6.dubbo 调用链路, 其 spi 和 java 的有什么区别
- 7.mysql 索引优化思路,事务 mvcc,日志系统,主从同步, buffer pool ,分库分表等
- 8.zookeeper 脑裂问题,leader 选举过程
- 9.spring bean 生命周期,循环依赖,ioc 和 aop ,事务实现方式等
- 10.kafka 高吞吐原因,丢失消息的场景,副本维护,leader 选举,消息幂等性保证等
对于 2-3 年工作经历的话,整个面试中问的很多的还是对于**「基础、还有各个框架的理解」,这也是最基础的内容,还会有一些「设计选型」**,如果你是项目负责人的话,需要知道为何要选某个框架,还有一些兜底,都是需要自己去做的
再来看看读者的这个「简历是如何写」的。
专业技能
给大家看下「专业技能」栏,读者在这里写的基本都是他记得很熟的,不熟悉的框架尽量不要写上去,比如 rabbitmq 虽然你可能看过,但不是很熟,就不要乱写,免得面试中被问到回答不上来。
大家会发现,其实面试官**「基本都是按照你写的技能」去问的,基本要求就是你简历上写的东西,你都需要熟悉,基本技能栏一定要「体现某些技术的深度」**,能让面试官看出来你平常会有自己去深度学习
项目经历
再给大家看下「项目经历」栏
这里就挑了两个项目给大家看下:要告诉大家的是,「一个好的简历模板绝对能让你简历通过的几率大很多」
在项目经历这块儿一定要详细的去写:
- 「技术框架」:展现项目所用技术框架,后面面试官可能会根据项目内容结合技术框架去提问
- 「工作职责」:体现了你在整个项目中的角色定位
- 「方案设计」:可以展现出你的设计能力,为何要这么设计?
- 「痛点」:为什么要做这个项目?是有什么解决不了的问题吗?
- 「主要功能」:介绍你这个项目的内容,让面试官能够一眼了解你这个项目大致内容
- 「解决了什么问题」:体现业绩的时候到了
面试过程需要注意什么
最后,再来谈谈面试过程需要注意什么。
1.跟着面试官的节奏回答问题
语速很重要,面试过程中**「语速」不要太快,面试官一般会比较喜欢稳扎稳打的,语言这种东西在字里行间中也会体现出一个人的性格,当一场面试进行了 10 多分钟左右,你就可以「根据面试官的反馈来调整」**自己的语速,能力固然重要,但是面试结果还是掌握在面试官手里的,对不?即使通过了后面的面试到了谈 offer 的时候,之前面试官对你的评价也是很重要的。
2.让面试官跟着自己的节奏来问
这点也是非常重要的,尽管你面试可能会有 4~5 轮,但还是没有办法完全的挖透你,在面试官问到某个问题时,如果你对某个问题了解的比较深入,那么你就**「可以抛出更多的知识点让面试官去追问」**
比如你在回答锁升级的时候可以自己扩展到锁标志位,通过锁标志位还可以扩展的对象的内存布局,通过内存布局还可以扩展到不同操作系统对于内存布局的存储大小
通过一个个深入知识点的抛出以及面试官的追问,既可以让面试官发现你是一个平常都会去深入学习的人(每天一个小心机)
3.避重就轻,快速逃离
这点也很重要,如果遇到某个不会的问题时,立马过,不要犹豫,因为整个面试时间是固定的,在某个你不会的问题上停留太久可不是一个明智的选择,一定要放大自己的优点,让面试官的问题能够尽量精准命中你的知识体系内
4.学会猜
学会猜,这个要怎么理解,我给大家再举个例子:
比如面试官问到你 zookeeper 的选举机制是怎么做的,如果你不会,该怎么办?
这个时候就要学会猜了,你**「可以给面试官说下其他的选举机制」,以及有哪些问题,然后根据 zookeeper 的特性,去猜下它是大概怎么去选举的,这个地方「即使答错了也没关」系,因为「面试从来不是要考倒你,而是要看看你会什么,你自身的特性是否满足这个岗位」**
5.别紧张,放轻松
虽然是技术岗位,但是沟通能力也是非常非常非常重要的一点,如果是一些深层的研究岗位,这点可能要求不是很高,如果是业务开发,那么沟通也是会占有一定的比重的,毕竟你需要经常和其他业务方沟通
怎么才能不紧张?「多练,多说」,没有捷径
6.先面小公司
把自己喜欢的公司放到后面,「先面小公司扫扫盲」,找下手感,「或者让周围技术比较好的朋友多帮自己模拟面试一下」,尽量扩宽或者加深一下自己的知识体系,好久没面试也要锻炼下自己的沟通,好在后续面试能够正常或者超常发挥~
问题回复
再来聊一些大家可能感兴趣的小问题。
学历重要吗?
重要,说不重要的都是骗人的,之前我一个朋友专科学历,技术很硬,但是连面试机会都很少,这个东西就相当于敲门砖,「本科和专科是一道分水岭」,「重点本科和普通本科又是一道分水岭」,对于校招的同学来说一个重点本科的学历文凭很重要,如果是社招的同学要求会放松很多,毕竟 985、211、c9 的还是凤毛麟角。
算法重要吗?
刷就完事了,想进大厂的同学,算法必刷的,但是现在很多中厂也开始卷算法了,每天刷一道,也不会消耗太长时间,虽然工作中很少用到,但是这个东西关键在于可以**「锻炼并扩展自己的思路」**
谈薪不敢要怎么办?
薪资有很多考量因素,比如**「面试水平、上份工作薪资、你所面的这家公司的薪资范围」等等等等,谈薪可以多看看周围人的薪资水平,可以做一个参考,如果你觉得你面试整个流程都很好或者手里也「有比较不错的offer」**,那你就可以超出预期的去要下,当然不要太离谱。
祝大家面试顺利!也欢迎球友们留言讨论。
知识星球
扫码加入星球
查看更多优质内容
https://wx.zsxq.com/mweb/views/joingroup/join_group.html?group_id=15522885221412