市面上有很多關(guān)于面試的文章,但是基本都是從應(yīng)聘者的角度去分析問題的谈山,從招聘官的角度去分享的著實(shí)不多俄删。本文將從我的個(gè)人招聘經(jīng)歷分享下關(guān)于前端一面的一些思考和自己的感悟。以下所有感悟皆為筆者個(gè)人感悟奏路,不代表任何畴椰。有不妥之處,歡迎指出
其實(shí)不得不說鸽粉,找工作斜脂,真的七分實(shí)力,三分運(yùn)氣触机。不同的面試官有不同的看重點(diǎn)帚戳,所以千萬不要為一次的滑鐵盧而丟失信心玷或。
面試環(huán)節(jié)
關(guān)于面試題的答案講解,本文將不做非常詳細(xì)的分析片任。具體的每個(gè)知識(shí)點(diǎn)偏友,筆者后面盡量兩周更新一篇相關(guān)知識(shí)點(diǎn)文章于公眾號(hào)全棧前端精選中,歡迎關(guān)注对供、討論和分享位他。下圖是筆者計(jì)劃后續(xù)寫的總結(jié)性技術(shù)文章。
自我介紹
基本面試這是必然的開場产场,筆者在公司也稍微面試過不少人吧棱诱,高峰期基本每晚都要面試一兩個(gè),聽過了各種各樣的開場介紹涝动。這里簡單說下筆者作為面試官比較喜歡和不喜歡的介紹吧迈勋。
我叫 xxx,畢業(yè)于(目前就職于) xxx醋粟,來自 xxx靡菇,技術(shù)棧 xxxx,喜歡 xxx米愿。厦凤。。
類如上述的自我介紹育苟,其實(shí)很多都在簡歷上寫明了较鼓,甚至很多是我并不關(guān)心的。
我只關(guān)心你能力和我職位的匹配度违柏。所以諸如此類的簡介博烂,筆者更是希望能夠簡短。筆者作為面試的時(shí)候漱竖,更喜歡聽到的是我做過什么牛 x 的項(xiàng)目维雇,這個(gè)項(xiàng)目有多難塔逃,如何攻克的,以及這個(gè)項(xiàng)目做完你收獲到了什么,甚至這個(gè)項(xiàng)目做完咪鲜,該項(xiàng)目對(duì)團(tuán)隊(duì)毫缆、部門甚至公司而言重绷,帶來哪方面的提高银酗。或者可以介紹你在校獲得了什么獎(jiǎng)項(xiàng)良狈,意味著什么后添、成長了什么。
如上的介紹们颜,其實(shí)就能夠讓面試官眼前一亮吕朵,因?yàn)槟芸吹侥銓?duì)這個(gè)項(xiàng)目的思考猎醇、以及這個(gè)項(xiàng)目對(duì)你的歷練。
劃重點(diǎn):我們都知道下一個(gè)面試環(huán)節(jié)是知識(shí)點(diǎn)提問努溃,所以這里的難硫嘶,可以適當(dāng)?shù)膾伋黾夹g(shù)的難點(diǎn)在哪。引起面試官的興趣梧税,從而去提問沦疾。面試的節(jié)奏我們要學(xué)會(huì)自己掌握,別老是被面試官牽著走
走到這一步第队,基本有如下兩個(gè)分支:
面試官對(duì)你的這個(gè)項(xiàng)目(獎(jiǎng)項(xiàng))比較感興趣哮塞,會(huì)接著問下去,然后問其中技術(shù)的實(shí)現(xiàn)細(xì)節(jié)凳谦。(所以這里自己千萬不要吹牛x忆畅,然后補(bǔ)不回來)
面試官不是很感興趣(很可能是面試官的技術(shù)盲區(qū),比如我就這樣尸执。哈哈)家凯,然后問自己準(zhǔn)備的一些面試題。如失。绊诲。
這里需要說明的,在筆者面試應(yīng)聘 p7 的同學(xué)的時(shí)候褪贵,會(huì)更喜歡到你對(duì)這個(gè)項(xiàng)目的思考掂之,諸如會(huì)問一下題目:
現(xiàn)有的技術(shù)方案、行業(yè)對(duì)比
你覺得你做過的項(xiàng)目或發(fā)起過的優(yōu)化里面最有價(jià)值是的哪個(gè)脆丁?為什么世舰?對(duì)業(yè)務(wù)的幫助是什么?
你做的東西可以復(fù)用于其他團(tuán)隊(duì)嗎偎快?
橫向與市場已知的 xxx 解決方案冯乘,你們的優(yōu)勢在哪?
上述的這些思考晒夹,其實(shí)目前我也達(dá)不到。但是姊氓,這不一定要求面試官一定要達(dá)到這個(gè)水準(zhǔn)丐怯,項(xiàng)目的思考維度也還沒有這么的深入。沒吃過豬肉還沒見過豬跑嘛翔横。
面試題
如上面所說的读跷,如果面試中應(yīng)聘者說到了筆者比較感興趣的技術(shù)方向、或者技術(shù)點(diǎn)禾唁,那么筆者就會(huì)直接問下去效览。如果說到了筆者不是很擅長的技術(shù)區(qū)域无切,那么我筆者就不會(huì)追問技術(shù)細(xì)節(jié)了。
整體一面的時(shí)間大概也就半小時(shí)左右丐枉,加上前后的介紹哆键,基本題目就四五題吧。筆者面試沒有固定的題目瘦锹,通常根據(jù)應(yīng)聘者的經(jīng)歷而問籍嘹。這里舉例下在上面的介紹毫無亮點(diǎn)可言的時(shí)候(基本涼了一半),筆者喜歡問的一類題目吧弯院。
基礎(chǔ)題目考核
JavaScript 面向?qū)ο蟮睦斫夂透形?/b>
基本剛開始問題的題目都是比較簡單和考核基礎(chǔ)的辱士,比如有的時(shí)候筆者第一題一般問:** JavaScript 面向?qū)ο蟮睦斫夂透形?*、題目非常的開放听绳。給了你足夠大的舞臺(tái)表現(xiàn)自己颂碘。
說下這題在筆者面試別人時(shí)候的心里打分點(diǎn):
首先,我肯定是需要你告訴我椅挣,什么是面向?qū)ο笃就浚嫦驅(qū)ο笥心男┨攸c(diǎn),以及這些特點(diǎn)的解釋贴妻。
JavaScript 如何實(shí)現(xiàn)這些特點(diǎn)切油,比如封裝、繼承名惩、多態(tài)澎胡。如果關(guān)于上述三點(diǎn),你能夠解釋到有多少種實(shí)現(xiàn)方式娩鹉、優(yōu)缺點(diǎn)是什么攻谁。以及近幾年流行的解決方案是什么。這就是加分弯予,比如對(duì)于繼承吧戚宦。類式繼承、構(gòu)造函數(shù)繼承锈嫩、組合繼承受楼、原型繼承、寄生組合繼承等等呼寸,說出大概的實(shí)現(xiàn)思路和優(yōu)缺點(diǎn)艳汽,再介紹下 extends 或者 mixin 的實(shí)現(xiàn)甚至你可以衍生到JavaScript 的模塊化發(fā)展甚至到為什么現(xiàn)在 TS 如此流行。那么可以說到這一環(huán)節(jié)解答的就非常棒了对雪。
回答完 JavaScript 的面向?qū)ο蠛雍遣皇强梢詮拇搜苌聻槭裁葱枰嫦驅(qū)ο蟆R约爱?dāng)先對(duì)于軟件設(shè)計(jì)的高內(nèi)聚、低耦合的思考馋艺?來個(gè)對(duì)此題一個(gè)提綱挈領(lǐng)的總結(jié)栅干?
綜上所述,其實(shí)不難看出捐祠,越是這種基礎(chǔ)且開放的題目碱鳞,可以是一個(gè)陷阱,更可以是一個(gè)機(jī)會(huì)雏赦。因?yàn)橐坏李}真的可以全方面的感受到應(yīng)聘的基礎(chǔ)是否扎實(shí)劫笙。
后面的題目的筆者基本喜歡根據(jù)應(yīng)聘者的上一題的回答中甚至應(yīng)聘者隨口說到的知識(shí)點(diǎn),繼續(xù)追問星岗。但是限于此文為分享文章填大,這種形式很難演示。下面就繼續(xù)介紹下后續(xù)的題目俏橘。
瀏覽器輸入 url 到頁面的展現(xiàn)允华,具體發(fā)生了些什么可以展開說下么
斷于上述題目知識(shí)點(diǎn)。第二個(gè)問題筆者通常喜歡問一些考察可深可淺的一些題目寥掐,注入:瀏覽器輸入 url 到頁面的展現(xiàn)靴寂,具體發(fā)生了些什么可以展開說下么
基本回答都是
在瀏覽器地址欄輸入U(xiǎn)RL
瀏覽器解析URL獲取協(xié)議,主機(jī)召耘,端口百炬,path
瀏覽器組裝一個(gè)HTTP(GET)請求報(bào)文
瀏覽器獲取主機(jī)ip地址
打開一個(gè)socket與目標(biāo)IP地址,端口建立TCP鏈
TCP鏈接建立后發(fā)送HTTP請求
服務(wù)器將響應(yīng)報(bào)文通過TCP連接發(fā)送回瀏覽器污它,瀏覽器接收HTTP響應(yīng)
根據(jù)資源類型決定如何處理(假設(shè)資源為HTML文檔)
解析HTML文檔剖踊,構(gòu)件DOM樹,下載資源衫贬,構(gòu)造CSSOM樹德澈,執(zhí)行js腳本
最后展現(xiàn)出來給用戶
基本如果應(yīng)聘者只回到了上述步驟,很多關(guān)鍵步驟(前端應(yīng)該了解的知識(shí)點(diǎn))沒有提及固惯,那么基本涼涼一半了梆造。這里簡述下筆者感覺,這其中你應(yīng)該具體展開說明的葬毫。
瀏覽器發(fā)送請求镇辉,是否需要查看緩存?是否請求資源在緩存中并且新鮮供常,跳轉(zhuǎn)到轉(zhuǎn)碼步驟摊聋?如果資源已經(jīng)緩存,是否新鮮栈暇?如何檢查?怎么判斷箍镜、http1.0 和 http1.1 的區(qū)別是什么源祈,這些字段的優(yōu)先級(jí)是怎么樣子的煎源。
瀏覽器解析 url 獲取協(xié)議,過程是什么香缺?DNS 遞歸查詢可否介紹下手销?
建立 TCP 鏈接的三次握手是否可以介紹下
服務(wù)器接受到請求,是否需要檢查緩存图张?檢查什么字段锋拖?什么樣的緩存會(huì)需要服務(wù)端檢查?
服務(wù)端發(fā)送 TCP 鏈接祸轮,瀏覽器接受 http 相應(yīng)后兽埃,根據(jù)什么來決定是否需要關(guān)閉連接?關(guān)閉 TCP 的四次揮手是什么适袜?
瀏覽器是否需要檢查狀態(tài)碼柄错,有哪些狀態(tài)碼?(筆者高頻考碼:304苦酱、200)
在解析的時(shí)候售貌,具體如何解析、是否有順序疫萤。(重繪重排高頻考題就在這里)
總結(jié)如上颂跨、我們是否可以給出一些基本的網(wǎng)站優(yōu)化手段?扯饶?恒削?
上述題目的每一步展開,都將會(huì)是下一個(gè)面試題帝际。
具體的知識(shí)點(diǎn)介紹蔓同,不是此文主要講解內(nèi)容,這里就不多言了蹲诀。
解決問題能力考查
其實(shí)上面兩(大)題后斑粱,基本基礎(chǔ)、網(wǎng)絡(luò)脯爪、瀏覽器则北、js 執(zhí)行、優(yōu)化都已經(jīng)考核到痕慢。對(duì)于 p6 的一個(gè) job model 還有一項(xiàng)是對(duì)于問題的解決能力尚揣。
其實(shí)這里一般都是出一道問題,然后你給出一些你的實(shí)現(xiàn)思路掖举,這里就不做距離了快骗,因?yàn)樘_放!
比如:
諸如我現(xiàn)在需要監(jiān)聽那種頻繁發(fā)生的事件,你有那些優(yōu)化么
埋點(diǎn)的實(shí)現(xiàn)思路
非遞歸的二叉樹遍歷
文件上傳斷點(diǎn)方篮、續(xù)傳
設(shè)計(jì)模式的應(yīng)用場景考核
等等
切記:這類題目名秀,一定不要說不會(huì)、不知道藕溅。哪怕真的不知道匕得,也要給出大概的解答思路和實(shí)現(xiàn)思路。哪怕不對(duì)巾表!一定要講出自己的思考過程汁掠。
進(jìn)階題目考核
在面試 p6、p7 的時(shí)候集币,一般后面還會(huì)跟一道進(jìn)階題目(根據(jù)應(yīng)聘者具體情況而定)考阱。
沒有開放性的答案其實(shí),所以這里筆者就不細(xì)述有哪些思考和想聽到的點(diǎn)了惠猿。只要你說的對(duì)就行其實(shí)
VUE 雙向綁定原理
VUE/React diff 算法的大概思路
現(xiàn)有的狀態(tài)管理的實(shí)現(xiàn)
webpack中 loader羔砾、plugin 的實(shí)現(xiàn)思路
簡易版 webpack 的實(shí)現(xiàn)
KOA、Express 中間件的實(shí)現(xiàn)
React fiber 的理解和原理
前端構(gòu)建工具的偶妖、vue-cli姜凄、create-react-app 的原理和實(shí)現(xiàn)思路
等等。趾访。态秧。。扼鞋。
結(jié)束環(huán)節(jié)
半小時(shí)申鱼,基本只能問四五題這樣,說實(shí)話云头,題目的考核大概能占參考度的 90%捐友,還有 10%可能就是言語和感覺了。那么對(duì)于結(jié)束的時(shí)候溃槐,說下不好的感覺:
最后匣砖,你有什么要問我的嘛
我想咨詢下,我能不能通過這次面試昏滴,我對(duì)工資無所謂猴鲫,我愿意學(xué)習(xí),特別希望能夠進(jìn)入 xxx 跟大牛一起學(xué)習(xí)谣殊,歷練拂共。
講真,這類的話聽過很多次了姻几。如果在看的你也命中了這個(gè)宜狐。我想說势告,其實(shí)公司招我們進(jìn)來,是搬磚的肌厨,不是給我們學(xué)習(xí)的培慌。學(xué)習(xí)是你自己的需要豁陆,不是為了公司學(xué)的柑爸。說這類的話,太給自己降價(jià)了盒音!
說說筆者應(yīng)聘的時(shí)候表鳍,一般結(jié)束的你有什么要問我的嘛的回答
我比較在意自己的技術(shù)方向和職業(yè)發(fā)展,能夠簡單介紹下如果我面試上貴公司職位祥诽,我以后的工作內(nèi)容和在團(tuán)隊(duì)的價(jià)值么譬圣?
想了解下公司對(duì)于前端的重視程度以及在大前端時(shí)代,團(tuán)隊(duì)對(duì)于技術(shù)的思考
大概就是筆者會(huì)問雄坪,我這個(gè)職位是干嘛的厘熟?在公司有么有價(jià)值?跟我自己的職業(yè)维哈、技術(shù)規(guī)劃是否吻合绳姨?
這樣!面試官會(huì)覺得阔挠,恩~這小子有思考~~~再者飘庄,如果面試官給你介紹的非常非常詳細(xì),那么其實(shí)從側(cè)面就說明购撼,他對(duì)你很滿意了跪削!已經(jīng)到了面試官開始極力展現(xiàn)自己的時(shí)候了~~
就比如:醫(yī)生,我老婆懷的是男孩還是女孩坝厍蟆碾盐?不能問!?帧毫玖!這是政策
但是:醫(yī)生,我這孩子出生我給他起名字叫王剛蛋你看合適不谐腰?_恩孕豹。。十气。不太合適_ 基本可能懷的是女孩了
<<<前端是我一輩子的信仰励背,寫代碼直到50歲>>>
?關(guān)注微信公眾號(hào):web前端學(xué)習(xí)圈回復(fù)關(guān)鍵詞【簡書】送你50G最適合2020年學(xué)習(xí)的web前端零基礎(chǔ)入門教程(視頻+筆記+素材+源碼+項(xiàng)目實(shí)戰(zhàn))
?另外公眾號(hào)每天都會(huì)分享學(xué)習(xí)方法,知識(shí)干貨砸西,實(shí)戰(zhàn)案例叶眉,面試技巧址儒,經(jīng)驗(yàn)分享等相關(guān)文章,關(guān)注web前端學(xué)習(xí)圈=關(guān)注5000+前端大牛
最后
其實(shí)我想說衅疙,面試莲趣,不僅僅看運(yùn)氣和實(shí)力,其實(shí)有的時(shí)候也是一場心理的博弈饱溢。
你的每一次回答都可能引出下一道面試題喧伞。有意識(shí)無意識(shí)的留點(diǎn)回答漏斗也是一種帶節(jié)奏的方式。
如果面試官提出一個(gè)問題绩郎,你都抓不住他的考點(diǎn)潘鲫,那基本要涼~~
其次,我想說肋杖,上面我說的開放性基礎(chǔ)題的回答溉仑,大家千萬不要誤解為回答的多就是好。千萬不要一個(gè)題目回答了半個(gè)小時(shí)状植,沒必要浊竟!點(diǎn)到為止,證明自己考慮到津畸、有這個(gè)知識(shí)儲(chǔ)備即可振定,不要回答的讓面試官都煩了。
然后洼畅,對(duì)于如何拿到面試的敲門磚:簡歷吩案。沒有那么多可說,也不是沒得說帝簇。
簡而言之:面試官篩選簡歷是非撑枪枯燥的一件事情∩ル龋基本是一眼帶過残揉,不會(huì)在簡歷上撇超過 40s。
所以:
簡歷要整潔芋浮,簡潔抱环、簡潔。真的別密密麻麻都是字纸巷,沒那么多耐心看的镇草。
重點(diǎn)突出,可以加粗或者顏色標(biāo)識(shí)瘤旨。比如:自己開源類 React 框架
簡歷是一份介紹更是一個(gè)成績單梯啤,既然是成績單,成績一定要吐出:開源項(xiàng)目 15k star存哲、推動(dòng)公司技術(shù)建設(shè)等等
不得不說因宇,名校和大廠的背景七婴。很吸睛。
最后察滑,秋招開始了打厘,祝福所有找工作的同學(xué),都能順順利利拿到 offer贺辰!加油~