三年前端面试经验加感悟(干货分享)
蔡国权的歌
2013护士资格证考试分数线三年前端⾯试经验加感悟(⼲货分享)
我⽬前是在职前端开发,如果你现在也想学习前端开发技术,在⼊门学习前端的过程当中有遇见任何关于学习⽅法,学习路线,学习效率等⽅⾯的问题,你都可以申请加⼊我的前端学习交流裙:
前⾯: ++++++++ 282+++++++++++
中间: ++++++++++549+++++++++
最后: +++++++++++184++++++++
⾥⾯聚集了⼀些正在⾃学前端的初学者裙⽂件⾥⾯也有我做前端技术这段时间整理的⼀些前端学习⼿册,前端⾯试题, 前端开发⼯
具,PDF⽂档书籍教程,需要的话都可以⾃⾏来获取下载。
19年年底的时候从⼯作了两年半的公司离职,⽤了半个⽉的时看⾯试题及刷算法,半个⽉后开始投递简历,分别投了阿⾥、百度、快⼿和字节跳动,除了阿⾥⼀⾯匆匆忙忙电话⾯试把我咔掉了之外,百度、快⼿和字节跳动都是现场⾯,三家offer全都拿到,最终选择了字节跳动。
三家⾯试,都是三轮技术⾯加⼀轮hr⾯,实际上,⽆论是哪家的⾯试,问的东西都是很相似的,都可以在⽹上搜到答案,都⼀定存在于某篇⾯试题汇总⽂章内,因为技术就是那个技术,就算是问出花来,本质或原理还是⼀样的,想看详细的真实⾯试题,掘⾦、⽜客⽹、知乎都有很多,随便下都看不完。
授⼈以鱼不如授⼈以渔,这篇⽂章还有其他我觉得更值得分享的东西,所以为了避免篇幅过长,我就不详细⼀⼀列举我在这些公司中都碰到过什么题⽬了,每家各提两句我印象⽐较深刻的。
百度
百度是我被阿⾥咔了之后⾯试的第⼀家公司,年前北京还是可以现场⾯试的,所以我也是去百度现场⾯。
⼀⾯问的基本上都是基本功了,值得⼀提的是,百度是三家中唯⼀⼀个问我 CSS 问题的,⼤概就是⾯试官现场从他正在做的业务中拿了⼀个布局场景,让我写样式做好布局(不是圣杯布局或者双飞翼布局之类的),主要考察对 CSS 的灵活运⽤,需要稍微动点脑筋。
宝宝免费起名字
⼆⾯也问了⼀点基础,主要还是考察了⼀些场景解决⽅案或设计⽅案,算法的话,就问了⼀个原理是⼆叉树后序遍历的题⽬,⽐较简单,没费什么事就做出来了
三⾯应该是经理⾯,就问了⼀个场景设计题,然后就开始谈⼈⽣理想,为什么离职啊,有什么规划啊,在之前团队做过什么有贡献的事情啊,碰到过什么难题啊最后⼜是怎么解决的啊,加⼊百度后你想做什么啊,等等,反正我感觉我回答这些问题⽐我回答技术题难多了,因为有些问题太抽象了,我都不知道想问什么,但⼜不好⼀直追问他到底想问什么,我只能根据我的理解来回答,⼀边回答⼀边还要察⾔观⾊,直到⾯试官感觉差不多了才能停,说得我⼝⼲⾆燥,我宁愿多问我⼏个技术问题。
总结⼀下,百度的这场⾯试,更倾向于考察实际做事能⼒,问的都是很实际的问题,如果恰好曾经在实际⼯作中碰到过这些问题,或者看过相关的⽂章,回答起来基本是问题不⼤的。
百度的部门是百度APP,算是主航道吧,也挺想去的,但最后因为⼀些原因还是拒了。
快⼿
⼀⾯同样还是考察基础,⾯试官的⼯作技术栈是 React,我的是 Vue,⾯试官也没有为难我,就从 Vue问起,问了⼀些⾯试题常见的什么响应式什么diff算法什么观察者模式之类的,因为我之前系统性地看过 Vue源码,所以回答起来也没什么难度,并且回答完了之后,顺便给他额外讲了下 Vue的执⾏流程和相关源码原理之类的,说得⽐较多,⾯试官还是挺满意的。
⼆⾯问了原型链等⽐较⾼级抽象的东西,然后问的其中⼀个算法是洗牌算法,我感觉问这个题⽬其实
不太好,因为洗牌算法这个算法有点太独⽴了,不是什么回溯啊动态规划啊分治啊这些,是⽆法举⼀反三的⼀个题⽬,如果你恰好看过洗牌算法的实现,就那⼏⾏代码,你闭着眼睛都能写出来,如果你没看过,可能你想破脑袋都不知道该怎么写,当然,换个⾓度,运⽓也是实⼒的⼀部分。
三⾯应该是团队的前端负责⼈吧,和百度三⾯问得差不多的问题,都是先来⼀道场景设计题考察⼀下技能运⽤能⼒,然后开始问规划之类的⼈⽣理想。
总结⼀下,快⼿的这场⾯试考察得更加全⾯,同时和三⾯的前端负责⼈挺能聊得来,感觉挺合适的,⽽且快⼿也是我主动投递的最后⼀家公司,⾯完之后第⼆天我就回家过年了,就等着年后⼊职了,只不过还是没去成,因为我跳车字节跳动了。
字节跳动
其实我没打算投字节跳动的,是过年在家玩耍的时候字节的hr 把我从简历库捞出来给我打电话让我投⼀下,说可以年后视频⾯试,我想了下,投就投吧,反正也没事,万⼀快⼿那边出了什么岔⼦我还有后路可⾛,然后就约了视频⾯试,结果没成想就过了。
三⾯⾯试官就是我现在的leader,聊完后觉得也很对眼,再加上我⼀年前和半年前其实投过字节跳动两次,第⼀次过了,但因为某些原因我没去,第⼆次没过,现在是第三次,过了,⽐较纠结,因为已
经接了快⼿的电⼦offer,反悔不太好,但⼜想了下,可能这就是缘分吧,我感觉就算我这次不进字节,将来早晚也要进,晚进不如早进,所以就只好对不住快⼿那边了。
成功⾯试的⼏个经验:
经过这些⾯试,加上我看过的⼀些⾯经,我稍微总结了⼀下⼤⼚⾯试成功的⼏个经验。
这很好理解,⽆论你⼯作了⼏年,hr或⾯试官看简历第⼀眼想看的就是学历,这是⼀个很直观地给简历打分的点,好的学历不⼀定能让你通过⾯试,但却可以让你的简历通过初筛,很多⼈可能就因为学历这⼀关,导致连⾯试流程都进不去,可能空有⼀⾝本事却⽆法施展。
但这也是可以理解的,⼤⼚简历太多了,hr不可能给所有⼈⾯试机会的,否则⾯试官其他的啥也不⼲加上24⼩时连抽转也⾯试不过来啊,学历是⼀个很直观的筛简历的⽅式。
⼯作经历
学历这种事情既然发⽣了就没法改变了,只能认了,但学历最⼤的作⽤其实还是让简历通过初筛,如果你的学历不⾜以让你的简历通过筛选,那么你还可以将希望放在⼀个好的⼯作经历上。
你的学历不够让你⽴刻进⼤⼚,但可以先进⼀些⼆三线⼚或者⼩型的独⾓兽啊,那这可选择的范围就很多了,在这个层次的公司⽼⽼实实待个两年,期间别忘了修炼好基本功,别荒废了。
两年后你的标签就是⼀个学历不是太好,但⼯作经历还不错,并且⽐较沉得住⽓的⼀个候选⼈,⼀般情况下,⼤⼚给你个⾯试机会肯定还是没问题的,进⼊⾯试流程后,那就是你真正凭本事的时候了。
这⾥有三点需要注意:
作为跳板的公司不能太⼩了
最起码是⼆三线或者独⾓兽,公司太⼩了也不可能给你太好的项⽬经历,另外,⾯试官和hr⼤概率得听说过你这个公司。
不要频繁跳槽
如果你是从腾讯跳到阿⾥再跳到微软⾕歌,哪怕你半年⼀跳都没有任何问题,但如果你是从⼀个不知名⼩⼚跳到另外⼀个不知名⼩⼚,这种⼀年⼀跳hr都嫌你跳得太频繁了,觉得你不稳定,半年⼀跳就没法看了,如果你在⼩⼚,然后将来想去⼤⼚,那么就要稳住,别把简历搞花了。
不要闷头搬砖
⽆论在哪⼯作,肯定都是以写业务代码居多,也就是搬砖了,但既然你打定了主意将来要去⼤⼚,那么就绝对不能真的局限于搬砖,要把砖搬出花来
⽐如发现项⽬中有个结构不太合理,但凑合着⽤问题也不是太⼤,那么你就得想我不能凑合,我得把它整舒服了才⾏,然后说⼲就⼲直到真的把它搞定,⽐如你觉得⼯作流程中有些步骤是重复⼯作,那你可以考虑下是不是可以造个轮⼦解决这个问题。
我经历的⾯试,很多情况下就是让你给出解决⽅案,考得就是技术的实际运⽤能⼒,⼏乎每⼀轮⾯试我都会碰到这种题⽬,这就要求你在平时⼯作中要有意识的积累,光搬砖你是说不出来完整的解决⽅案的,当然,⼀些常见的基础知识⽐如原型链、闭包、diff算法等也都是会问的,所以你不能因为平时搬砖很少⽤到这些就不管了,有些知识点你可能知道是怎么回事,但就是说不明⽩,那也是不⾏的,⼀定要真的弄明⽩了。
总⽽⾔之,就是要有⾃⼰的思考,不能光顾着搬砖,因为搬砖谁都会,⼤家都⼀样,都是搬砖的,凭什么你能去⼤⼚我不能去?所以你就得⽐他们强才⾏,没条件创造条件也要上。
个⼈修炼
如果你因为实在太倒霉,去的公司接连倒闭或者领导们都太xx,你没办法不频繁跳槽,⾃然也没有可以拿出⼿的好项⽬,然后把简历搞花了,也不是就⽆法补救了的,外界条件靠不住,你还可以纯靠⾃⼰啊。
高级装扮兑换卷怎么用⽐如写博客,记录⾃⼰平⽇的技术思考,倒腾出的解决⽅案,创建或者参与开源项⽬,把⾃⼰的博客和 Github整得有模有样,各种分析、源码、解决⽅案、开源项⽬,⾯试官点进去看了后笑容满⾯,你还愁你没有⾯试机会吗?
个⼈修炼也有助于我上⾯提到过的⾯试官喜欢问的场景设计题
⽐如,现在需要你重构百度app⾸页的feed流,feed流的展⽰的每⼀条数据,它的功能、样式会根据这条数据不同归属有不同的效果,⽐如⼴告、百家号、⼩视频等,点击数据流会有⼀些操作,⽐如打开⼀个modal或者播放⼀个⼩视频或者跳转⼀个页⾯,那么请你说下当你接到这个需求时你想要怎么设计?
这是⼀种考查知识点很多,并且问的问题范围⽐较⼤的题⽬?不会涉及到具体的问题点,考察的就是候选⼈的知识⼴度和深度,平时的积累,考虑问题的维度等⽅⾯,上⾯那个题,是没有明确答案的
这个时候就是考验候选⼈个⼈修炼的时候了,有的⼈可能⼀脸懵逼随便说⼏句就不知道该继续说什么了,有的⼈则可以跟你说上⼏个⼩时还意犹未尽,如果我是候选⼈,我可能会从长列表的优化、跨域/跨页⾯通信、配置化(可维护性)、数据预加载、数据缓存、页⾯/组件⽆缝切换/转场动画、离线包/ssr等⾓度来回答这个问题,如果没有这些知识储备,是不可能想到这些的,场景设计题是⼀个可以让⾯试官全⽅位认知你,同时也是你⾃由发挥的⼀类题⽬,所以⼀般⼤⼚⾯试都会问到这类题⽬。
然后也有⼏点需要注意:
⾼质量博客
博客既然是反映你⾃⼰技术⽔平的⼀个地⽅,那么⾸先就要保证原创,确实是你的东西,如果全是搬运的 API⽂档或者其他⼈的东西或者⼩⽩教学的⽆脑⽂,那么还不如没有,⾯试官看了后只会觉得你难道就这点⽔平?所以,博客的质量⼀定要保证
斗罗大陆胡列娜持之以恒
不能三天打鱼两天晒⽹,⼀定要坚持下去,形成⼀个连贯的体验,⼀是让⼈⼀看就觉得你这⼈确实是认真在做这件事情,⼆是只有这样你才能有⾜够多的积累,⼏⼗篇⽂章肯定⽐寥寥⼏篇⽂章更能让⾯试官全⽅⾯了解你
这其实是⼀个在很多时候可以⼀招制胜的关键
关于亮点这个东西,我在 前⾯⼀篇⽂章的最后 其实已经说过了,这⾥我就知道照抄过来了:
最近参加了⼏场⾯试,发现⾯试官们都很喜欢问你有哪些亮点,不管是业务层⾯还是技术层⾯,并会按照你给出的答案深⼊下去,看看你这个亮点到底有多亮
⼀个追问你亮点的⾯试官,其实是⽐较愿意给你机会的,技术的范围太⼴,可能他问的你恰好不熟悉,这是很常见的事情,⽐如你熟悉vue,他团队内⽤的都是 React,他追着你问 React可能很难问出结果来,另外⼀⽅⾯,你也⽆法保证在每场⾯试中都保持最佳状态,万⼀你跟⾯试官根本不在同⼀个频道上,你们之间相互听不懂对⽅在说什么,还怎么继续?所以把选择权交给你,给你机会让你⾃⼰选,那么这就引出另外⼀个问题,如果你真的没做过什么有亮点的事情怎么办?给你机会你都抓不住,这可怪不到别⼈了
所以,如果你有⼀个较⾼的追求,那么在平时的⼯作中,哪怕是天天写业务代码,你也要有⾃⼰的思考,这个组件可不可以换⼀种写法,那个需求是不是可以简化⼀下,项⽬⾥的webpack需不需要升级到最新版,这个问题可不可以造个轮⼦来⼀劳永逸地搞定它?
⽆关问题⼤⼩,都可以引发思考,实际上,⼀般情况下也不太可能有什么⼤问题等着你去解决,⼤部分情况下都是⼩问题,但问题再⼩,解决得多了那也是⼀种可观的积累,通过这种积累,在团队内部,你就有了可以拿出来说的输出贡献,离开了团队,你也能以此抓住⾯试官给你的机会
有时候,这种亮点⽐你背⾯试题刷算法还好⽤,毕竟,⾯试题或者算法题会就是会,不会就是不会,但是亮点这种东西可没有标准答案,能说的可多了去了
需要注意的是,你的这个亮点⼀定要⾜够亮,不能就亮⼀秒就没了,容易闪着眼,必须要⾜够坚挺。
也就是你必须要在你这个亮点上有⾜够的深⼊和见解,上下游和细枝末节都要搞清楚,⾜以应对⾯试官展开⽽来的提问,这样⾯试官才会觉得你确实是擅长这⽅⾯。
软素质
简历⽤点⼼
简历是招聘流程开始的第⼀步,⾸先最起码个好点的模板,⽹上很多
然后就是内容要好好写,切忌罗列毫⽆意义的技术点,什么jq/vue/vuex/react/redux/http/cdn/vim/git,不是不能写,⽽是你别占⽤太多篇幅煞有其事地介绍这些,⼀句话完事就⾏了,要突出重点
不要写精通什么什么东西,精通这个东西每个⼈理解得都不⼀样,你觉得精通就是能在任意场景下熟悉运⽤。⾯试官可能觉得你既然精通js,怎么 vue是 Evan You写的⽽不是你呢?搞不好要为难你⼀把,所以尽量避免这些可能引起争论的东西
重点写你做过的项⽬,项⽬⽤到的技术栈,⼤概功能是什么,你在其中扮演了什么⾓⾊,写重点就⾏了,别写得跟⽂档⼀样⼜多⼜长,细枝末节的东西等到⾯试的时候会问你的,三年以内⼯作经验的简历最好不要超过两页
如果你博客或 github上有点东西,最好把链接带上,如果就是⼀个空壳⼦,没什么内容,就别放上去了
另外,个⼈建议,简历上最好放张照⽚,相当于给简历增添特定的主语,有明确的个⼈属性,跟长得好不好看关系不⼤,除⾮你实在是觉得⾃⼰长得有点对不住全国观众那就算了
⼀定要会表现⾃⼰
⾯试官的初衷肯定是想尽可能多地了解你,这样才能更好地评估你的能⼒,但问的问题可能就⼀两句话,那么作为候选⼈,你不能就因为⾯试官只问你1+1等于⼏然后你回答个2就完事了,这种回答虽然合格,但不是⾯试官最想得到的答案
给出了标准答案后,你应该根据主动⾯试官问的问题继续发散开来,⽐如为什么等于2,有什么实际运⽤的场景,以往有没有等于3的情况?
具体点话,⽐如⾯试官给你出了个原型链的题⽬,那么你要做的就不仅仅是把这个道题做出来,除此之外,最好还要主动说⼀下原型链的相关原理,最好现场画个关系图出来,然后说下有哪些应⽤场景,⽐如原型链继承,如果你说了这个,那么其实还可以继续往继承上延伸(尽管⾯试官根本没问你这个),总之就是要把你的知识点全都体现出来,尽可能多地给⾯试官透露你的能⼒。
这不是偷奸耍滑,这恰恰是⾯试官想要看到的,他不需要绞尽脑汁地刻意引导,你就⾃⼰主动坦⽩了,⾯试官肯定⾼兴啊,最起码说明你懂得确实多,因为知识点掌握的不咋滴的⼈,他也说不出这么多来。
你通过在某个知识上深⼊或发散的表现,⼀定程度上,也可以触发晕轮效应,某⼀⽅⾯的突出会给⾯试官留下深刻的印象,就像是⽉亮的光晕,导致⾯试官下意识地就忽略了你其他⽅⾯的不⾜。
很多的程序猿可能就是不善于⾔辞,但这⼜不是让你搞社交,技术⽅⾯的东西我觉得还是可以开⼝多说两句的。
电脑密码忘记怎么办第⼀印象
⾯试有时候也要看眼缘,有的⾯试官,在你刚看到他的时候,你就知道这场⾯试肯定过不了,同样的,有的⾯试官,在刚看到你的时候,就决定不给你过了
所以第⼀印象很重要,程序猿不需要西装⾰履,但也别太懒散,特别是个⼈的精⽓神⽅⾯,决不能弱了,⼀定要有精神,不要因为担⼼⾯试过不了⽽⼀副诚惶诚恐的样⼦,你越这样反⽽越过不了。
⾯试你的⼈,基本是就是你将来的同事、leader或者隔壁组的同事,换做是你,你肯定也不想招个看着就邋遢,性格太负⾯的⼈进来当同事,所以⼀定要⾃信,需要注意的是,⾃信和狂妄是两回事,⾃
信和谦虚也并不冲突。
作为技术⼈,最重要的就是⾃⼰的技术能⼒,很多⼈在刚毕业的时候⼀腔热⾎,每天打鸡⾎⼀般通宵⼯作也不嫌累,但是后来被社会毒打的次数多了,很容易就疲倦了,可能有的⼈喊着喊着就放弃了,开始安于现状,这是很危险的事情,技术这条路不进则退,只有持续学习才能在技术这条路上越⾛越远。
⽽另外⼀⽅⾯,客观的困难确实⼜是存在的,⽐如⼯作量太⼤没时间,前端技术发展太快学不完等,这就需要你到⼀条可持续发展的道路,⽐如每周仔细研读⼀篇⾼质量技术⽂章,或者定期地进⾏总结,不要给⾃⼰太⼤的压⼒,但⼜必须要保持学习和进步。
⽆论你选择的⽅法是什么,最终最重要的还是要落到实处,收藏了⼀⼤堆优秀⽂章的链接放在收藏夹吃灰是没⽤的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。