乐趣区

关于前端:浅谈怎样系统的准备前端面试

前言

守业梦碎,回归事实,7 月底决然裸辞,苦战两个月,拿到了美团和字节跳动的 offer,这算是从业以来第一次真正意义的面试,遇到蛮多问题,比方一开始具体的面试过程我都不懂,根本始终是摸着石头过河,所以联合我的经验和总计的前人教训,总结一下我认为还比拟零碎迷信的面试纲要分享给大家,心愿大家在零碎的筹备之后,都能找到本人称心的工作。

一、常识筹备

1. 常识体系

常识体系是重中之重,优良的开发者很多都有保护本身常识体系的习惯,建设常识体系能帮忙认知常识全貌及迅速找到常识的关联,就像对碎片化的常识做了索引,无论工作还是面试中碰到的问题,能很快对号入座,触类旁通,哪怕是不相熟的知识点,也能够应用其余同体系的常识进行关联解释,常识体系能够帮忙你尽快理解本人,帮忙你查漏补缺,让你可能把贵重的工夫聚焦于本人的单薄项。

如果还没有本人的常识体系,那就赶快口头起来吧,这里列出一些参考资料帮忙你疾速口头:

  • 相干:浅谈如何搭建常识体系
  • 工具:XMind、ProcessOn
  • 分类:JavaScript、CSS、Html、计算机网络、数据结构与算法、浏览器原理、Nodejs、工程化、框架、业务我的项目等
  • 自查:古代 JavaScript 教程(举荐)
  • 借鉴:ssh_晨光时梦见兮、ConardLi、神三元、冴羽的博客、Winty 的前端常识体系筹备
  • 标记:优先级 = 本身把握水平 + 知识点重要水平

2. 工夫调配

梳理好常识体系之后,接下来就是制订一个正当的学习打算了,这一步须要你依据本人的集体工夫进行安顿(我就是工夫安顿不了一狠心就裸辞了,前面压力微小),依照常识体系中标记的优先级进行零碎的学习,总的工夫依据本身状况,倡议 1 ~ 3 个月即可,太长时间可能容易忘记后面学习的常识。

针对不同模块,工夫安顿也有所不同,我列举一下我本人的安顿以供参考:

  • 基础知识 40%
  • 我的项目与业务 20%
  • 算法与数据结构 20%
  • 设计思维与工程化 10%
  • 框架与原理 10%

3. 整顿算法

这里把算法独自拿进去,是因为近年来在大厂的面试中对数据结构和算法的考查越来越器重,不论是前端还是后端,首先咱们是工程师,咱们日常工作就是写程序的,程序 = 数据结构 + 算法,所以算法和数据结构的学习是很有必要的,尽管对于前端岗位的算法要求可能不会那么高,然而根本的递归、遍历、链表的操作、栈与队列的常见算法还是要会的。每天学习两三题,两个月后,你不会悔恨的。

举荐一些社区内很不错的算法学习材料和教训:

  • ssh_晨光时梦见兮的算法进阶指南
  • labuladong 的算法小抄
  • 神三元的算法练习指南

喜爱付费课程的话,比拟不错的有:

  • 慕课网 bobo 老师的《算法与数据结构体系课》
  • 极客工夫 覃超 老师的《算法面试通关 40 讲》

4. 整顿面试题

这一步不是让大家去只刷面试题,而是相熟目前理论面试中常见的考查形式和知识点,做到成竹在胸,也能够用来自查及欠缺常识体系。能够搜集整理近两年来一线公司的面试题,做成笔记,你会发现面试题理论问的大同小异,只是考查的内容和模式有不同的目的性。提前相熟,上场的时候才不会慌乱。

举荐材料:

  • 牛客网面经汇总
  • fe-weekly-questions
  • Daily-Interview-Question
  • 掘金社区面经

5. 常见性能的手写实现

这块简直是必考的,比方:深拷贝、事件总线、es5 继承,以及最近很火的手写 Promise 实现,这些手写性能不仅考查了面试者的编码能力也考查了对原理和标准的把握水平。

尽管理论面试过程,面试官可能不会问的特地细节,比方让你实现一个残缺的 Promise,然而咱们本人学习这些手写性能的时候,不能浅尝辄止,须要思考应用场景、错误处理、标准等细节的问题,千万不要背代码,不然手写代码一时爽,深挖细节火葬场。

笔者本人粗略的总结了一些前端面试常见的手写性能,供大家参考;

6. 我的项目实战

这部分是社招必考点,对本人负责或参加的我的项目,肯定要深挖,要提炼出「难点」「痛点」「亮点」以及「解决方案」,更要体现出本人的「思考」和做出的「致力」,对应于「问题 – 思考 – 解决 – 成绩」这样的一个过程,是大厂很看重的能力,心愿大家对于本人的参加的我的项目都能参考这个流程进行思考总结。

如果没有很丰盛的我的项目教训,也能够多钻研社区内技术大佬们的「我的项目教训」来取得,但肯定要钻研透彻,看过不等于会,不然面试问到只会坑了本人。

7. 执行学习打算

依照梳理的「常识体系」、「整顿算法」、以及「整顿面试题」,联合「工夫调配」、给本人制订一个适合的学习打算,而后动摇认真的去执行它。

二、简历筹备

1. 参考目录

  • 【根本信息】不写无用的个人信息,比方:照片、籍贯、性别、地址、身高等;
  • 【技术技能】对「理解、熟练掌握、精通」这类词有概念,不要轻易用精通;
  • 【我的项目经验】不写对求职无用我的项目经验、做的最好的我的项目 2 ~ 3 个即可,有数据撑持;
  • 【工作经验】简略概述名称、退职工夫、职位以及次要负责业务,也能够和我的项目经验联合起来写;
  • 【教育背景】名称、工夫等简要信息,一般院校倡议放在底部即可,名校能够放在顶部;

    参考简历模板:链接: https://pan.baidu.com/s/1I-9U… 提取码: gkxw

2. 我的项目经验

简历中最难写的应该就是「我的项目经验」了,这块也是最重要的,是面试官考查你的根据,也是你用来疏导面试官发问的工具,我的项目经验的总结,要有数据思维,不能泛泛而谈,个别依照 STAR 法令进行形容,依照:情境 (situation)、指标(target)、口头(action)、后果(result) 四项对工作做一个精简形容,例如:

  • 我的项目简介以及在 xx 我的项目中负责前端负责人
  • 负责了 xxx 工作,实现什么指标
  • 通过 xxx 计划解决了 xxx 问题;使 xxx 晋升了 50%
  • 总结了 xxx 解决方案

3. 注意事项

  • 【突出亮点】如开源我的项目、大厂背景、社区影响力、出名我的项目、集体博客、技术亮点等;
  • 【隔靴搔痒】针对不同公司职位,能够针对性的调整简历内容,筹备多份简历;
  • 【格局排版】PDF 格局,最好一页,最多不超过两页,像看待毕业论文一样去查看排版、错别字、标点符号、措辞;
  • 【文件命名】姓名_职位_手机号.pdf(学历有劣势的能够加上最高学历院校);

4. 投递简历

  • 【筛选公司】相干因素:平台大小、发展前景、公司间隔、集体爱好等;
  • 【理解公司】通过网络、社区、意识的外部员工去理解面试的具体流程、周期、注意事项等;
  • 【投递程序】面试周期短的能够推延,面试周期长的能够先面试,保障 offer 发放之间的时间跨度不会太长,便于集中比照抉择;最想去的公司能够最初面试,这时已充沛热身,甚至拿了 offer,心态方面也会更加从容;
  • 【内推优先】优先找人内推,社区内有很多小伙伴违心帮忙的;

三、面试筹备

1. 自我介绍

面试官对你的根本信息都已通晓,所以这一步最好联合应聘职位直奔亮点进行简要概述,做了哪些亮点我的项目 遇到了什么难点 如何解决的 我的项目有什么播种 给团队或公司带来了哪些成绩,依照这个形式去吸引面试官,同时这也是咱们把握主动权的办法,面试官喜爱依据咱们表述的内容进行开展,这样由一段精心设计的自我介绍开始,进而疏导面试官和你交换,这会让面试官的工作发展的很难受。

留神自我介绍不用波及过多的技术细节论述,一是这些技术细节可能面试官不肯定涉猎,导致面试官只能从其余方面寻找切入点让你陷入被动,二是占用过多工夫,所以简要概述要点即可,随后面试官会依据这些点和你开展沟通的,这时再具体论述不迟。

2. 面试过程

大厂的面试多为四轮,整个过程因人因公司而异,上面介绍一些常见的面试过程与注意事项:

一面

个别是你应聘职位的平级的骨干共事,是入职后和你一起并肩作战的搭档,这一面个别也是最难的,会从多个方面考查你能不能胜任这份工作,侧重于学习能力、沟通能力、基础知识把握水平、总结与思考、编码能力等;

这一面要特地留神编程题,如果遇到原题,不要太冲动,面试官会从其余方面再进一步考查你,所以多思考一点,这也是上文说的,肯定不要背题,不然一问就露馅;

遇到不会的常识,也不要太紧张,先尝试暴力解,而后逐渐优化,也能够请面试官给予提醒,如果能在面试中解决一个不会的问题,那肯定会让面试官给你加分的;

二面

个别是团队骨干或直属 leader,这一面是对一面的延长,除了基础知识之外,面试官还会从技术选型、架构、解决方案等方面发问,考查你对技术细节、我的项目优化、整体计划等方面的思考;

三面

三面个别是所属团队的 leader,这一面的技术细节考查你的不会太多,更多的是你对工作中波及到的业务、产品、技术的思考,职业的布局与集体倒退,以及一些职场软技能,常见问题举例:

  • 我的项目中的角色、承当了哪些工作、遇到了哪些难点?怎么克服的?
  • 和其余技术选型或者产品我的项目的比照有什么优劣?
  • 团队怎么合作与分工的?
  • 给本人的技术能力做一个评估
  • 做了哪些晋升团队的工作?
  • 公司产品这样的?是否有竞争力?怎么盈利的?
  • 你的集体职业规划?

四面

四面个别是 HR 面,这一面,尽力别说太多题外话,因为言多必失,放弃踊跃乐观、礼貌敌对的态度,当面试官问你为什么到职时,哪怕你上家公司老板和你打过架,也不要埋怨说进去。常见问题举例:

  • 为什么从上家公司到职?(留神积极向上)
  • 心愿找一个怎么的工作,职业规划呢?(重倒退,少谈钱)
  • 谈谈本人最大的长处?(不要编,结合实际说就好,大家都有的,比方:专一、团队精神、技术激情与钻研精力、沟通能力、深度思考等)
  • 谈谈本人最大的毛病?(和工作相干,又能够通过致力扭转的点,比方:过于局限技术细节而漠视产品业务的重要性和了解,导致开发过程碰壁,当初会积极参与产品业务的早起阶段,增强对业务的了解)
  • 不便走漏手上都有哪些 offer 了吗?(按理论状况说即可,好的 offer 能够突出一下,不好的,能够不说)
  • 在 B 公司和咱们之间,你怎么思考的呢?(必定选你啦)

3. 面试官:“你有什么想问我的吗?”

这个问题个别每一面都会遇到的,发问是面试中咱们可能被动“索取”的环节,所以肯定不要节约这个机会,一些 leader 的答复还会带给你很多技术之外的思考与教训,让你受害良多,肯定留神,不要问和待遇相干的问题,最初谈 offer 的时候再去问。

上面给出一些发问示例供参考:

  • 一面:面试官个别是你的平级共事,能够多去理解理论的工作内容,便于后续比照 offer,例如:团队业务、日常工作、技术栈、合作、技术剖析等
  • 二面:面试官个别是团队骨干或直属 leader,能够多去理解业务和产品的布局、技术建设、对应聘职位的定位与期待等;
  • 三面:面试官个别是部门 leader,这一步能够多理解技术之外的常识,比方面试官本人的成长教训、技术之外的能力、职位倒退路线等;
  • Hr 面:这一步能够多去理解公司自身相干的事,比方:你在公司工作的最大的感触是什么?降职机制是怎么的?等等

4. 面试复盘

面试也是一个特地好的学习过程,能利用这个机会和其余团队的优良的人沟通技术、交流心得、检验能力、理解优良团队业务和产品,无论最初后果怎么,都值得好好总结下来。

  • 【记录】每轮面试完结后,尽量具体记录整个过程,最好录音,不便剖析本人的体现
  • 【剖析】依照本人的把握水平对面试问题进行分类统计,剖析沟通过程以及本人的体现
  • 【补强】只知其一; 不知其二的问题优先温习把握,不会的问题要去大抵理解一下,如果没有工夫把握,能够临时疏忽
  • 【总结】剖析补强之后,能够总结成文,也能够分享给社区的小伙伴

五、Offer

当面试通过当前,你就要着手开始筹备最初的 offer 沟通了,这一步,你要联合新公司的薪资形成,职位的薪资范畴,本人估算涨幅后的年薪总包、社区理解的信息、公司发展前景、集体心里预期等去设定一个本人的薪资底线。

1. 年薪总包,是你在上家公司的税前年度总收入:『月薪 * 12 + 奖金 + 其余』,会要求银行流水进行证实,新公司会参考进行定薪,非凡状况能够被动阐明,上一家公司的薪资常识参考,但也不是决定因素的。

2. 薪资会谈,这一步能够说是最考验沟通能力的环节了,这里提供一些信息:

集体实力 / 公司程度 优良公司 一般公司
集体实力优良 放弃底线、冲击高薪 没有底线、必须高薪
集体实力一般 升高底线、学习为重 放弃底线、冲击高薪
  • 薪资个别会在之前总包的根底上进步 30% ~ 50%;
  • 实力优良且入职优良公司,翻倍不是不可能;
  • 有些公司超过 50% 涨幅须要走特批,要求你承诺入职才会给你申请,这个阐明一是公司对你认可,二是公司心愿你尽快入职,所以如果公司不错,能够好好考虑一下;
  • HR 询问薪资预期时,能够基于心里底线和职位薪资范畴向上多要一些,大大方方的沟通即可,没有知乎上说的那么多戏,与其说 HR 压价,倒不如说 HR 是避免候选人狮子大闭口,只有薪资的晋升在一个正当的范畴,谈薪还是比较简单的。
  • HR 询问薪资时,个别还会问你都拿到了哪些 offer 了,如果你手上有比拟不错的 offer 能够说一下,能够帮忙 HR 更加确定你是一个优良的候选人,薪资说不定还能够取得一个晋升,然而肯定不要为了提价胡编乱造 offer,诚信是本;

3. 何时入职,这一步,HR 都会问你何时能入职,这个联合你的当前工作和后续的面试打算,能够推延入职日期,然而不宜太久,后续如果不能入职,肯定要尽早告诉 HR,要尊重他人的工作与付出,礼貌阐明起因即可,别让人家等太久;

4. offer 比照,简略来说:有指标向前看,没指标向钱看,薪资很重要,然而技术人的职业倒退更重要,而且大的平台在薪资上也不会让你吃亏;

六、注意事项

  • 不要裸辞,不要裸辞,不要裸辞;
  • 尽量 15 号之后办理到职,下个月的 15 号之前入职,这样能保障你的五险一金一直缴,平滑适度
  • 上家公司签的到职证实日期,不要和新公司的入职日期有重叠,所以拿到 offer 后,要留出工夫先把当前工作的到职手续办完;
  • 留神社交礼仪,IT 行业尽管没那么多繁文缛节,然而根本的礼节不能丢,着装得体整洁、不要早退、进门敲门、出门关门、等;
  • 有 offer,心不慌,能够先把还不错的 offer 留着,再去冲击大厂;
  • 面试是七分实力三分运气,不同的面试侧重点也会不同,所以不要因为某一两次面试受挫就失落信念,及时总结;
  • 乐观踊跃、放弃诚信、杜绝坑骗、防止负面情绪;
  • 不埋怨共事、不埋怨上家公司;

七、扯点别的

感激一下 @ssh_晨光时梦见兮 给我内推,给我看简历,给我倡议,一句:“我感觉你的简历还不错”,给了我很大信念,和晨光开玩笑说:“自从遇到你如同所有的面试都顺利多了,争取做你共事”,最初尽管不在一个部门,也算是得偿所愿成了共事,就等面基吃饭啦。

感激一下 @狼叔 * 阿里巴巴,和狼叔都有着一段艰难的守业公司经验,在我辞职之后始终走不出心田对将来迷茫以及对过来痛心的状况下,我被动分割了狼叔,对于我的现状和布局,狼叔谈了本人的认识,给了倡议,激励我:“有指标向前看,没指标向钱看,当初都还不晚,加油吧”。

最初手握 offer 后,甚至有点做梦的感觉,一路走来,始终感觉迷茫与无助,晓得最初重大狐疑本人,但到职的这段时间,有不少敌人常常激励我:“自信点,你还不错,加油!”,也始终帮我找内推,我感觉没有这些敌人,我心态可能没那么快恢复过来,真的非常感谢他们。

稳固之后,我当初除了做好工作以外,还想做的一件事就是也试着去帮忙一些我能帮忙的人,也心愿有机会激励他们:“自信点,你很棒,加油!”

八、说在最初

文章次要对面试的外围流程与筹备工作做了一个纲要性的概述,重点在于对面试的一个整体的扫视以及各个环节的重点,所以必定有很多细节没有顾及到,如有疑难或者倡议也欢送留言一起交换探讨,也欢送分割我,找内推、聊简历、聊技术、侃大山。

邮箱:weboying@gmail.com
公众号:iboying

退出移动版