本文分为3部分,分别为第一部分简历篇,第二部分经典问题篇以及第三部分知识体系篇,都是个人面试经验及同行面试经验总结和整理。
我对于简历的理解是这样的,简历的作用是让看简历的人能够快速、准确地捕捉到有用信息:
- 你是谁
- 你做了什么
- 你哪方面比较牛逼
我觉得只要能展示出这三点,就够了。
简历应该惜字如金,很多人工作了几年,经历的项目有很多,其实不需要把所有的项目都列出来,简历里要展示自己的亮点,牛逼的点,这个亮点,牛逼的点是相对的,相对于自己所做的东西里面的,不是客观的牛逼(如果有当然更好,那必然也是你相对的俩面的亮点,不冲突)
这句话意味着两层意思:
- 1.很多人觉得自己的项目没有亮点的问题,因为你是拿着别人更高的标准来衡量自己,所以你相对于别人没有亮点,这样你就写不出一份简历。
- 2.多个亮点类似的项目合并,或者只写一个,因为都是为了给面试官展示这一个亮点,写多了就是浪费空间,简历上面的字很珍贵。
第一层让你的简历有东西可写(增加),第二层是让你把简历写得更优质(减少)
- 简历一定要有突出的点作为敲门砖,能够让你获得面试机会之余,能更好地在面试过程中展开角度新颖的、有意义的对话;
- 心态保持平和、态度保持谦虚,面试中没回答上来的问题并不是你的致命缺陷,面试者也在通过问题和回答不断探索被面试者的技术边界;
- 面试的问题都是大同小异的,每轮面试结束后最好对问题做一个复盘的记录总结,不断迭代出最全面的回答。
- 面试准备时间以在职2-3个月,脱产半个月为最佳。
- 必备桥段:自我介绍和项目介绍。
简历模块划分
一个完整的简历应该包含了以下几个模块:
- 基本资料:姓名、手机号、邮箱、个人网站(GitHub等)
- 工作经历:公司名、在职时间、工作内容(简述负责、参与什么业务)
- 项目经历:最重要的一点没有之一!展开描述
- 专业技能:加分项还是减分项都有可能,慎重对待,展开描述
- 教育经历:学校名、就读时间
- 其它:简单描述任何你想让面试官知道的东西,比如社区影响力: GitHub 100000000 Star、掘金 Lv9 等等
注意点:
- 1.像一些“政治面貌团员”“英语水平四级”这些可有可无的信息不需要罗列到简历上面
- 2.学校不牛逼,尤其专业是非计算机专业的,不需要把教育经历写在很显眼的地方(其实完全可以考虑放在简历的最下面),如果是培训班出来的,最好不要写在简历上。
- 3.项目中已经充分体现的技术可以不用再罗列到专业技能中,可以写一些自己项目经历没有提到,同时自己比较熟悉和擅长的部分,让面试官更全面的了解你。面试官如果感兴趣,肯定会挑几个技术栈问你几个问题,如果答的也很棒,必须是妥妥的加分项。如果随便问两个问题都回答不上来,则会大幅度减分,并且会给面试官留下不诚实的印象。所以在专业技能这一部分一定要写自己充分了解和掌握的技术栈。
- 4.不需要纠结简历的样式,白纸黑字,页数一页,适当留白即可(Github上的README的自带样式就不错)。
- 5.作为开发人员,项目经历部分是最重要的,既然是最重要的,选择困难症选手可能就犯难了,怎么样的项目应该被宠幸,写在简历上呢?
项目介绍
1. 自己做的
这点不用多说,一定得是自己做的项目,别看着别人项目牛逼,就拿来吹,面试和背调环节都可能穿帮的。
2. 很熟悉的
对于这个项目,你必须在业务和技术实现上都了如指掌:
- 业务上:这个项目的业务背景是什么,在业务上有什么比较牛逼的地方,推动了业务如何运行等等
- 技术实现上:这个项目的整体技术实现思路是怎样的,项目中用了什么比较牛逼的技术,解决了什么比较困难的问题等等
千万千万不能有这个想法:项目中有一个很牛逼的东西,但不是你写的,你也完全不了解,但是就想写进项目里,这样极易在面试中露馅,并且这种错误一旦暴漏,基本就和offer说拜拜了。
3. 有亮点的
好看的皮囊千篇一律,有趣的灵魂万里挑一
面试官比较在意的还是这个项目表面上看不到并且很有趣的东西。业务,技术都可。
- 这个项目做了什么牛逼的事情
- 你在项目里做了什么牛逼的事情
- 用了什么牛逼的技术解决了什么困难的问题
精心准备几个项目,项目不要写太多,三个项目就足够,在项目这块比的不是数量,而是质量。
如果面试官问到项目的一些细节,就是你大放异彩的时候,要充分展示你的项目有多牛逼,你在里面发挥了多大的价值,带来了多大的成果,你要非常自信的去给他讲解。
你的自信来源于什么?你非常了解这个项目的需求(为什么做这个项目),项目价值(做了之后怎么样了),以及整个项目的技术方案,架构体系(怎么做的),最重要的是你负责的或者参与的。
同时,你再把项目中遇到的一些难点和解决方案总结下来,注意,一定要好好准备,最好都要写下来,然后没事的时候自问自答几遍,面试官有可能会问你比如一些其他的解决方案等,如果当时想到了,或者面完了想到了,记得补充进去。
总结:项目经历一定是面试官比较关心的部分,面试中一定会细问的,所以不要啰嗦,挑牛逼的、有意思的东西写,并且自己能讲明白的。
自我介绍
自我介绍非常重要,面试出现率几乎百分之百,同时可以很让的引导面试官接下来怎么问,自我介绍的结尾,往往就是面试题的开始。
这个没有标准答案,但是一定要提前准备,一定要提前写下来并记熟,用通顺和简洁的语言把自己的亮点说出来。(注意:面试官很喜欢根据你的自我介绍去寻找话题,所以一定不要在自我介绍中给自己挖坑)
下面提供了一点自我介绍的样板语句,仅作参考:
我叫,很开心今天来应聘 岗位,我有年岗位工作经验,工作内容包括、** 等,曾参与项目/工作,完成业绩,这些经验锻炼了我能力。除了日常业务开发外,我还在方面.....
面试之前,我了解到咱们公司主要从事业务、类产 品,属于行业排名的企业,我对这个行业非常看好,也想在这个行业长期发展!这个岗位要求的 ***能力和经验,与我的工作经历很 匹配,相信我能够胜任这个岗位,谢谢!
知识准备
前端的知识点有很多,不可能每个都准备到位,如果你的脑袋里装着太多东西,反而会贪多嚼不烂,我的建议是把项目常用的东西好好准备,尽量不要让面试官把你常用的东西还问倒了,如果你平时用的东西都没有回答好,你觉得面试官会觉得平时不用的东西会掌握的很好吗
技术点自问三个问题:
- 1.你对这个技术点的掌握程度是什么样的
- 2你对这个技术点准备了哪些问题
- 3.当问到了相关技术点的时候,你能回答到哪个层次?仅仅是了解,用过一两次,熟练使用,还是掌握原理
职业规划
高频面试题目,知己知彼,方能百战不殆,职业规划这个东西不仅仅是为了面试,对自己长远来说都是非常有用的,在面试时回答这个问题,首先我们需要明确一下面试官问这个问题的考察点
- 1.求职者对自我的认知
- 2.求职者对岗位的了解程度,对职业的理解程度
- 3.求职者工作的稳定性
- 4.求职者的上进心,目标感和自我驱动力
这个问题没有标准答案,可以从三个方面去谈:
- 1.我想做什么?(兴趣,价值观等方面)
- 2.我能做什么?(你的知识,技术,经历等方面来支持)
- 3.环境支持我做什么(意味着未来?)(外部环境,公司, 团队)
大致回答的样板:
我的兴趣是xxx,优势是xxx,因为我选择了前端,这是一个可以将我的兴趣和工作结合起来的行业,是我非常喜欢的,所以我会很用心对待这个工作,我之前做过xx,有了xx的经验,然后觉得很有意思,想继续深挖(当然你也可以说,我之前一直在做xxx,以后想换一种xxx技术)近期我打算研究xxx,后续可以在xxx上独当一面,独立负责xxx事物,解决xxx问题,谈到元远期规划,我会根据环境的变化,工作内容的变化,以及我自身能力的变化,不断进行调整。
如何在项目中做出亮点
1.首先需要明确自己所负责的业务是什么,业务最核心的要素是业务本身的价值
2.明确之后很多同学往往所负责的部分会比较基础,比如说是做页面,那么做页面是亮点吗?当然不是,但是亮点已经离我们很近了。如果你想要有亮点,那你需要进一步的思考。
- 营销页每天换内容,怎么快速替换?
- 营销部门人越来越多了,页面每天要10个,一个人怎么做得完?
- 前端的人也越来越多了,改个组件不能只靠复制黏贴,怎么管理?
- 拉新回流效率具体有多高?新人真的有买我们的商品吗?这么多人投入,都是要工资的,卖出去的商品能够发我们的工资吗?
- 转化率低了,怎么才能提升?
- 这个按钮写错个样式到了右边,居然点的人特别多?那下次是不是都应该放右边?
技术介绍
1.不要罗列太多技术名词
不要把你曾经接触过的或在大学学过的所有技术、框架或编程语言都列在简历上,比如说你熟悉“C#、Java、PHP、.NET、MySQL、Oracle、C、C++、HTML、Python、CCNA、TCP/IP、Photoshop……”
2.把技能按照熟练程度分类
不要按照种类来归类你所掌握的技能(比如按照数据库、框架或网络相关),而是按照熟练程度(比如熟悉、有经验……)来分类,比如像下面这样:
精通:Ruby、Ruby on Rails、Docker
有经验:Postgres、React、Git、Javascript
熟悉:Kubernetes、Redis、Angular、MongoDB、ElasticSearch
基础知识的回答,不需要拖泥带水,简明扼要就行。