现在程序员大军越来越庞大,行业竞争激烈,面试应聘的难度也提升了不少,一个前端招聘岗位就可能收到几百上千份简历,企业要在这么多人中快速、准确的找出自己需要的人,面试的环节就显得尤为重要。在经历了十几家面试之后,我整理了一些心得体会,也把我自己的一些成功经验跟大家交流分享,希望大家都能找到自己心仪的岗位,实现自己的职业目标和人生价值。
面试细节
面试着装
面试的时候一定要干净整洁,衣着得体,不能穿的特别随意,或者妆容、打扮特别夸张,即使在你看来这是新潮时尚,也需要分清场合,面试官会觉得这样的人很浮躁、不稳定,即使你技术再好,单就这一点可能也会扣掉一大半的印象分。细节决定成败,面试过程中的每一个环节都不能掉以轻心。
时间观念
面试的过程中一定要有时间观念,提前查好出行路线,考虑好途中会不会出现堵车的特殊情况,可以改换成地铁这种比较稳妥的交通工具,最好是按照约定时间提前十五至二十分钟到达面试地点,如果你早到了也不要立马联系工作人员,因为可能上一个面试还没结束,或者打乱别人的工作计划。
面试迟到会给面试官留下非常不好的第一印象,那么之后你就很难翻盘了,除非你真的是遇到了特殊情况,这时你要提前告知面试官,更改时间或者取消面试,迟到或者失约对于面试者和面试官都不是一个好的体验。因为企业会根据时段,安排好人员面试,如果你这边耽搁了或者时间延后就会直接影响之后的面试进度,也有可能影响面试官的工作安排。这在工作中也是很重要的职业素养,同时也反映了一个人的做事原则和对工作的责任心,再严重一点可能还会上升到诚信问题,如果你连这些基本的职场规则还没学会,那么很难争取到一个好的工作机会。
保持通信畅通
一定要确保你留在简历上的联系方式是可以随时联系到你本人的,因为企业一般会通过招聘平台或者你的联系电话与你沟通面试事宜,如果hr联系你的时候你的电话无法接通,除非你的条件真的非常优秀,否则很大概率他是不会再联系你第二次了,不要因为漏接电话或者电话欠费这种原因让你失去宝贵的面试机会,而这样的一次机会或许就是改变你命运的一次机会。
面试前的热身
对于刚毕业出来找工作的同学来说,可能经验不足,对面试没有什么概念。建议在你投递心仪公司的时候可以先投几家公司做做热身,这个时候不需要有任何的心理包袱,就当是去练练手,所以面试的过程可能会发挥得更顺畅、更自然,说不定这个阶段就会获得offer,并且比你之前想去的那家公司待遇还好,这岂不是意外之喜。
面试总结复盘
在面试中我们要打起十二分精神,面试结束后也不能松懈,应该趁着记忆还新鲜,马上把面试题复盘出来,或者在面试的过程中做好录音备份,晚上回家的时候详细的整理出来。多做总结,会对自己有更清晰的认识,即使面试失败也是很宝贵的经验,你需要从中总结出失败的原因,是技术方面的缺失,还是表达的失误。同时也要明确企业在面试的过程中看中的是什么,现在应用的比较多的技术是什么。每一次失败的面试都是为下一次成功的面试做铺垫,通过总结你会更有针对的性的提升自己。
简历
简历内容
一定要用心制作简历,虽然我只说一遍,但是简历真的非常重要!简历是你向面试官展示自己的第一张名片,简历的好坏也会直接影响你在面试官心中的第一印象,这个一点也不夸张。有工作经验的同学,一定要将自己的优势充分展现出来。如果是没有工作经验的应届毕业生,可以将自己在学校或者实习期间做的项目着重描写一下。不要照搬网上的简历模板,简历应该简洁流畅,每一个元素都是为应聘岗位而生,不要花太多的篇幅描写你在学校学生会的经历、你参加了什么社团、担任过什么班级干部,可以简略的概括,面试官不会因为你在学校当了什么会的干部就对你感兴趣,他只在乎你有参与过哪些开发项目、技术能力如何、能为公司创造什么价值。
简历制作
不要从网络上下载装饰过度、花里胡哨的简历模板,尽量选择商务简洁的风格,技术人员的简历要以阅读性为主,重点信息要突出,装饰颜色控制在两种以内,尽量不要选择太有个性的字体,字体数量控制在两种以内。控制好简历的篇幅及排版,尽量占满整个页面,如果一页展示不开可以设计成两页,但是不要有一页只有一两行内容的情况出现,也最好不要超过两页。
简历投递
互联网简历投递平台个人推荐Boss、拉勾,一般投递时间为早上9点-10点、下午1:30-3点,这个时段是hr处理简历的时间,最好不要选择周五投递,一般快到周末的时候工作人员都会开始本周工作的收尾。
文件格式
一般要准备两份格式的简历:word格式和pdf格式,准备word格式主要是方便公司复制粘贴你的个人信息,pdf格式方便mac电脑打开,同时留给你你设计的空间也更大一些。
文件名称格式为:姓名-求职意向-联系方式,这样方便hr下载好你的简历及时的联系你。
简历编写
简历编写中一定要注意的几个问题是:
避免信息缺失:基本的个人信息、联系方式、求职意向一定要写完整、写明确。
避免信息错误:不能出现明显的信息错误,比如工作时间、毕业时间、项目起止时间,如果连这些基本的信息都写错,很可能让人对你简历的可信度产生怀疑。
错别字问题:这是一个非常低级的错误,一定要对自己简历中的内容来回检查几遍,确保语句通顺,没有错别字,有的时候就是一个小小的错别字让你失去面试的机会,因为会让让别人对你产生做事不认真、不细致的感觉。
求职意向一定要写在突出的位置!版头最好放置姓名、联系方式、求职意向这三个最重要的板块,让人一眼就可以注意到,hr每天要处理上百份简历,平均到每一份简历上的时间也就是几秒钟,如果他让他阅读一份花里胡哨、找不出关键信息的简历,那么他可能会直接PASS这份简历。
个人基本信息
必填信息:姓名、联系方式、求职意向、年龄/出生年月、毕业院校、专业
照片:一定要选择正规证件照,现在拍最美证件照的摄影工作室也很多,比如天真蓝、白海豚、海马体,花上点钱拍一张得体的证件照获得一个宝贵的面试机会,这波不亏,就当是为自己的投资了。就算不放也千万不要选择过度美颜的自拍、生活照、旅游照、非主流大头贴这种奇葩照片,记住你是要去面试找工作的,不是去选美的。
现住址(可选):如果你住的离要应聘的公司比较近的话可以写上,因为公司喜欢招聘住在公司附近的人,方便上下班。
院校背景
本人是双非二本,自从高考失利后一直没有放弃提升自己,一份漂亮的学历确实能在求职面试的过程中帮你敲开大厂的门。即使没有耀眼的学历,通过努力也可以获得证明自己的机会。
不要再讨论学历重不重要了,在互联网的圈子中,核心是你本身的技术,除非你牛逼到逆天,那啥都不说了,但是大部分都是普通人,学历是一辈子的事情,那些高考能够碾压你的人,进入社会,只要他们愿意,照样能碾压你,你努力,你拼命,别人也不会睡大觉等你,所以,学习是一辈子的事,只要有机会,就要不断提升,你会看到不一样的世界。
工作经历
工作经历按照时间的先后顺序排列,最近的工作写在前头,最好不要出现断档,如果有很明显的断档需要自圆其说,能解释的过去。如果出现长期的断档可能会让hr觉得你能力不行,找工作的周期很长,或者让hr觉得你不稳定,比较爱折腾,进入公司工作一阵子就会离职。
在招聘平台搜索一下你应聘的岗位,了解一下公司对该岗位的招聘需求,hr都是通过关键词去搜索简历,看看出现最多的关键词都有哪些,带入你的工作经历中,适当展开,切记不要只是单纯堆砌和摘抄。
关于跳槽:很多团队很看重人员稳定性,不建议大家频繁换工作,对职业生涯影响很大,如果工作经历很多,可以适当删减,周期短的工作就不必呈现在简历上了。
技能描述
在这个部分可以适当夸张,但是不要过分,吹的天花乱坠,比如你只是使用过一些nodejs的模块,了解一些php语法就在简历上写精通nodejs、php等后端语言,到时候面试官一问就知道你的简历水分有多大了。当你的技术不能达标时,只要你的人品达标,也能为自己加分不少。在面试过程中,用你的真诚和诚信打动面试官,让他觉得你是可塑之才,经过一段时间的锻炼和培养可以很快成长,说不定会给你一个工作机会。但是如果你有太多浮夸的成分,明明是自己不会的技术,还想尽办法在面试官面前展现你有多优秀,会产生适得其反的效果。
关于技能清单和技能关键字可以参考这份技术简历模板:
https://github.com/geekcompany/ResumeSample/blob/master/web.md
如果你的简历要投递给有机器(简历分选系统)和不如机器(不懂技术的HR)筛选简历环节的地方,请一定从里边高频关键词中选择5~10个适合你自己的。
项目经历
其实工作经验并不能严格意义上等同于技术水平,有四五年工作年限的人不如刚工作一两年的人这种现象比比皆是,有可能你初入社会,没有工作经验是正常的,但是没有项目经验就是你的问题了,学习技术必须要在项目中实践才可以巩固,网上有海量的资源,大批的开源项目,自己找几个练习项目,把技术点搞清楚,流程理清楚,这不是一件难事。如果连模拟的项目都没有,那怎么证明你的技术能力呢?难道只是在网上看视频么?这样能学得好才怪,更别提找工作了。很多应届的毕业生只是在学校里学了一些理论基础,并没有在项目中实际操作,想着到了公司里再去实践,那样你学到的只能是技巧,还远远达不到技术的水平,技术就是为了解决问题而存在的,多动手才能获得技术,坐等只能浪费时间。
作为前端开发人员,必须要掌握的就是Html5、CSS3、JavaScript这些基础的知识点,你的项目经历中起码要有一个用原生JS编写的PC端网站,证明你对于JS能充分的理解并且使用,有些人觉得原生JS在工作中用的不是特别多,概念又难理解,就算只会使用框架也能够胜任web前端的工作,索性就放弃不学了。在面试过程中JavaScript的部分占了很大的比重,即使工作中使用的频率不高,但是它是前端知识的基础,所有的框架都是基于它来封装的,如果基础不扎实,就没有办法快速学习新知识,在工作中灵活变通。其实面试时,考察这些技能,面试官并不仅仅是考验你的技术,更多的是为了检验你是否真的热爱前端领域,是否对javaScript这门语言有学习的兴趣,是不是对前端技术有求知欲和好奇心,是不是有基本的学习能力和理解能力,这些都是一个开发人员该有的基本素养。
现在市面上有很多的js框架可供选择,而且前端技术发展的很快,说不定马上就有新的框架诞生,我们不可能把所有的都学一遍再来找工作,企业也不是说想招一个全都会的员工,考虑到用人成本和学习成本,只能在招聘的时候通过对基础知识的考查,来看你的基础是否扎实,如果你的JavaScript知识很牢固,那么任何框架对你来说都不是难事,只要花个几天的功夫就可以轻松上手使用,因为他们背后的原理都是相通的,只要掌握了使用方法就可以得心应手。就像学习过C语言的人,再学习Java等语言都是手到擒来的事。在职场上,能力经验到了一定阶段,都不是为了面技术,更多的是为了了解求职者对开发工作的态度,学习理解的深度和沟通的感觉。面试 JavaScript 原生技能,就是这个目的。
目前大部分的前端岗位招聘需求都包括能熟练使用框架,目前比较热门的是vue和react框架,所以针对这两个框架的项目至少一样一个,剩下的可以从当下比较流行的前端技术中选择一个:混合开发、小程序、微信公众号原生JSSDK开发,一般项目的数量控制在4-5个为宜。
自我评价
这个板块主要是针对应届生,有两年以上工作经验的人可以忽略。一定要摒弃之前的套路,写成小作文,或者直接复制粘贴网上的模板,说一些很空的内容,过多的描述你的性格人品、生平履历、兴趣爱好。
在自我评价中,应该将更多的信息呈现留给跟应聘岗位相关的项目经历上,写之前先明确岗位的招聘需求,然后与之一一对应展开,用项目中使用到的技术点证明你的能力符合这个岗位的需求,这样才能引起面试官对你的兴趣,你这个板块也展现了它的价值。
一个比较好的应届生自我评价案例:
大学中系统地学习计算机相关理论基础,大四到公司实习,具有一年的前端开发经验,能快速对接产品需求、前后端工作。对web前端有很大的兴趣并有独立自主学习的能力,具备独立分析和解决问题的能力。业余时间会自主钻研前端技术丰富自己的前端技能栈。代码强迫症患者,注重团队合作,具有良好的沟通能力。
面试问答
自我介绍
一般面试开始之前面试官都会让你做一下自我介绍,这个过程中主要是考察你的表达能力和临场的应变能力,面试官也是借这个机会迅速的浏览一下你的简历内容,对你有一个大概的了解,拉近与你的距离,打开面试的气氛。
自我介绍是你对整场面试的布局,会直接影响你后面的面试走向,所以自我介绍最重要的功能就是将你的亮点展示给hr,说一些你曾经做过的、符合应聘岗位需求的成功案例,引起他对你的兴趣,让他有进一步了解你的冲动。所以在准备自我介绍前你需要挖掘自己的优势、分析公司的岗位招聘需求,提炼出关键词,了解企业文化,找出自己与之相契合的特质、筛选重组成一份有策略的自我介绍,并将它熟练记忆,控制在1分钟-2分钟,最多不要超过3分钟,不要说与应聘无关的内容。
千万不要只是把简历上的内容复述一遍,这样毫无意义,面试官更想通过自我介绍了解你简历之外的亮点,能让他对你感兴趣。如果在面试的过程中感到紧张,忘记准备好的内容,平时就要多加练习,跟身边的朋友或自己对着镜子,直到可以流利的将自我介绍说出来为止。这个环节的核心要回答你的优势,比如说你掌握的技术和熟练使用的框架,重点就是要让面试官记住你,一定要放松、自然、自信,不要让人感觉你只是在机械的背诵,适当的停顿,时不时的跟面试官有眼神的交流,人在紧张的时候就会有很多下意识的小动作,一定要克制自己不要看天花板,不要眼神飘到别的地方,更不要翻白眼。
自我介绍包含内容:
个人基本介绍:简单罗列你的个人信息即可,如姓名、毕业院校、所学专业、求职意向。
工作经历:这个部分主要是针对有相关工作经验的人,可以简单介绍我曾在XXX公司担任XXX一职,主要负责的是XXX内容,最后取得了XXX成果。通过分析企业的招聘需求,用自己具体的工作经验向面试官证明你具备应聘该岗位的能力,主要就是讲我做了什么,并且获得了什么成果,这个环节不用讲的太具体,如果面试官感兴趣会在之后的环节跟你讨论相关细节。切记不要只是堆砌一些形容词如:乐于助人、活泼开朗、勤奋努力,没有具体事例证明就显得毫无根据。
个人经历:如果是刚毕业的应届生,没有工作经验,可以说一些自己在学校中比较亮眼的经历,比如参加过哪些计算机相关的比赛,跟随导师参与过哪些开发项目,大四的时候在公司实习,编写过哪些案例,证明你有做好这份工作的潜力和态度。或者说一些自己与众不同的特长,让面试官觉得你是一个充满活力、积极向上的年轻人,公司喜欢这样的新鲜血液加入,来带动团队的工作氛围。从你的这些过往经历中也可以发掘可以匹配工作岗位的特质,有的时候会获得意想不到的效果。
说一下你的优缺点
这个问题也是一个双刃剑,一定要说自己真正擅长、并且能给公司带来切实利益的方面,不要说的太跑题,比如我很有运动天赋、我会演奏乐器,也不要说的太空,比如我很诚实很勤劳,你可以结合行业属性以及项目经验,比如项目管理、项目推动、专业优势去回答。展现你的综合素质,比如我js基础很扎实,平时喜欢关注前端领域的新技术,遇到新的框架或者没接触过的知识可以很快上手,有很强的学习能力和自我驱动力。
说缺点的时候切记你所叙述的经历不要对眼前的应聘造成不良影响,尽量说一些不会影响到工作的缺点,但是不要把行业的基本素养当成缺点来说,比如我有强迫症,我写代码必须格式要对齐,做技术的人都知道这是前端开发的基本规范,虽然我们知道聪明的面试者会把缺点当成优点来说,但是千万不要聪明反被聪明误,戏太过了就适得其反。人无完人,每个人都会有缺点,说一些别人可以接受的缺点不会给你的面试造成太大影响,尽可以放心、真诚的展示真实的自己。
这个问题没有标准答案,只能结合自己的实际情况进行回答,并且在每次面试后根据面试官当场的反馈及面试结果不断完善,从而找到一个“完美”的答案。
面试中的送命题
你为什么离开上家公司?这是一个看似稀松平常的问题,其实特别致命,如果回答得不好很可能之前的所有努力统统白费。马云爸爸对于这个问题曾给过一个一针见血的回答:为什么要离职?要么钱给的不够,要么心受委屈了。道理虽然是这么个道理,但是对于我等屁民以下这些作死的回答一定要避免,即使它就是真实原因:薪资太低、福利待遇太差、经常加班、管理制度太严格;领导及同事太难相处;公司规模太小,没有成长空间;
面试官也是公司员工,你觉得有什么离职原因是他们不知道的?大部分的员工上班一半的时间都在考虑要不要离职。所以面试官主要是想通过这个问题了解下你之前的工作情况,是主动离职,还是被动离职,你的技术和能力能否胜任这份工作,你对工作有没有足够的热情和责任心,是不是遇到压力就会想离职,能不能在一个城市一个岗位稳定发展,还是三天两头就想跳槽。
回答这个问题的时候一定不要表达出自己对上家公司的负面情绪,避免说前东家不好,领导不好,任何负面评价,尽量表现出是自己的原因,而非公司,对上家公司要抱有感恩之心。可以从客观原因出发,比如上班地点离家太远,很多时间都浪费在了通勤的路上,我个人还是希望把更多的时间和精力放在工作上,所以想寻找一份新的工作机会。
大公司or小公司
有些面试官会问你怎么看待大公司和小公司,你更青睐哪一种工作机会,其实这也是很多同学比较近纠结的一个点,我们选择工作时有三个关键因素:薪资、平台和成长,在我看来工作的前三年优先级排序是这样的:成长>平台>薪资,很多大公司为了平薪,人员流动不会特别大,薪资待遇不会实时根据市场更新,它需要保证新员工跟之前进入公司的老员工薪资持平,所以薪资方面不会特别有竞争力,但是在你进入到公司之后会给你一段适应期,有技术总监去带你学习,不会让你马上上手写项目,这样你会有更多时间思考和整理,尤其对于工作时间不长的同学来说,这样梳理知识体系的机会非常难得,可以让你学习的东西更深更系统,把学习经验转成实践能力。
并且在大公司遇到优秀同事的概率更大,和优秀的人一起工作会激励你不断向上,你可以在学习和模仿中慢慢进步,和优秀的人共事才会有危机感,学习别人工作、思考的方式,让自己更快的成长,有些改变会让自己受益终身。所以我的建议是,如果有加入大公司工作的机会,一定要好好把握,不要只着眼于当下,将自身的发展放在首位。
一开始的选择是非常重要的,工作的黄金时间稍纵即逝,但是选择的前提是你要有可供选择的机会,如果你都没有机会更何谈选择,当很多机会摆在我们面前时,一定要认真思考什么是我们真正想要的,不要追随别人的脚步,觉得大部人的选择就是对的,我们不能保证每一次选择都是正确的,但是我们能保证不后悔,遇事要冷静,多思考,最后跟着自己的心做决定。这里说的选择不仅仅是选择去哪个公司,从事什么方向,还有与什么样的同事工作,选择什么样的leader,甚至是生活中的事情。
描述项目经历
项目经历是我们作为技术人员,简历中最为重要的一个模块,也是企业最为关心和重视的一个部分,通过项目经历可以知道你的工作经验和技术能力是否符合公司的招聘需求。面试过程中有一个绕不开的环节就是让你介绍一下你的项目经历,常见的问法就是请你说一下你最近做过的一个项目,都用到了哪些技术,团队规模多大,人员是怎么分工的,你在项目中担任的角色是什么,最后项目取得了什么样的成果。
面试官没有超能力,他在看你简历的时候是没办法核实你项目的真实性的,这是你做的项目,而且你接手的时间肯定会持续至少三四个月,所以根本无需紧张,你是对于这个项目最了解的人,而面试官只能根据你说的内容作出判断,如果在你的回答中找不出明显的漏洞那就只能算你真的做过。
想要回答好这个模块有几个关键点需要注意一下,首先就是在回答问题的过程中一定要流利,对于你写在简历上的内容一定要倒背如流,如果你在表述的过程中磕磕绊绊,嗯嗯啊啊,那么就会给面试官留下一个非常不好的印象,起码觉得这个人的表述能力有问题,面试是一个考察综合能力的过程,如果你的沟通能力有问题,那么很可能会影响你之后的团队合作。如果对于一些关键点比如项目名称,起止时间,项目中用到的技术点都说错了,那么项目经历的可信度就非常低了,面试官会抓住这些漏洞深究,如果你不能给出合理解释,很可能让面试官觉得你诚信有问题,简历造假,这是最坏的情况,一般这种就直接出局。
另外面试前需要熟悉面试公司的招聘需求,如果该公司明确说了需要react方向的前端人员,你却大谈vue,那么纵使你说的天花乱坠也引不起面试官的兴趣,然后最后面试官问你有没有使用过react,你却说不好意思,没用过,那面试直接结束,这等于浪费双方的时间。所以提前做功课,在叙述的过程中将公司的招聘需求穿插进去,不露痕迹的说一些面试官想听的点,给面试官后续的提问做铺垫,但是这个时候你是在介绍项目,不是在说明亮点,所以不需要详细展开说,一旦你详细说,面试官可能会觉得你啰嗦又拖沓。
image
比如针对这样一则招聘需求,你在进行项目描述的时候可以说:
我上一个项目是一款移动端的webApp,主要为用户提供影讯查询及在线购票等一站式电影服务,采用vue-cli脚手架搭建开发环境,使用flex弹性盒布局及rem技术自适应适配不同分辨率的移动端设备,数据请求采用axios发送ajax,配合后端人员完成页面数据的读取和加载,最后采用webpack打包上线。
接下来面试官会针对你的回答展开问一些技术问题,如果你在描述项目的过程中埋下提前准备好的知识点,面试官很可能会被你带着走,引到你熟悉的技术领域,在有限的时间内回答准备好的问题点,被问到其他问题的几率就少了。如果你没有把握住这个环节就相当于把宝贵的提问权全权交给了面试官,那么你接下来的问答的风险就比较大了。所以在面试前一定要做好充足的准备,你有足够的时间去排兵布阵,而面试官只能在短短的时间内针对你的表现作出反应,所以他要提取出他比较关心的、实际工作中会用到的技术点来验证你的能力,看看你是否真的了解并且实际应用过这些技术,还是仅仅停留在了解概念,在网上查阅了一些资料这个阶段。
在接下来的回答中一定要自信、积极、流利,针对面试官的问题不能只是简单的一句话回应:了解、做过、不知道,这个时候千万不能惜字如金,如果你吝于回答问题,那么面试官也会吝于给你offer或者高薪。针对每一个问题要适当的展开,宁可只说自己熟悉的内容,也不要为了拖时间说一些自己不了解的知识点,因为如果你要是抛出了一个你并不熟悉的概念,面试官很可能会继续提问细节,比如之前面试官问我:请你说一下vue中路由模式,我回答有hash路由和history路由,hash路由会在url地址栏中显示一个"#",如果不想要显示这个"#"可以使用history模式,但是需要后端人员配合我们去做配置,然后面试官就顺口问了:为什么需要后端人员去做配置,后端人员怎么去做配置?而我当时功课没做足,对于这块概念没有准备,所以这部分的风险你要自己承担。
如果你有提前了解过diff算法,就可以在回答:react中一般在哪个生命周期中请求数据?的时候巧妙的引出diff算法和fiber算法,然后在面试官询问关于算法问题时,针对两个算法的原理和异同稍作展开,借机说一下自己平时会关注一些最新、最前沿的技术,会不断深入了解一些框架和技术的底层实现,而不仅仅是停留在使用层面,整个过程就很自然流畅了。时间控制在半分钟内,回答内容根据面试官的反应酌情控制,如果面试官给你了积极的反馈就可以继续展开,如果被面试官打断,就说明这不是面试官想了解的关键点,不是项目必备的技术。
面试官没有义务挖掘你的亮点,一定要自己主动去提出一些自己使用的比较熟练,并且目前比较热门的技术,跟公司的招聘需求对口,在一些开放性的问题中适当的引出,作为自己的加分项。面试官很忙,一定要在最短的时间内充分的展示自己,不要只等着面试官去提问。
你在项目中遇到哪些问题,如何解决?
这一块比较抽象,根据你自己的项目来,着重讲你熟悉、有把握的模块,一般面试官都会从中抽取问题来向你提问,看看你对前端技术的掌握程度以及遇到难题时解决问题的能力。回答这类问题,基本原则是:通过失败说成功,不要只强调结果,更要多描述你解决问题的过程,说一下你的收获和成长,同样的"说一次成功的职业经历"也是类似的回答思路。
在面试过程中要保证关键的技术点对答如流,即使过程中被问到了几个不熟悉的知识点也不用慌张,只要如实回答不知道就好了,一定不要含糊其辞,更不能乱说一通,因为前端技术更新很快,不断的推陈出新,我们不能保证将所有的知识都囊括,如果遇到回答错误或者回答不上来的问题要虚心向面试官请教,好的面试官会抛出问题跟你探讨,他们很愿意去帮助新人,无私分享,得到帮助后要记得说:"谢谢,回去之后我会着重把这块知识加强一下,如果公司的项目中需要用到这样的技术点,我会在短时间内学习、运用好"。给面试官留下一个勤学好问的好印象,不要仅仅把它当成一次面试,这更是一次学习和提升自己的机会。整个过程应该是双向的、正面的,有的时候你使用到的一些新技术面试官可能没有了解过,面试官在问求职者的时候,他自己也不见得多精通,可是他就是要面试这类内容。其实,他面试你这类题,并不是希望你多了解,掌握的多好。主要是看你对前沿技术的关注度和对新技术的求知欲。
如果你能将面试当成是一次技术探讨,那就可以更加从容的去应对。很多时候面试官就是技术总监,要不就是你以后一起工作的同事,面试过程中给你传递出来的感觉非常重要,很可能就决定了以后工作的氛围和模式,对于你之后选择公司、工作环境和工作伙伴提供了一个很有价值的参考。
对于Web前端来说,是一个更新特别快的行业,几乎每年都有不少新的技术,作为一个Web前端开发人员,如果对新技术不敏感,对新技术没有学习的欲望,那么可能很快会被行业淘汰。那么,企业招这样的求职者有什么用?所以技术面试中一定要凸显出自己有很强的求知欲,对新技术是非常感兴趣且愿意去不断学习,公司一般都不会拒绝爱学习的人。这一点对于应届毕业生或者没有相关工作经验的人来说尤为重要,这个时候面试官看中的不是你的技术掌握的如何,而是你有没有发展的潜力,他会更想了解你的软实力,比如你的沟通能力、处事能力、学习能力、解决问题的能力,这些都是在面试过程中通过和你的聊天一点一点去发掘的,所以如果你的技术不占优势,你就要抓住机会向面试官展示你这方面的软实力。
但是如果你的回答中出现了明显的技术漏洞,比如你说熟练使用vue框架却连vuex的流程或者vue的生命周期函数这种基础性概念都回答错误,这时候就比较危险了,面试官会直接怀疑你这个项目的真实性,会通过更多问题确认你的技术能力,到底是技术能力差还是框架根本就没使用过,不会让你在面试中企图蒙混过关。
虽然我提倡面试之前做好充足的准备,但是在面试的过程中准备的痕迹不能太重,让面试官觉得你只是在背概念,回答问题的时候也不要只是机械的说出答案,作出适当的停留或者思考。对问题展开的时候切记过犹不及,不要把太多不相关的内容牵扯进来,面试官不会因为你说的多就给你加分,反而会提高问题的难度,去考察你的真实能力。
未来三到五年的计划
很多企业在面试的时候喜欢问候选者未来三到五年的职业规划,这个问题主要考察两点,首先看你是否和公司对于人才定位匹配,是否和团队人才需要匹配,比如团队目前就希望一个前端开发工程师很好的支持项目,如果你说你规划未来成为管理人员,那很明显不适合这个岗位,所以这个一般结合专业说比较好,比如开发一款好的产品提升工作成就感,在前端领域成为专家,往全栈工程师方向发展,另一个考察就是看你对于整个未来趋势的一个了解,是否理解当下的趋势,能否将一些好的工作方法,流行趋势运用到工作中。
所以说当谈到职业规划的时候,你需要综合考虑自己的兴趣、技能、职业目标、行业属性以及为了实现目标所需要作出的计划和努力,同时也要了解应聘公司的背景、现状与未来发展方向,在谈及个人的职业规划时适当的与公司发展相结合。这个问题背后面试官主要是想考察你的临场发挥能力、语言表达能力和逻辑思维能力,看看你对所处的行业是否有足够的了解,是否对自己有一个清晰的认知,做事情是否有计划有条理,以及你为了实现目标是否有足够的信心和自我驱动力,从而对你的性格和价值观有一个大概的了解。
对于没有工作经验的应届生来说很难拿出一套成熟、完整的成长体系,因为他们还没有正式踏入过社会,没有感受过职场生活,所以你说话的方式和技巧就大过了内容,你只需要流畅自然的表达自己现阶段的想法就可以,不用把目标定的太高、太远,不要说我想几年内当上主管、当上项目经理,那样反而不切实际,这样的答案毫无意义,应该更多的考虑专业技能方面的提升计划和步骤,而不仅仅是看中一个头衔。对于有一定工作经验的人来说,就需要向面试官表现出你的目标感和上进心,你自己对职业规划问题有清晰、明确的想法,并且有与大方向相对应的短期目标,因为在职场中,没有上进心的人很难有大的作为,也很难在个人发展上实现大的突破,这样的人也不会给公司带来出彩的工作业绩。所以在回答这个问题时核心主旨就是要充分利用资源,提升自我,在保证工作质量的同时,在工作之外也能寻求更多的职业突破,为自己职业目标奋斗。
能否接受加班&出差
其实虽然很多公司会问到这个问题,但是公司未必就会天天加班或者经常出差,主要是考察候选者对工作是否有责任心,能否适应比较大的压力环境。你可以回答说,在工作中,我会以效率为第一位,首先反思加班的原因是否出在我个人身上,尽量减少因个人原因的加班情况,我会努力弥补自己工作中的不足,提升工作效率,但是遇到急需解决的项目问题,即时加班也要在规定的时间内完成任务,我会以目标和结果为导向,配合公司进度,不会为了加班而加班,即使加班也会合理规划安排,更好的协调工作与生活,让自己保持充足的休息,更积极、高效的投入到工作中。
很多人刚开始工作时非常抵触加班,觉得工作是为了更好的生活,但是不能为了工作没有了生活,这句话非常正确,但是大部分的我们都是普通人,没资历没背景,不能啃老,在大城市里付不起首付,买不起汽车,现在的我们哪有资本可以享受,唯有不断努力不断进步才能过上我们想要的生活,获得更好的物质回报。互联网发展集中在一二线城市,这里人才多的是,容不得你有一丝一毫的懈怠,不努力不学习分分钟都有可能被社会淘汰,不论在哪里,资源的分配都是二八原则,既然选择了这个行业就要做好接受996的准备,它从来就不是一个轻松来钱快的好差事。
我们公司为什么要录取你?
这个问题往往会跟在"你为什么想来我们公司?"之后,一些应届生特别喜欢回答:"因为贵公司在业内有名气,工作氛围好,我想来贵公司锻炼自己、学习技术。"如果你工作经验少,只表达你想学习这个意愿是不够的,因为学习是在学校里完成的事,你出来工作就是要为公司创造价值,老板只关心你能为他们赚到多少钱,在这个过程中你的自我提升能达到什么水平完全是看个人发展和努力程度,这就是为什么有的人几乎同时就业,业务能力也差不多,但是一两年的时间就拉开差距,有的人已经被远远地甩在了后面。
所以你不能只是站在自己的角度,把公司当成课堂,你必须要向面试官展示你有很强的学习能力和项目经验能帮他们提升价值、解决问题,比如说我之前使用vue框架开发过移动端项目,而贵公司主要的技术栈也是vue框架,我觉得我能把之前的项目经验用到现在的工作中,很好的帮助团队提升,站在企业角度,从实际问题出发,不要说大话空话,让面试官觉得你是一个有头脑有见解的人,而不是随意海投,只是在招聘平台上看到一个工作机会就过来试试,你需要证明你的选择是经过深思熟虑的,愿意在这家公司长期稳定的工作,这样面试成功的几率就会大大增加。
面试的终极问题
一般面试进行到尾声,面试官都会抛给你一个问题:"你对我们公司有什么想了解的么?",面试进行到这里时千万不能掉以轻心,这个问题回答的好与坏能决定你在面试官心中整体的印象分,不能说没有,更不能乱问问题!如果你直接回答没有,那么面试官可能会认为你对应聘的公司或者岗位没有太大的兴趣,直接影响面试官对你的个人评判。在还没有确定入职之前不要问关于薪资福利待遇的问题,比如:五险一金是怎么发放的?公司都有哪些补贴?薪资多少?一年几薪?年终奖怎么发放?员工有哪些晋升机制?也忌讳问太细枝末节、无关痛痒的问题,比如:公司可以上外网么?网速怎么样?电脑是什么配置的?中午午休多长时间?
这是一个展示自己性格特征同时也是了解自己以后工作环境的好机会,其实面试是一个交流和互动的过程而不仅仅是简单的一问一答,在之前的问题中主要是面试官听你讲你的情况、你之前的工作经历、你的知识架构,在这个环节中,是面试官向你展示公司的机会,他希望通过你的问题把公司的理念和亮点传递给你,也怀抱一个开放的姿态欢迎你加入他们的团队,比较安全的问题有:
请问公司目前的技术团队架构、人员分配大概是怎么样的?
项目团队的规模如何?
项目中有几名前端开发工程师?
公司目前主要使用的前端技术有哪些?
框架是使用Vue还是React?
如果我进入贵公司大概会负责哪个类型的产品?该产品的功能是什么?
基本上通过这几个问题你就可以对公司中的技术团队有一个初步的了解,为你对职业的选择提供很大的参考价值,同时也给面试官留下了一个好印象,说明你对待工作不只是看中福利待遇更关心技术层面和个人提升,面试本来就是一个双向的选择过程,如果你能抓住这次机会充分的展示自己,给面试画上一个漂亮的句号,那么offer自然也可以手到擒来了。
薪资谈判
在经历了层层过关斩将之后你将会进入到薪资谈判过程,这个环节就进入到了反选阶段,一般hr会问一下你上家公司的薪资待遇,然后再问下你对于这份工作的期望薪资,一般涨幅在20%-30%之间比较合理,但是如果你是换城市工作,也要考虑地理因素和对应城市的发展水平。
面试官还可能问你目前有没有收到offer,如果你回答有,他会继续追问你那你为什么还继续面试,这时候要认可人家的企业、认可人家的技术、肯定对方的同时也肯定自己,也是给薪资谈判争取更大的胜算。
有些人可以接受无条件的加班,能接受低于平均水平的薪酬,基本上公司给他们什么待遇都全盘接受,毫无谈判的余地和魄力。但是还有一部分人,出来工作是为了自我实现,同时为了获得一个高薪,给自己和家人更好的生活,那么薪资谈判就显得尤为重要了。你不仅要知道如何通过面试官的考验还要懂得如何评估自己的价值,你要把自己的期望薪资定在什么水平,期望薪资的范围是多少,你能接受的最低薪资是多少,拥有一个明确的目标才可以从容的应对接下来的谈判。如果面试官明确说给不到你期望的薪资,问你是否会继续考虑这家公司,这个时候要记住一个原则:先回复说考虑一下,不要当场立即答应,即使你真的很想去这家公司,自己先给自己打折,那就等于失去了谈判的机会。你可以说:"我在面对职业选择的时候考虑的因素很多,不单单是薪酬福利,还有职位职责、职业发展以及工作环境,所以麻烦您告诉我,在您看来这个职位的合理薪资是多少?我想综合对比之后再明确给您一个答复。"一定要让他给出一个具体的数字或者薪资范围,如果他真的非常想让你加入公司的话,在这期间很有可能会再次联系你,主动跟你谈加薪的事。
总结
到这里,关于前端面试的总结也就差不多结束了,其实你技巧再好,准备的再充分,在实际面试过程中主要面对的还是技术问题,那么这篇文章的价值在哪里呢,如果你在面试的过程中连这些基础性的问题都处理不好,可能再有能力也得不到施展。机会都是留给有准备的人的,千万不要想着一次就能成功,前期不断试错,反思自己的不足,努力查漏补缺。面试前多了解企业的相关资料,有针对性的去准备。面试失败也不要垂头丧气对自己失去信心,从失败的过程中总结经验,多听取别人的建议,知道自己哪里需要改进,经过积累和总结,你下次面试成功的几率就会大大增加。一定要给面试官传递出来自信、阳光、正能量的感觉,摆正自己求职者的心态,顶住面试的压力,耐心、细心的整理记忆面试题。万事开头难,好的开头就是成功的一半,面试前认真准备,总会获得企业的青睐,上天会眷顾努力的人。
这些都是我在实际面试过程中遇到的问题,也总结了很多人成功的经验,希望这篇文章可以帮到正在找工作的程序员小伙伴,也希望大家快速成长,早日成为独当一面的技术大牛,预祝各位工作顺利!
作者:视觉派Pie
链接:https://www.jianshu.com/p/baacf8d1c5fe
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。