收下這份面經!2020 阿里、美團、頭條最新面試題總結來了

2020 年開局就是王炸,疫情之下,互聯網行業的招聘和求職,無論從崗位數量、薪資,還是從面試流程上,都受到了很大的影響。

對比往年的金三銀四,今年企業放出來的招聘崗位確實有明顯的縮水。不過,即使如此,春節後的這三個月,依然是程序員跳槽的熱門季。年前因老員工離職空缺出來的崗位,很多企業也已經重啟招聘。目前各個技術社區論壇和職場社交軟件上,不乏程序員們互相交流面經,或者打聽有哪些企業有合適自己的崗位。

這麼看來,今年的面試機會依然有,但著實也不容易,所以,研發兄弟集美們如果已經拿到了面試邀請,一定要做好萬全的準備,爭取面一個,拿一個 Offer。畢竟,Offer 在手,信心自有。

前段時間我面試了幾家公司,不多,大概四五(六七八九)家吧,其中包括阿里、美團、百度等大廠。大廠裡面,最終拿到了阿里和美團的 Offer。面試之後,我也針對我的面試準備、面試中的問題和自己的經驗教訓進行了總結,今天分享給你。

面試前的準備

從決定找工作開始,我其實經歷過一系列思想鬥爭,最開始想的是,等自己完全準備充分之後,再開始投簡歷面試。然而,由於惰性,我發現自己很難判斷什麼時候是完全準備好的時候。

這次跳槽的第一次面試,還是在極客大學前端訓練營畢業典禮的 Offer 直通車環節開始的。當時的心態就是報著學習的態度,總要邁出第一步,也許當你放低了自己的預期,實際面試過程中可能也就不會那麼緊張和不自然了,我當時報的期望就是通過面試查找自己有哪些不足,以及瞭解一下市場上的真實需求。

後來,我為接下來的面試做了如下準備:

1)再次過了一遍前端訓練營的課程內容

2)閱讀了極客時間《瀏覽器原理與工作實踐》專欄中關於瀏覽器渲染原理等內容

3)每週至少 3-5 道算法題,持續了將近 3 個月

面試題目

面試中的具體題目,我按照「前端基礎知識、前端框架的底層原理、性能優化、計算機網絡、算法、前端工程化、項目經驗」這七大部分來給大家總結。


1. 前端基礎知識

主要從前端四大模塊 HTML\\CSS\\JavaScript\\DOM, BOM 方面以及前端框架如 React\\Vue 等準備。

CSS: 大概會有 1-2 個問題,主要考察各個常見佈局的實現。

HTML: 在我面試的過程中這個問的不多,之前 winter 老師有一道面試題,說說你常用的 HTML 標籤,然後由這道問題可以延伸出很多細節,進而考察你對 HTML 知識的掌握。

JavaScript: 考察 JavaScript 的細節問題是最多的,通常包括但不限於:

1)JavaScript 的基本類型

2)setTimeout、Promise、async/await 三者之間異步解決方案的區別?

3)宏任務和微任務,通常會給出一段代碼,讓你給出輸出結果,並解釋?

4)解釋 JavaScript 的單線程模型,以及為什麼這樣設計?setTimeout 的延時為何做不到精確?

5)手寫實現 Promise?

6)原型鏈知識的考察,形式也是給出一段代碼,讓你給出輸出結果,並解釋?

(...... 更多問題請添加前端小助理獲取)

DOM API: 這方面也很少被問到,印象中有這幾道:

1)如何翻轉 DOM?冒泡和捕獲機制,實際應用有哪些?

2)冒泡和捕獲機制,以及實際應用?

2. 前端框架的底層原理

我們以 React 為例,經常會考察內容包括:

1)setState 的內部實現?

2)什麼是虛擬 DOM,引入虛擬 DOM 的目的,虛擬 DOM 一定能解決性能問題麼?

3)React Hooks 有哪些瞭解?

4)react redux 的底層原理?如何完成異步請求?介紹自己常用哪些 redux 中間件?以組合函數的方式手寫代碼實現中間件的級聯功能?

(...... 更多問題請添加前端小助理獲取)

3. 性能優化

1)瀏覽器的渲染原理是一定會被問到的?

2)瀏覽器輸入一個 url 之後的過程,以及過程中應用了哪些緩存,如何優化?

3)script 標籤和 link 標籤的先後順序對頁面加載的影響?

4)async 和 defer 的區別?

4. 計算機網絡

1)解釋 TCP/IP 的三次握手和四次揮手?

2)解釋跨域問題以及前端常用的解決方案?

3)CORS 的細節,哪些是簡單請求?哪些是非簡單請求?

5. 算法

1)手寫冒泡排序?

2)給定兩組數,分別以鏈表方式存儲,求和?注意進位

3)數組去重?

6. 前端工程化

1)webpack 如何拆分大文件?

2)webpack 打包的過程?

3)webpack 的基本配置?

7. 項目經驗

這部分大概很多同學都很關心,到底應該怎麼寫自己的項目經驗。出場率最高的問題也是介紹一下你做得最出色的項目?首先最重要的是,實事求是。這方面我認為主要考察候選人在工作中所承擔的角色,以及平時工作中是否注意積累和總結,其實大多數人平時是不善於總結的,我自己也是,所以平時注意寫“詳歷”是對自己很有幫助的。

面試流程

總的來說大廠對於候選人的基礎知識要求還是非常嚴格的,當然也更看重候選人的潛力和心智,因為在大廠看來知識是死的,只要時間足夠,通常都可以掌握,但是潛力和心智狀態,卻和每個人的成長軌跡和閱歷有關。

一面面試官通常是你未來的同事。面試主要考察候選人的基礎知識,我遇到的面試官都非常 nice,會寒暄幾句,幫助你脫離緊張的情緒,然後進入正式面試環節。

二面面試官通常是你未來的直級 leader。這裡阿里和美團不一樣的點在於,當時阿里主要考察了我對於過往項目的掌握程度,以及我在項目中的角色,然後和我聊了很多個人成長方面的心得和看法;美團則側重考察了我一面面試官沒有問到的基礎知識點,這裡其實每個公司可能都不太一樣。

三面面試官通常是你整個部門的 leader,主要從職業發展和候選人背景方面進行考察,過程中也會穿插著考些算法題,不過都不難,主要考察候選人的編程能力的。


重要心得

面了幾家公司,對於怎麼準備簡歷更能過初篩、怎麼跟 HR 談薪,我也有了更多的經驗積累。比如說,簡歷上非常重要的部分——項目經歷,我的書寫方式是「工作 + 結果」。挑選項目中我參與的比較重要的部分,然後描述清楚工作內容和我的產出結果,儘量數字化自己的成果,比如項目時間、代碼量、提高百分比等。再者,項目部分一定要真實,你需要對你寫的內容瞭如指掌並且負責,否則面試官可能會認為你人品有問題。

更多簡歷準備、談薪方式及話術、拿 Offer 心得體驗,可添加前端小助手獲取哦。

知己知彼,百戰不殆,做最好的準備,打最成功的仗。金三銀四,如果你也在準備面試,或者 2020 年有跳槽的計劃,請添加前端小助手,獲取:

  • 阿里、頭條、美團、螞蟻頭條等大廠在內的最新面經;
  • 前美團面試官,現任某電商公司技術專家總結《作為面試官,我是如何考察候選人的》。
  • 前 Google 工程師,現某互金獨角獸公司資深系統架構師總結《作為面試官,我是怎麼快速判斷程序員能力的?》。


分享到:


相關文章: