1.5年經(jīng)驗如何準備阿里巴巴 P6 前端面試
本文想分享的是如何準備阿里面試的以及面試過程的所想所得,希望能幫到你。
首先,可能要讓你們失望的是,這篇文章不會有大篇幅的面試題答案。如果想要看這方面的內(nèi)容,我相信社區(qū)里已經(jīng)有很多優(yōu)秀的文章了。
1. 關于簡歷
我對于簡歷的理解是這樣的,簡歷的作用是讓看簡歷的人能夠快速、準確地捕捉到有用信息:
- 你是誰
- 你做了什么
- 你哪方面比較牛逼
我覺得只要能展示出這三點,就夠了。
1.1 內(nèi)容
我的簡歷主要是包含了以下幾個模塊:
- 基本資料:姓名、電話、郵箱、個人網(wǎng)站(GitHub)
- 工作經(jīng)歷:公司名、在職時間、工作內(nèi)容(簡述負責、參與什么業(yè)務)
- 項目經(jīng)歷:最重要的一點沒有之一!展開描述
- 專業(yè)技能:加分項還是減分項都有可能,慎重對待,展開描述
- 教育經(jīng)歷:學校名、就讀時間
- 其它:簡單描述任何你想讓面試官知道的東西,比如社區(qū)影響力: GitHub 1000000 Star、掘金 Lv9 等等
1.1.1 項目經(jīng)歷
項目經(jīng)歷對于開發(fā)來說是一份簡歷最重要的部分!
項目經(jīng)歷對于開發(fā)來說是一份簡歷最重要的部分!
項目經(jīng)歷對于開發(fā)來說是一份簡歷最重要的部分!
既然是最重要的,選擇困難癥選手可能就犯難了,怎么樣的項目應該被寵幸,寫在簡歷上呢?
1. 自己做的
這點不用多說,一定得是自己做的項目,別看著別人項目牛逼,就拿來吹,面試和背調(diào)環(huán)節(jié)都可能穿幫的。
2. 很熟悉的
對于這個項目,你必須在業(yè)務和技術實現(xiàn)上都了如指掌:
- 業(yè)務上:這個項目的業(yè)務背景是什么,在業(yè)務上有什么比較牛逼的地方,推動了業(yè)務如何運行等等
- 技術實現(xiàn)上:這個項目的整體技術實現(xiàn)思路是怎樣的,項目中用了什么比較牛逼的技術,解決了什么比較困難的問題等等
千萬千萬不能有這個想法:項目中有一個很牛逼的東西,但是不是你寫的,你也完全不了解,但是就想寫進項目里。
3. 有亮點的
好看的皮囊千篇一律,有趣的靈魂萬里挑一
面試官比較在意的還是這個項目表面上看不到并且很有趣的東西。業(yè)務,技術都可。
- 這個項目做了什么牛逼的事情
- 你在項目里做了什么牛逼的事情
- 用了什么牛逼的技術解決了什么困難的問題
- ...
總結:項目經(jīng)歷一定是面試官比較關心的部分,面試中一定會細問的,所以不要啰嗦,挑牛逼的、有意思的東西寫,并且自己能講明白的。
1.1.2 專業(yè)技能
專業(yè)技能這一塊很多人會寫這樣寫:精通 HTML/CSS/JavaScript 等等,而且寫得特別多,恨不得把自己用過的東西都寫在這...
個人建議這里不要寫太多東西,可以寫一些在項目經(jīng)歷里沒提到的東西,比如:
我的項目經(jīng)歷主要是 Vue 業(yè)務開發(fā)為主,我在這里寫的是 TypeScript/React/工程化/Node/MySQL 相關的,讓面試官更全面的了解你。
如果面試官感興趣,會挑幾個技術棧問你幾個問題,如果答的也很棒,必須是妥妥的加分項。
當然,在這里寫的技術棧都必須是你了解或者掌握的,否則被隨便問兩個問題就不會了,就變成減分項了。
總結:專業(yè)技能也請慎重對待,有可能是你的加分項,也有可能是你的減分項。
1.2 樣式
如果是一份開發(fā)工作的簡歷,沒必要花里胡哨的模板,只要簡簡單單的白紙黑字即可。
個人認為,除了排版上要稍微注意下之外,比較重要的有兩點:
- 頁數(shù)一頁即可。將你最牛逼的東西寫出來就好了
- 留白。適當?shù)牧舭讜尯啔v看上去很舒服,也利于閱讀的人捕捉重點
1.3 總結
簡歷,顧名思義,是你的情況的一份簡要介紹,對于面試官而言,他最初只能通過這一張紙來了解你。
所以,無論在內(nèi)容、表現(xiàn)上都需要你細心準備并且打磨的,望認真對待。
2. 關于復習
大多數(shù)人應該都和我一樣,是在職準備面試的,每天可用的時間大多數(shù)集中在晚上(22:00 - 24:00)。想想也挺好的,晚上的時間比較容易集中注意力。
個人覺得,復習主要是需要制定計劃,切記不能三天打魚兩天曬網(wǎng)。
忌零散閱讀,宜系統(tǒng)復習。
準備面試的時候,可以按照以下幾個模塊來準備:

無論前端技術棧日新月異,我們都得要扎實基礎,腳踏實地,切記不可投機取巧、眼高手低。
2.1 JavaScript 基礎
JavaScript 基礎非常重要,相比于大同小異的框架面試題,JavaScript 可以問很多東西,而且細問起來也有很多有意思東西,如果時間充足可以系統(tǒng)地過一遍。(現(xiàn)實往往是沒時間...)
- 執(zhí)行上下文/作用域鏈/閉包
- this/call/apply/bind
- 原型/繼承
- Promise
- 深淺拷貝
- 事件機制/Event Loop
- 函數(shù)式編程
- service worker/web worker
- 常用方法
- ...
2.2 CSS 基礎
- position
- 行內(nèi)元素/塊狀元素
- flex
- 1px
- 重繪回流
- Sass/Less
- 居中/常見布局
- 層疊上下文
- ...
2.3 框架
這一塊主要是關注 Vue 和 React 的共性和特性,側重 Vue(我工作中是主 Vue),過程中看了一些源碼,加深理解。
- MVVM
- 生命周期
- 數(shù)據(jù)綁定
- 狀態(tài)管理
- 組件通信
- computed/watch 原理
- Virtual DOM
- diff
- React Hook
- React Hoc/Vue mixin
- Vue 和 React 有什么不同
- ...
2.4 工程化
對于寫業(yè)務的同學來說,之前可能沒有大規(guī)模接觸過工程化的東西,不過這并不影響我們可以自己去學習和了解。
- webpack
- babel
- 模板引擎
- 前端發(fā)布
- weex
- ...
2.6 性能優(yōu)化
性能優(yōu)化是必備技能,必須了解。
- 打包優(yōu)化
- 網(wǎng)絡優(yōu)化
- 代碼優(yōu)化
- ...
2.7 TypeScript
TypeScript 不敢寫自己深入,只是了解,所以只是復習了一些基礎的知識點和比較簡單的問題,比如:JavaScript 和 TypeScript 有什么區(qū)別,在進行項目選型時,什么因素會讓你選擇 TypeScript 等。
2.8 網(wǎng)絡/瀏覽器
對于前端開發(fā)來說,網(wǎng)絡和瀏覽器也屬于必須了解的知識點。
- HTTP
- DNS
- TCP
- HTTPS
- CDN
- ...
經(jīng)典問題,從輸入 URL 到頁面展示,發(fā)生了什么。這個問題我覺得還是很考驗廣度和深度的,可以好好思考一下,每個人可能回答的結果都會是不一樣的。
2.9 計算機基礎
- 設計模式
- 數(shù)據(jù)結構
- 基礎算法
- 安全
- ...
2.10 Node
Node 我的了解并不太多,所以沒有特意去準備。
2.11 項目/業(yè)務
簡歷上寫的項目,仔細認真的過一遍。還有就是關于業(yè)務的一些深層次的東西,得好好思考一下。
2.12 其它
一些開放性問題還是需要好好思考一下,順便也準備一下 HR 面可能會問到的一些問題。
2.13 總結
在復習某個部分時可能會引出其它知識點,如果也不是很清楚的話也需要系統(tǒng)的再復習一下。
前端知識體系比較廣并且發(fā)展迅速,我們一定要銘記:基礎才是最重要的。
3. 關于面試
投簡歷之前也在網(wǎng)上搜了一下阿里 P6 面試的相關文章,感覺流程也大同小異。親身經(jīng)歷之后,在這里解答幾個可能是你們在準備阿里 P6 這個級別的面試時比較關心的問題。
3.1 阿里 P6 的標準是什么?
這個問題沒有標準答案,你覺得自己還行,就可以來試一下。
3.2 學歷、學校、工作經(jīng)驗有什么要求?
沒有。
3.3 有幾輪面試?需要筆試嗎?
一般來說面試分為技術面 + HR 面。
技術面一般有 4 ~ 5 輪左右。
可能會有筆試。筆試一般在一面的時候,如果面試官覺得需要有筆試來考察一下,就會進入筆試環(huán)節(jié)。
3.4 面試形式是什么樣的?
阿里的面試效率現(xiàn)在非常高,技術面試一般會以遠程面試為主(電話 + 視頻),筆試是通過線上 Coding 來完成的。
面試官或者 HR 會提前聯(lián)系你約面試時間,耐心等待。
這里說一下,約了面試時間后,面試官突然說有急事,要改時間。不要瞎想,是真的有事情,耐心等待就好。
如果順利通過前幾面,最終會約在現(xiàn)場進行終面。
3.5 每一面之后會知道自己是否通過嗎?
- 有的面試官會在面試結束告訴你是否通過
- 你可能會加到面試官微信,可以直接詢問
- 如果有 HR 聯(lián)系方式,也可以詢問 HR
- 內(nèi)推人可以看到是否通過(比如找我內(nèi)推,我會很樂意幫你跟進面試流程)
建議每一面結束之后不要多想,就和考研一樣,考完一科就安心復習下一科,適當?shù)臅r候可以問一下進度。
3.6 對于技術棧有要求嗎?我聽說阿里是 React,而我主要是用 Vue 的。
沒有要求。平時用什么技術棧不重要,重要的是理解原理。
3.7 總結
這里列到的也只是寫文章的時候想起來的一些問題,如果還有其它疑問,可以在公眾號留言,如果我可以回答我都會回復的。
但是,我覺得花時間糾結這些問題,不如沉下心來學習。
推薦閱讀
我的公眾號能帶來什么價值?(文末有送書規(guī)則,一定要看)
每個前端工程師都應該了解的圖片知識(長文建議收藏)
為什么現(xiàn)在面試總是面試造火箭?
