从零开始的前端面试全流程的技巧与经验(超详细) | 掘金技术征文。
前言
首先,我简述下自己面试的布景。我是湖北人,年前由于个人原因辞去职务,后来由于疫情原因被逼在家赋闲失业2个多月。
3月18号左右,湖北解封后左右来杭州。杭州这边绿码是能够全城通行的。可是我仍是在家待了一个星期左右。这一个星期大约投了 20 多K & 5 6 G ? u家公司,收到了10家左右面试邀请, H * _ G。
网上E H L : O y现已有许多面试题了,这儿我/ T d N Y K b C不会逐个收拾过来。本文重点来谈下,怎样从预备阶段到拿到 Offer 以及 Offer 挑选的一些个人技巧和阅历。
惯例操作,先点赞后观看哦!你的点赞是我创作的动力之一!
概览

面试根本状况
总得来说,面试+确认offer耗时大约两周左右。最终成果自己觉得还不错。
杭州公司状况
-
中小公司偏多,抛开阿里、字节、网易、外包等N r J ? n F w公司,100-500人左右的算不错了。 -
996公司偏多,9106偏少,965的极少。 -
首要散布滨江、黄龙世界、未来科技城、愿望小镇相j 2 & E n ~ R H 2关地区。 -
薪职待遇全体牵强还行,比照上海稍弱,广州稍强。
关于抱C ~ k &负公司
-
离家近(女朋友在家,不能回太晚) -
没有996气氛(着重是气氛) -
薪职待y w n c $ – g s ^遇可承受(不求太高) -
技能气氛要好(什么是技能气氛,虽然没有一个明确的界说,可是面试的时分仍是能够看出来的。面试官肯定是一个技能大牛,同时作业也是一个很有技能挑战性的)
收到的面试
受疫情影响,一面现局面试的偏少,以电话视频面试为主,二面根本都是现局面试了
-
3家电话面 -
2家视频面 -
2家网上做题 -
2家现局面试
面试成果
-
电话面挂一家 -
视频面g 0 6 , U H & { 2全经过 -
做题面全y ? a经过 -
前面经过约了现局面,现局面大约8家左右 -
面完3天内收到4家offer,挑选了一个非996公司,现已入职 -
其间一家公司再原来根底上加薪,考虑再三仍然拒绝了 -
入职后又收到3家offer,当然也拒绝了
简历办理
运用模版或许制造模版
我推荐的3种风格
-
运用好的模版,首要是提高视觉上的感受。着重简洁明了,不要让太华丽款式盖过文字。我运用的是500丁的简历模板,自己改造了以下感觉还不错。
-
当然不要模版也行,直接用markdown格式,可是明显打印出来没那么好。
-
在线模版,自己用CSS写一个。当然最好找个规划师规) $ D ( P D划下。或许模仿规划师作品写一个。也不需求用太多技能,由于写一个静态页面自身关于前端来说也没什么太的大技能含量。首要是版面的规划元素和创意性。
不断修正
突出亮点
社招中简历最重要的当地有3点
-
作业阅历、项目阅历 -
技能亮点(对什么东西有深化研究) -
岗位匹配度
这几个当地是需求不断修正的。
精准归纳
作业阅历,项目阅历。自身便是逐渐堆集的,要精准的归纳出你在作业中完结的业绩和产生的作用。* W | }
比方说: 单独开发一个xx系统,对m d 6 w I L c kxx进行优化,最终将xx提高了多少。
拓展鸿沟
你要怎样凸显出你的优势呢?如安在广大的竞赛者中锋芒毕露,这个很重要。技能的堆集会给简历加一些分。
当然这个要靠平时堆集,的确平, = ) K时仔细做了这些东西。的确对技能有必定的热爱。
比方: 开源xxx库,有多少star。参] _ g o ` T z h L加xxx项目,贡献了代码。或许制造了什么插件,下载量到达多少。等等= o 都是拓展鸿沟的加分项。
岗位匹配度
比方R M B f ( 3 O T说:JD上写会H5,有多少年 Vue 开发阅历。那么你这e V j e i时就要当心了。
假如没有这方面阅历,第一挑选是看看其它岗位,有没有和自己技能匹配的。假如没有# ` : 其它岗位仍是想进,先简历上写着,然后猛学就行了,也A L 8 | ( b是有机会的。
我前面几篇文章总结了许多Vue,H5的阅A h (历。要是你们悉数弄清楚,运用Vue作业根本没什么问题。
Git版别办理的办法办理简历
善假于物的程序员,才算好程序员。
现在 github 这么便利,不利用起来X 2 M g C L n多干点事太浪费了。pI $ T b j X ^ { ,rivate 项目也免费了,运用 github 办理简历简直爽的不要。
git 上还能打 tag,运用 yarn build,给简历分模块,再来一波构建打包,主动生成网页和PDF版。
公司挑选与投递
我的方针不大,也不想f A y ( [ , s找公司练手,所以没有分太多批。想进好的公司,就需求分批投递。
分批集中U T ( ` z | , Q J投递,稳中求[ ; Q ~进
分批投递优点首要在于,心态不会太崩,有了保底和练手,挑战抱负中公司也不g z d J ] N虚了。
这是我以前列的,不是我现在面的,这种算是均匀处理。可是更好都办法仍是下面这种分法:
第一批:保底与练 l 6 z手
首要是一些小一点,待遇稍差一点的公司,看起来s G X O很容易进。
第二批:或许性大,最或许去的公司
这个是方针公司,根本满足需求。可是或许公司没那么大,可是仍是满足,很有或许进的F Z ~ _ j r % S。
第三批:具有挑战性的公司
面试周期长,竞赛大,预备时刻长。能够考虑舍弃前面的offer的公司。可是 996 也是值得考虑的一点。
为什么要集中投递呢?% U w d )
首要是面试完之后一周之内会出offer。只有offer同时出来,才能有挑选的空间。一般公A | U司不会给太多你承受Offer的时刻。
还有一点便是心态问题。面试周期拖的越长,面试的心态和状况都欠好。
面试预备阶段
常识整理
进行常识整理,进行查漏补缺,这儿不要太求全,以重点为主
,在大脑中构建一个前端常识网络
1. 构建常识网络图
我运用的r T Q 0 w i / !是XMind

内容有点多,当然这是我之前一直用的办法,逐渐构成的常识网络。前端常r Y ) # J ] I X :识点太多,单靠回忆也很难,所以平时,查阅常识也会增加在上面,再次查阅,很容易找到。
首先我将我的前端常识分为下面这些大的方面
-
HTML(meta、HTML5) -
CSS(包括CSS3、Less、Sass) -
Java } r Y = b + i NScript(ES5、ES6、TS、重点调查面l , 6 U } q向目标) -
Node(包括Koa、SSR) -
Webpack(原理、源码、常用办法) -
Vue(双向绑定/diff原理、源码、常用办法) -
React(diff/hooks原理、源码、常用办法) -
H5 & Hybr! A 2 a ? J id(1pF g S q r w a Gx、布局办法、与客户端调用办法) -
WebApi(存储、缓存) -
浏览器机制(烘托机制、HTTP/HTTPS、安全) -
功能优化(浏览器烘托、资源加载、请求、CDN、打包构建)
然后逐个分解成各个小的常识点,进行查漏,比方CSS

最终进行查漏补缺
先把里边的需求回忆的当地折叠起来,心% + O R h h ;里假设问自己问题,看能不能答出来,比方说
Question1:你能谈谈盒子模型吗?
那你应该答出以下要害点
-
盒子模型分为哪几种? -
怎样计算盒子模型的各个j | ! zcontent的高度和宽4 # d度? -
怎样设置盒子模型?
QU M ? _ F +uestion2:怎样完结布局中的笔直居中?
那你应该要答出以下要害点
-
笔直居中有哪a ( M 3 p 1 M l 5几种办法?别离有什么优势和约束? -
简略的写出一个常见3 : _笔直居中出来 -
假如你答出运用flexbox,或许就要问你自己,flexbox里边相关的东西,它与其它布局的比较
所以,咱们构建的常识网络能到达一下效果,当面试官从一个问题转到另一个问题但时分。这个问题仍是在, ( ` s 0 i c { %咱们的常识网S x L L / U 8 )络范畴里边。
大部分面试官,仍是很重视根底的,所以说根底常识的整理肯定是经过面试的第一步,也是其它人挂掉面试的最多的一步。
2. 突出重点
只是答} ~ O p复出一些简略的回忆的问题远远K ^ _ ~ H _ –不够的。对常识的深度了解和把[ ; p握,才是面试的要害。
常识网络那么大,咱们不或许八& T h O面玲珑,所$ ; L f , X以咱们得把握2/8原理,面试进程中问到的调查的部分就只有那20%罢了,没必要悉数深化。
以我这么多天面试状况来看,面试中问的最多的标题根W = c X n n B本都是这些
-
HTTP/HE W o @ z U _ W &TTPS (100%考到,重点中的重点,这个完全能a ( w G D g o @够花半响时刻研究下) ! ) t y { v) -
Webpack 原理P L q 4 、长效缓存、Tree Sharkl q G aing 原理(简历中有写,100%考到) -
PromiseG a v K ` { 原理办法、关于同步异步(100% 问到) -
Flexbox 相关 (问到CSS根本必问,由于作业都会触摸到) -
this (中小公1 0 { @ E k U F司都喜爱问题4 E p { A ! ?) -
Vue 双向绑定原理(简历里写Vue,根本必问) -
React setState 更新h q – d机制(简历里写 React,大约率会问) -
Redux 原w T – c 理(大约率会问) -
原型(大约率问) -
同步异步函数输出(大约率问,会延伸到 event loop)
console.log w o : )(1)
setTimeout(()=>{
console.s 4 * I d + j W Llog(2)
},1000)
setTimeout(()=>{
console.log(3)
})
console.log(4s T ] M g M { 5 .)
//答案是1432
//同步函数先履行,异步函数依据时刻行列履行
上面这10个问题都是有极大或许问的问题,除非有面试官E 6 % . ] Y { 9 [看到这篇文章,另辟蹊径问问题
3. 必定要刷题
为什么要刷题呢?
一个原因是技能好一点的公司都会要求面试者能处理编程题的问题,具) R c 5 8备必定的算法才能。
第二原因是许多公司的面J | 3 C I试题都是直接拿题库的标题,所以刷到了便是赚s z $ F + ^ (到了[ % s,同时也能够协助你巩固常识
刷题的题型分为两种类型,一种是编程题,另外一种是常识题
编程题的话,能够直接在leetcode上面先挑一些低难度的题刷,熟练了再刷高难度的。

vscF 9 I { B Vode 上有个leetcode的插件很好S v m g H _ .用,我常常用它刷下题。
常识题的话,能够刷下题库,很快一Z + D M !个小时能够刷上百道题。能够用牛课网里边的题库刷( 8 + 6 _ p 8 6下题。我常常没事就刷下,里边除了! J * !前端以外还有其它方向的。
项目预备
重点项目整理
-
项目布景
处理什么? $ % l & P J样的需求,参加人数,项现在景怎样 -
项目周期
xxx 时刻到 xxx,完结度怎样,上线的app或许网站地Y n E M %址 -
项目难点
xxx 遇到 xxx 困o J y K 3难,困难的点在哪里?你是怎样处理这个困难的。你从中得到什么 -
技能栈
xxx + xxx,怎样完结xxx -
要害当地完结细节
有个当地怎样完结的,这样完结的理由,还有其他办法吗
常见问题
-
项目中遇到什么难点?怎样处理的?收获了什么? -
项目是怎样一个流程 -
你在项目中是什么样的人物,做了哪些作业?
面试技巧
我总结下来有5个技巧
精准归纳
废话越多,沟通本钱越高。短小精悍,答复要N ~ K c ?精炼,先不急着扩展,面试官深化问的时分再扩展。比方
Question1: Vue通信有哪些?
常见有1.r b N O父组件到子组件Props,子组件到父组件事件回调,$emit, @handleEvent 2.非父子运用bus 3.v-modle 4.vuex
Qustion2: Vuex 是什n ` q $么? 一个集中式的状况办理工具。
Question3: 它的原理是什么? 创立一个j } } n F F 8Store目标,对状况进行集中办理。经过commit:mutations来修正状况。dispatch:action 来组合业务逻辑,完结异步调用。
Question4: mutations 能履行异步代码吗?为什么? 不能,由于mutations更新state,是一个同步的更o $ v新进程,假如异B r 3 t u G步代码,会阻塞state的更新。
诚笃仔细
不R a P f 3知道的,就直接说不知道,或许没遇到过这种状况。
一般面试官都会说,D Z F v – X V # Y没关系。然后问下一个问题。
不要争辩
许多标题了解不同,会有不同的见地。g W s % O R w S }假如某个问题,你觉得面试官了解是错的,不要马上否定,应该先记下面试官问题和解说,等面试出成果后在查H ] E ( 1 U阅材料确F F W m D @认对错。
由于在面试中短期的争辩是Q g & Z 6 g [ =得Z L / $ 0 e :不出结z { P论的,也没办法确认谁对谁错。争辩N } * $的成果很大或许导致面试的失败。
自信果断
面试官常常会问像,这个% 2 M进程同步仍是异步?答同步,问确认吗?确认
有时分面试官会考验你是不是再猜题,重复问这个问题
假如你改口,那就有猜题的嫌疑,会留下欠好的印象。这时分就算答的是错的,也要铮铮有词的答”确认”。
了解后答
必定要听清楚面试官的问题,了解面试官想要你说的东西,想清楚再答。否则答了半响,门不对题,那就尴尬了。
面试实战阶段
电话面试
接到3次电话面,两个下午五点左右,一个晚上8点,根本都U ? 2 g ! P 8 N J是下班前。问的根本都很简略,最多的是Vue和Webpack、还有ES6相关问题
Q1: 简略毛R / t遂自荐
简略答复即可
Q2: ES6有触摸吗Q p P g F 0?
Proxy,Promise,箭头函数,async&await,Map&weakMap,Set,迭代器 这些会被随机问到
Q3: Map 介绍一下,它与目标有什么区别? P{ C 5 6 Eroxy 有用过吗? 介绍下它
Q4: Promise 相关于 回调有什么优点?async&await 相! O S ) d | J关于Promise有什么优点? Promise 怎样完结的?
Q5: webpack 有触摸过吗?怎样优化打包构建?长缓存怎样做?tree sharking 原理是什么?
Q6: Http 有触摸吗?谈谈你对它的了解,越具体越好?
Q7: 怎样对处理安全问题,了解常见网络工具吗f [ l S?
Q8: VueO 7 T * b s 双向绑定原理是什么?
Q9: Vue 怎样自界说过滤器,怎样自界说指令?
Q10: Vue 里边 mixins 是怎样完结的?
Q11: 有写过 webpack 插J v ] : $ –件吗?web) n pack 插件是在什么时期运转的?
面完之后d } T I 3 L &,一般第二天上午,HR打电话约现局面
网上做题
一般在牛课网做题,做完题后接视频面试,标题具体是什么忘记了,记一下大致内容
网上做题,编程题,和看代码标题偏多,不会直G [ m接考问问题方法
Q1: 盒子模型计算题
Q2: 调查原型,看一段代码输出成果
Q3: 调查同步函数异步函y t $ 8 / Q l数,看代码输出成果
Q4: 三栏布局,左右两边固定,中心自由,手写代码
Q5: sessionStorage, localStorage,cookie 区别
Q6: Http 握手机制
Q7: 编程题 – 求两个数组交集
Q8: 编程题 – 替换字符串
视频面试
一+ F F 4 7 ` ) =般在做题之y d k ( , U后,问标题相关的常识点。或许便是现场| { # / t q给题做,看你回答进程。
Q1: 尝试写一下简略3 R A T h ~的双向绑定代码
Q2: 写一下三栏布局的代码
Q3: 把这个Promise的代码改造成 Try Catch来获取异常
Q4: 写一个简略的 Promise
Q5: 写一个简略的防抖函数
Q6: 对数组扁平化操作
根本面下来,面试官会一点一点引导你,看你的思路清不清晰。不会必须能跑起来,大W N & ` ; & { p 2致写一个思路即可。1 G W 7 Z
现局面试
留意必定要提前一点,一是要找位置,K Z T } k有的公司在角落太偏,真的欠好找,避免误点。二是进去要提前一点填表,早一点留个好印象
根本都是约的上午10点半左右,或许下午2点z p j Z | y。填完表开端I V _ $ b )面试
技能面T } Q $ J
一面根本都是部分前端leader或许资深前. v $ O x S = } v端,内容和前面的差不多。
区别或许便是问项目和作业阅历偏多一点,现局面F D T Q经过概率也高一些。
Q1:毛遂自荐
….
Qn: 项目中遇到什么样的难点?怎样处理的
Qn+1: 你简历上有写xxx| b [ F G .,具R G d体讲一下
Qn+2: 你这个是怎样考虑的? 为什么要这样做?思考过有什么改善的点?
Q2n:你有什么想问我的?
PASS 稍等一下,我叫S @一下= t # d m ; B咱们老迈 T q i来
FAIL 今日你先回去,HR之后或许会联系你
BOSS面
什么问题都或许问到,偏综合性(从以下几个方面调查)
-
思维习惯 -
交流办法 -
个人开展 -
职业规划 -
技能性思维 -
对技能的了解才能 -
高度归纳才能
Q1: 毛遂自! . s Q g Z荐
Q2: 做个思维题(其实是脑筋急转弯)
Q3: 谈一下HTTP相关
Q4: 输入地址到xxx,悉数讲一遍,越具体越好
Q5: 算法题(深度遍历,广度遍历,排序,查找)
Q6: React、Redux 思想、原理
Q7: 最近在看什么书?学什么技能?
Q8: 你的职业规划是什么?
稍等一下,我叫一下HR。或许HR会在一周之内告诉你
HR面
首要是I ` – Z I谈个人状况,再便是薪酬期望,什么时分上班等等
现在的C H 9 x % Q状况
-
是否离职 -
居住位置(间隔上考虑) -
是否有家庭 -
是否有长期开展计划 -
什么时分能够入职
期望的薪职待遇
-
可承受薪酬 -
是否= , R T A } $承受加班
加入公司的志愿
-
对公司了解状况 -
经过什么办法了解到公司 -
对公司感受怎样
可达成性
-
面试多少家公司 -
拿到/ ) C 0 _多少家 offer -
拿到 offer 的公司怎样样,有没有想去的志愿
后记
完c ) G O % r结这边文章的同时,作者现已入职一周多时刻了。这一周真的太忙了,白天根本没时刻。只能每天晚上抽一个小时时刻写作,断断续续写了3 C . x M i L {一周左右,现在总算把它写完了。
假如能对你有协助,便是它最大的价值。都看到这儿还不点赞,太过不去啦!
由于技能水平有限,文章中如有过错当地,请在评论区指出,感谢!
由于现在公司用React + TypeScript + 魔改的Vue + 魔改的Webpack + Nc ^ ? Fode 技能栈, 今后文章更倾向这些方面的输出,期望多多重视!
最终祝F , b & A大家都能找到自己满足的作业!