【干货】程序员简历准备及面试技巧分享 |
|
旁观者
L21
• 2022-03-24 • 回复 2 • 最后编辑于2022-03-24 23:08 • 只看楼主
• 举报
|
最近金三银四,借此机会和大家分享简历、投递策略和面试上的经验。
本文一共 6k+ 字,肝到了凌晨 3 点多,希望对大家求职有所帮助。
1. 简历
下面,我就开始说下第一块内容 —— 简历。这里我默认大家都写过这个东西,所以这里主要是说 7 点小建议。
1.1 模板
推荐大家选择简洁一点模板,不要太花哨。只要能够让 hr、面试官清楚、快速知道你的关键信息就可以了,太花哨容易分散别人注意力。
1.2 格式
简历一定要用 PDF,不要用 word 文档。因为不同电脑看 word 文档容易出现样式问题
1.3 照片
要不要贴照片的疑问,这应该是刚准备进职场的同学常见的问题。对技术岗来说,一般不贴照片。当然了,帅哥美女请随意。
1.4 文件名
关于简历的文件名格式,我个人是这样的 —— 姓名_学历_岗位_手机号。
坦白讲,尽管这个都快说烂了,至今来找我内推的小伙伴,也还有人把文件名写得相当随意,有的文件名直接写简历 2 个字,或者是姓名_岗位(1),这个括号 1 就有点秀,太不细心了。
说到这可能有的小伙伴会想,我名校毕业的,只写个学历会不会太亏了?
如果是这种情况,你可以自信写上 985 本或 211 本。如果你是清华北大等名校,你把学校名写上都行,这是你的优势。
如果你学历不太好,又有一定工作年限,那也可以把工作年限代替学历那个位置。
1.5 专业技能
描述专业技能这块,如果只是看过几篇文章这种的,可以写了解。接着是熟悉和掌握,最后就是精通了。
之后,我的建议是慎重写精通。除非真的研究得很深入,否则都不建议写。
原因的话很好理解,写精通的技能,除非这个专业技能在你面试的公司完全不用,否则面试时候一定是「关照」你的地方。所以如果答不出来,或者回答得不是很好的话,就可能有点尴尬了。
1.6 专业名词
专业名词一定要写对,比如 MySQL,大小写要注意,如果你实在不确定,那可以去他们的官网,然后我们就知道它的正确写法了。
虽然这个写对写错完全不影响我们对这个知识的掌握,但从我接触的人来看,有人觉得不所谓,但也有人会在在意。
既然如此,我们也没必要去试踩这个雷了。反正专业名词写对没有坏处,而写错可能有坏处,所以就没必要去赌这个雷是不是哑雷了。
1.7 工作经历和项目经历
这是最后一点,也是我认为简历中最重要一部分。
从我接触过的简历来看,很多人都会在工作经历这写一些大而全的描述。
什么「大而全」的描述呢?比如:参与 xxx 产品的日常开发和线上问题处理、负责 xxx 系统的开发和维护、实现了 xx 功能。
就这里大家有没有发现,这些内容一般都会出现在你的项目经历上吧,所以这里是不是就重复了呀。
因此我个人建议,在你的简历篇幅足够多的情况下,上述这些内容是可以不用写的。
大家都知道,我们简历一般都是 1-2 页,并且为了美观,内容能刚好占满这 1-2 页是最好了。
所以如果上面那些大而全的描述不写刚好能占满,写上反而要多一页了,那这种情况就可以不用写了。
进一步来说,我也更推荐大家去写新的简历内容,而不是去写重复内容。
以我自己来说,简历中工作经历的篇幅是特别少的。我只写公司名、所属行业、任职时间、岗位就没了。一家公司占 1 行内容,2、3 行就搞定了,把更多空间留给项目经历。
对于项目经历,这一块我的简历是由以下 4 部分组成的。分别是:项目名称、项目描述、涉及技术和负责内容。
如果你们也是这么写的话,那写在涉及技术里面的技术栈一定要好好地复习一下,毕竟写在那其实也是在告诉面试官 —— 你可以来问我这些技术点,我都用过的。
对于怎么写负责内容这一部分,应该是最让人头秃的地方了。
网上有人说用 star 法则来描述,就是在 xx 背景、你的任务是什么,最后通过 xx 方式达到了 xx 的效果。其实大家思路都是的。我是觉得这样要写的内容太多了,过于占用简历的篇幅,所以就提炼了一下。
这部分我是用以下结构来组织的 —— 用 xx + yy 技术,实现了 xx 效果。
其中这个效果就最好有数据支撑,如果没有,那看看能不能用一些专业术语来描述,比如:流量削峰、稳定性、幂等之类的。
毕竟面试官不知道我们做的业务是什么,如果就只写做了什么功能,那面试官真不一定知道要问我们什么问题。
所以换位思考一下,用技术点 + 数据(若有) + 专业术语来给面试官一些提问的机会,同时也体现我们所做的技术价值。
另外数据这个东西,假如实在没有就不用强求了,毕竟也没办法瞎编,而且有些技术内容的确是不会有数据的,比如用了分布式锁来防止重复处理,你说它有什么数据对比呢,是吧。
对于能用数据衡量的场景,我们才希望有数据会更好。
所以当你平时在做优化的时候,记得要记录下优化前后的数据对比。毕竟你要看优化有没有用,那肯定有个前后对比吧。
因此希望大家在遇到可以有数据量化的场景,不要错过了。就算你不跳槽,以后写晋升材料的时候也是可以用上的。
那到了这里,道理我都懂,数据怎么来呢?之前没记录,已经错过了怎么办?
如果是这种情况,那大家可以试试有些数据能不能推算出来。
像从接口设计本身能知道的数据,比如:我们对一个高频接口做了请求合并的优化,程序在合并后一次最多只能处理 100 个请求,而该接口之前最高有 500 QPS。
那我们就可以说「xxx 功能使用请求合并,从 500 QPS 降到 100 QPS」
再举个例子:「xx 功能使用了策略模式和工厂模式,提高了一定的开发效率」。这个提高效率其实是可以评估出来的,即用和不用设计模式做这个需求,分别需要多少人天,这样比起写「提高一定效率」会更加直观一点。
2. 投递策略
好了,那简历这一大内容我就说完了,下面我们来聊下投递策略,这里有 3 个小策略和大家分享下。
2.1 先找练手公司,后目标公司
第一个:先找 1、2 家公司练练手,找下面试感觉,接着才去投你想去的公司。
PS:
练手公司:拿了 offer 也不会去,或者是你一批目标公司中,比较垫底的
面试感觉:熟悉自我介绍和面试节奏、了解你的项目一般会被问什么问题、强化自己对基础原理的记忆和正式表达
2.2 根据个人情况,先后投哪些公司
第二个:根据个人情况,决定先后投哪些公司。
比如字节和某厂都是我的目标公司,但我算法不太行,那我去面字节这种必考算法的公司,翻车的可能性就比较高。
那为了节省精力,可以把字节放到后面再投,先去面那些不考算法,或者考得不难的公司,这样上岸的可能性就会高一些。
那至于哪家公司喜欢考什么内容,这个就要发挥大家的人脉和搜索能力了。这里就涉及到第三点 —— 能内推就内推
2.3 能内推就内推
首先内推是一件双赢的事情,你面试成功通过了,内推人都会有奖励的,所以不用担心让别人内推自己会麻烦到他,别人巴不得有人找他内推。
至于内推的好处,像帮忙跟进度、反馈结果都是可以的。
以我目前的了解,面初中高级岗位,基本上猎头能做的事情,我们找内推的人一样也能做到。
如果是更高级的岗位,主管总监之类的,那这是我的知识盲区了,就不敢多说什么了。
那除了上面说的好处之外,我们还可以问问内推人这个部门氛围/业务怎样、leader 如何、面试有哪些常考的。
有时甚至你都不用问,帮你内推的人都会主动和你说要准备什么东西,或者某某部门加班怎么样。
很多人都关心投的公司/部门氛围怎样,关于这点我自己是会去问人,或者去脉脉、看准网上看的评价。不过小厂的信息大概率非常少,甚至没有,毕竟人本来就不多,会出来发声的就更少了。
如果你没有认识这家公司的人,但又想找人内推。那可以去一些求职软件上找,比如 boss、拉钩、脉脉这类,或者问问自己朋友有没认识的人。
如果还是没有,那去刚才说的那些招聘软件找猎头或 hr 帮推也是可以的。
最后对于实习和校招同学来说,推荐去牛客或脉脉上找人内推。
3. 面试
ok,我们接下来来说下最后一个大点 —— 面试。
3.1 自我介绍
首先是自我介绍,这个我个人认为是 1-2min 就差不多了,但如果是找实习和校招,本身能写的就不多,那这种情况特殊可以根据自己情况来哈。
在面试前,请一定要先熟悉自己的自我介绍,用面试的状态练习说几遍,在脑子想没用。
千万不要在面试时候还吞吞吐吐,说不清楚,这样真的很影响印象分。
并且自我介绍被打断的情况也是会发生的,我自己面某大厂总监面时,因对方面试环境问题,就被打断了 3 次,所以这种情况就更要求熟悉自己的自我介绍了。
3.2 技术面
关于技术面,不管你去面小厂还是大厂,基础和项目都是要重点准备的,基本每轮面试都会问。
中大厂至少是 3 轮技术面,高职级岗位则会更多。
最后一轮通常是总监这类管理人员来面,问的问题也比较有差异。以我的经历来说,被问的内容有技术、项目、业务和聊人生都有。
前两轮都会问基础原理(所谓的八股文)、项目和场景设计,如果有考算法的话,那这里肯定也会让你写。
如果你是面管理岗的话,那自然会少问一点基础,多问一点业务、团队管理或者聊下人生。
这里和大家分享一些技巧和小建议,大家可以参考下,具体执行大家根据自身情况来。
3.2.1 算法
第一个就是算法,大家都知道去 leetcode 刷题。如果你时间有限,个人建议只刷剑指 offer 和热门前 100 道就好了,一共是 100 多道题。
还没完,接下来是学会放弃。因为时间有限,所以我们需要追求的是效率,要在越短时间掌握越多越有可能被考察的题目。
所以
hard 难度可以忽略
解法只能用数学公式解决的忽略
题解代码量很多的忽略
看了好几遍题解都不知道在说什么的忽略
再强调下,上面都是为了面试,时间有限的应对方法。
如果你时间充足,除了上面说的剑指 offer 和热门前 100,你可以看你需要练习什么题型来选择性刷,leetcode 上都有标签分类,还是很方便的。
3.2.2 场景设计
第二个,关于场景设计题目。首先要明确,场景设计不一定都有最佳答案,因为脱离业务场景谈设计都是在耍流氓。这里主要是想考察我们解决问题的能力。
当大家被问到的时候,千万不要想着一下子拿出完美的方案,不现实,时间也不允许。
如果你是面试官,你单看着候选人 1、2min 不说一句话,你会怎么想?特别是电话面这种,别人还看不到你的脸,就更加不好判断了。
所以个人建议,你可以先思考一下,给出一个不完善的方案先,然后和面试官说:「我刚想了下可以这么做,但时间有限,可能有一些不合理的地方。然后 blabla 就说想的方案了」
后面就是你和面试官一来一回的 pk 了,原本不完善的方案自然也在这个过程中被不断完善。先完成再完美。
当然,想得出方案,这是一种好的结果。还有一种是想不出,或者有多种实现方式但不知道选哪个的时候。
这种情况我建议是想到多少说多少,甚至只是实现了部分功能也没关系。
说完之后,不会的地方就坦诚和面试官说「还有 xx 部分,因为 xx 地方还没想到,可不可以给点提示」,不要不懂装懂。
不知道选哪种方案的情况也是一样,大胆说出来,包含你选择困难的原因。
而对于这块内容的准备,一方面来自于大家平时工作中的积累,另一方面就是网上的面经大家可以看一看。
校招生对这块要求就不会太高了,有的公司甚至都不会问,主要还是社招的同学需要注意。
像我自己遇到过的就有:
短链服务怎么设计
动态怎么设计,比如微信朋友圈或微博
秒杀怎么设计
大流量场景下,服务撑不住了,可以怎么优化
RPC 系统怎么设计,有哪些关键地方
还是那句话,重点考察解决问题的能力,方案不是最正确的也没关系。
毕竟我怎么可能知道微信朋友圈是怎么设计的,要是我光看产品功能就能懂别人一个团队做的事情,那岂不是要上天了。
3.2.3 遇到不懂/不确定的题目
第三个技巧是当我们被问到不懂,或者不确定的题目时可以怎么应对。
如果是没听清的话,可以让面试官复述一遍。
如果你不知道面试官在问什么的,我通常会反问回去,和他确定是不是想听 xx 方面的内容。
比如面试官问说下线程池的原理,这个可以说构造参数含义和合理使用、线程怎么复用、线程池出现异常的处理等等。可以说很多东西,时间不太允许。
这时可以问他,「不好意思,你是指线程复用这块内容,还是 xxx 内容」。总之就是需要把问题给明确下来,给面试官做选择题,缩小问题范围。
当然了,如果你不会的点就不要说出这个选项啦。
之后对于不懂的知识点,我们可以迂回一点,尽量不要直接说不会,这直接就躺平了。
我们可以说「这个我不太了解,但我猜是这样的,blabla」,或者说「xxx 我没怎么了解,但我知道 yyy 和它差不多,也能做到 zzz 的目的」
像这样挽救一下,说不定面试官就顺你刚说的新东西去追问你呢,而这又是你熟悉的内容,它不香吗?
3.2.4 项目
ok,3 个技巧就说完了,剩下一个重点戏就是项目了,有 2 点我希望大家可以提前准备的,属于高频问题。
梳理自己项目的难点或亮点是什么?
项目中,为什么用 xx 技术点,用 yy 的可以吗?或者为什么这么设计?
关于第一点,这个内容即使面试官没问,我们也可以在自我介绍时候表述出来
如果你觉得自己的项目的确没什么厉害的东西,都是业务的 curd。那就挑一个值得说的优化,或者设计方案也行。
毕竟高大上的东西的确只有少数人接触到,都是理解的。
接下来关于第二点,这是我经常被问的一个问题,目的是考察对自己项目的理解是不是真的知其所以然,还是说自己只是一个无情的 curd 机器。
3.2.5 惯例
按照惯例,当面试结束时,面试官一般都会问我们还有什么问题想问没。
我不知道大家都准备了什么问题哈,我自己目前会有下面几个回答。这个大家根据自身情况,仅供参考就好,肯定随着经历、面试情况的不同而不同的。
如果 jd 没写部门或业务,我会问这个岗位具体是做什么业务的,团队规模多少人
就刚才的面试,你觉得我还有哪些地方需要加强一下
团队氛围怎么样,平时上下班是几点
没有了,谢谢(狗头保命)
3.2.6 不懂的问题要去解决
最后这里补充一下,如果面试时你遇到了不懂,或者回答得不好的问题,记得面试结束后要去弄懂它,万一下次面试又被重复问到了呢?我自己是有这样的经历过。
3.3 hr 面
如果技术面都通过,最后到了 hr 面,基本就是聊人生、对方公司情况和谈薪资。
薪资这块,行业一般就是卡涨幅 30%。
但这不是绝对的,特别是对于 base 低的朋友,如果你的薪资在这家公司就算涨 30% 也够不着对方的下限,那没必要委屈自己,按照对方公司的薪资水平来提就好了。
如果你觉得对方给的不够,并且你还有其他 offer。那你完全可以说已经有了其他 offer,对方给了 xxx,但自己更想来贵公司,希望薪资可以给到 yyy。
另外,如果这家公司是你的目标公司之一,那也请关心下和自己利益相关的东西。比如:公司的薪酬结构、上下班和午休时间、公积金基础和比例等等。
以上都是些基本信息,如果你有多个 offer 的情况,这些都是你做选择的依据。像年终奖这些浮动的东西,记得看保底水平,而不是平均水平。
因为我们需要管理自己的心理预期,不然你接了 offer,到时又没拿到这么多,就非常影响自己的心态了。
4. 最后唠叨
面试成功与否其实就是实力 + 运气。
像公司有没有开放 hc、面试官面试那天心情好不好、问的问题是不是都是自己刚准备的。
这些都是运气,我们改变不了。我们能改变的只有实力,实力越高,运气的影响程度越低。
最后,希望大家都能顺利拿到自己理想的 offer。
来源:Java3y
作者:七淅
声明:本文系转载文章,仅供学习交流使用,侵权请联系删除