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

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