新手前端的面經總結(已拿網易offer)

2021-02-13 W3school
來源:https://zhuanlan.zhihu.com/p/36466421

4月19日,本人拿到了網易的口頭offer。已經決定去網易-杭研院實習。精神緊繃了一個半月,現在可以好好放鬆了~ 接下來與大家分享一下本人找實習的經驗。雖說是找實習,相關經驗在秋招時也應該是適用的。

以下經驗主要偏向技術崗,且更多地側重於前端。

簡歷

分享兩個簡歷模板:

程序猿簡歷通用模板(請自學Markdown語法)[2]

關於怎麼寫簡歷,知乎上有許多寶貴經驗,我就強調以下幾點:

項目經歷、學生工作、興趣愛好等最好有詳實的數據和論據支撐,如「該項目後期經過XX方面的性能優化,效率提升22.7%」、「舉辦XX活動,參加人數XX人,持續XX天」、「愛好唱歌,校園十佳歌手三等獎」。

而且一定要體現你起了哪些作用。

網申和內推

簡歷寫好後就進入這個階段啦。建議大家關注以下幾個微信公眾號:

和這幾個網站:

注意,部分公眾號和網站提供收費服務,我覺得毫無必要。不要在這方面浪費錢,網上免費的資源已經多到眼花繚亂,像我這樣善良的主動分享經驗的網友也挺多。

這個階段我犯了一個大錯誤。內推找得太早,導致複習得還不夠充分就接到了阿里和騰訊的電話,頭幾次電話面試缺乏經驗發揮失常,浪費了這兩家公司的內推機會。現在想起來都捶胸頓足……可以考慮在各大公司內推/網申截止日期前幾天再投遞。

郵箱最好用163、gmail等郵箱,但京東、美團、騰訊等公司建議使用QQ郵箱。每天都要注意有沒有收到新郵件,注意要翻一翻垃圾郵件,可能被誤識別。

除非有很明確的目標,我建議大多數同學還是海投。我自己就投了三十多家,叫得上名字的公司幾乎都投了。筆試、面試也是很寶貴的經驗,哪怕倒貼錢我也要多嘗試,何況投簡歷、筆試和遠程面試根本就不要錢呢?

筆試

非技術崗的筆試喜歡考智力題,這點類似公務員考試。牛客網上可以刷題,或者買公務員考試的資料也行。至於具體的產品經理、策劃等還考些別的什麼,我不太了解。

大多數公司技術崗筆試的套路差不多,選擇題+編程題,有時候還會有問答題。選擇題的考點,除了根據你選擇的崗位有所側重,更多地還是考察基礎知識。C/C++/Java基礎、數據結構、作業系統、計算機網絡一定要重點複習(用學校的教材即可),如果有多餘時間,最好再看看編譯原理。牛客網上也可以做對應的專項練習。

至於編程題……這也是我心中的痛啊……羨慕學ACM的同學,在這方面優勢就很大了。LeetCode、LintCode都可以刷刷。書籍推薦《劍指offer》,圖書館有舊版的。LintCode的階梯訓練-書籍裡也有《劍指offer》的全套練習題,九章算法上也可以搜每道題的題解。刷通了《劍指offer》,除去頭條筆試以外的編程題,做出一半還是比較輕鬆的。大多數公司的編程題支持多門語言。你可以挑選自己喜歡的語言,熟悉相關的API,免得到時候要自己實現一些原本就有的函數。但最好還是練一練C/C++,面試的時候面試官不一定會你掌握的語言,但多少懂點C/C++。

如果是在牛客網筆試,「校招小管家」微信公眾號會在筆試前提醒你。吐槽一下賽碼網,沒有牛客網好用。面試

面試有電話面試、視頻面試、現場面試。電話面試更多地會考察你的知識點、談談你過去做過的項目,很少會問你複雜的算法題,即使問了也是讓你講講思路。視頻面試和現場面試就會讓你寫比較細緻的代碼了,到時候要仔細考慮邊界情況和特別用例。不過我很少見到要求你一定要把代碼跑起來的面試官。

面試會有自我介紹環節,稍微準備一下就好。我的自我介紹通常就半分鐘。

面試的時候一定要放鬆,語速儘可能平緩。遇到不會的知識點請大方地說你不會(或者像我這樣說:「這個知識點我不了解,以下是我的一些猜測……」或者「您能給一些提示嗎?」)。硬著頭皮回答只是在浪費雙方的時間。

面試通常有好幾輪,一般是若干輪技術面加上最後一輪的HR面。阿里的HR面很玄學,其他公司還好。但我至今也想不通為啥鏈家的HR面把我刷掉了……

去大公司面試就像追女孩子,如果面完試很久都沒回你消息,你也別多問,免得兩邊都不愉快。如果是小公司可以冒險嘗試一下,因為小公司的流程不那么正規,有周旋的餘地。

以下是我有印象的各大公司的前端面試題。括號內為答案和吐槽。

阿里

阿里內推和網申都開始得比較早,但如前文所說,大家可以不急著投,等準備充分了再去試試運氣。可以在網站的個人中心裡查看自己的面試進度。希望大家不會看到「已回絕」三個字。簡歷面,電話(太緊張+沒睡醒的緣故,我在這裡掛了) 簡述 Vue 的生存周期(創建,掛載,更新,銷毀)

讓你用 Bootstrap 設計一個系統,怎麼設計?

(這問題我現在都不知道怎麼答)

Express 和 Koa 框架的區別、優缺點(參見知乎)

Node.js 的優缺點(擅長I/O密集、不擅長計算密集……)

騰訊

騰訊和阿里都喜歡電話突然襲擊,這一點很不友好…… 騰訊的面試進度可以在微信公眾號裡查看。

一面,電話

ES6 裡 let 和 var 的區別(前者塊作用域,後者函數作用域;

(面試-狀態碼)

簡述 ES2017 裡的 async 和 await (你不知道的JS)

二面,電話(掛了)

(快速學習、善於溝通)

HTTP 、 HTTPS 、 HTTP2 的區別?

(關於HTTP你該知道的)

簡述一下用戶訪問網站的過程(緩存,DNS查詢,建立連結,請求,響應,收到頁面,解析DOM樹,顯示內容,首屏加載完成,可交互)

(見後文小結裡的HR相關文章)

筆試後北京一面。體驗極差!不能一次面完嘛!複試還是改電話吧……

列舉數組的用法(建議分類列舉,棧、隊列、映射、刪除等)

跨域(圖像ping, JSONP , CORS , webSocket 等)

本地存儲( cookie , localStorage , sessionStorage 等)

HTTP , TCP , UDP , IP (參看計算機網絡教材)

(見後文小結裡的HR相關文章)

一面過了後公眾號顯示進入複試狀態,但二面一直沒消息。成備胎了?

頭條

頭條面試問的算法題比起筆試題簡單多了。面試前會有小姐姐和你約時間。

一般是在牛客網上視頻面試,會讓你在在線編譯器裡寫代碼。順利的話一次三面。頭條回絕人倒是乾脆,面完試十五分鐘內就會給你打電話。像我這樣被掛起來的倒是挺少見……

一面,視頻

簡述 CSRF (跨站請求偽造)的攻擊和防禦措施(CSDN博客-CSRF)

在線寫代碼,給定一個數組和一個正整數N,求一個和小於N的最長連續子數組(我兩層for循環暴力解了,在面試官引導下做出了一定的優化)

( overflow , text-overflow )

Vue 的雙向綁定原理(事件監聽, getter 和 setter )

二面,視頻(三面還沒給我消息,估計涼了)

在線寫代碼,給定一個二叉樹,求根節點到葉子節點的路徑上所有節點值之和(DFS,先序遍歷,遞歸)

在線寫代碼,給定兩個有序數組,合併為一個有序數組,不許使用 js 的 concat 和 sort 方法(兩個指針)

在線寫代碼,兩欄布局,左邊定寬右邊自適應,等高( flex , grid , float , position ,方法很多隨便說幾個)

簡述 getter 和 setter 寫法(參看紅寶書)

TCP 三次握手和四次揮手,擁塞控制(參看計算機網絡教材)

(見後文小結裡的HR相關文章)

鏈家

我也不知道我為啥掛了……

當時面試地點在凱倫飯店。環境舒適,面試官也挺溫和。技術面難度不大,但問得比較細。我印象不深,一二面合起 來寫吧。

技術面

跨域方式( JSONP ,  webSocket 等,但原理要搞懂)

Web 本地存儲( Cookie , localStorage , sessionStorage 等)

Cookie 相關的頭欄位和格式( Set-Cookie:

name1=value1, expires='...',expires='...' )

document.cookie 的格式,寫一個封裝後的函數(格式同上,函數就是花式處理字符串)

session 原理(基於 Cookie ,或查詢字符串,或 ETag )

手寫代碼,不產生新數組,刪除數組裡的重複元素(排序, splice() )

項目細節(問了我一堆後端,還好當年項目搭檔的源碼我還有印象)

(見後文小結裡的HR相關文章)

二面面試官對我的評價:動手能力強,能解決問題,但所學知識雜而不精,不過學生都這樣。

HR面

基本是天南海北地侃大山,家庭住址、經濟條件、寢室關係、參加過的競賽、做過的項目、職業規劃等都會關聯到……我可能在這個環節說錯話了。言多必失,不要太實誠,也不 要撒謊。

網易

網易的面試體驗挺不錯。它的微信公眾號會給你叫號,前臺小姐姐也會提醒你,每一面結束後都可以找前臺小姐姐查詢面試結果。而且食堂超級好吃!還可以邊吃飯邊吸貓!面試地點在杭州研究院一樓大廳。環境舒適,就是座位有點不夠用。

一面

6道基本技術問題,居中、閉包、塊級元素和行內元素等(答案略)

某個項目的頁面布局方式,緩存的設計和優化方式(本地存儲和協議相關的)

ajax 的原生寫法(創建 XHR 對象, open() , setRequestHeader() , send() , onreadystatechange )

vue-router 的原理( hash , HTML5 新增的 pushState )

//open()接受3個參數:請求類型、 URL 和是否異步的布爾值
//GET方式通常這樣發:
xhr.open("get", "example.php?name1=value1&name2=value2", true)

//可以設定請求頭,包括自定義請求頭,比方說這樣:
xhr.setRequestHeader("MyHeader", "MyValue");

//可以這樣取得一個包含所有頭部信息的長字符串:
var myHeader = xhr.getResponseHeader("MyHeader");
var allHeaders = xhr.getAllResponseHeaders();

//POST方式有這幾個地方要改:
//請求頭要重設,數據會以key1=value1&key2=value2的方式發送到伺服器
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//獲取表單
var form = document.getElementById("user-info");
//序列化表單,發送的內容傳入send()
xhr.send(serialize(form));

//也可以這樣傳值:
var data = new FormData(form);
//再傳一點別的
data.append("name", "Nicholas")
xhr.send(data);

二面

CSS 三欄布局,左右定寬,中間自適應( flex , grid 等)

Vue 雙向綁定原理(事件監聽, getter 和 setter )

Virtual DOM 和 diff 算法( DOM 樹,分層比較, key , DocumentFragment )

jQuery 鏈式調用的原理(知乎-jQuery鏈式調用)

最近碰到的技術難題,不一定是前端(我答了B站的爬蟲與反爬蟲)

關於反爬蟲,請求頭中的這兩個欄位要修改。Host :

Referer :

注意, HTTP 規範將這個頭部欄位拼寫錯了,而為保證與規範一致,也只能將錯就錯了(這個英文單詞的正確拼法應該是  referrer )。

HR面

HR小姐姐似乎對我們學校挺熟悉的,但好像不是校友…… 談一談過去做過的項目、面對的難題(和UI的溝通問題,順便引出我後來自學了平面設計。

未來職業規劃(表示出你想在公司長久待下去,繼續進步就行)

具體的技術發展方向(我答的是「能支持上億用戶使用的前端架構」)

為了往這個方向發展,你所做的努力(我答的是「在看《高性能網站建設》、自學後端,順便提了一下『東北Java第一人』姜國海老師」)

(……還是照實回答吧)

實習時間(我建議把時間段說得寬鬆一些,到時候真的衝突再商量)

京東

京東的面試小哥哥有點逗。因為是臨時改成電話面試,過程不太正規,題目直接用手機的攝像頭傳給我…… 初面已過,複試原本顯示待安排,後來估計是招滿人直接給我掛了。

一面

列舉塊級元素和行內元素( div 等, span 等)

(非 static 的祖先元素)

(文檔)

parseInt() 和 array 的 map 方法的參數?

(看紅寶書)

面試官對我的評價:基礎還可以,做項目的能力是有的,但缺乏深度,要多關注一些細節

去哪兒網

距離去哪兒網筆試快一個月了,我都以為我涼了,結果在北京面騰訊的當天下午連續接到三個電話……只有一輪技術面+一輪HR面,然後就給我發了口頭offer,相當地乾脆利落……

去哪兒網好像更注重考察你對框架、工具的應用,對於基礎考得反而不多。而且還考了我 jQuery ,別的公司都不怎麼考的……

一面

(各種 loader )

使用 flex 布局寫移動端布局(注意 flex-direction 要改)

jQuery 的 delegate 原理(事件冒泡與捕獲)

HR面

別的不記得了……因為整個過程速度太快,來不及記憶……

搜狐

我投了三份簡歷給搜狐,結果三份全被刷了……但4月18日早上搜狐面試官突然加我微信好友!於是當天晚上十點視頻面試。

一面

HTML5 的語義化標籤( header , footer , main 等)

position 的取值和含義(W3Cschool-position屬性)

z-index 的蜜汁用法(這是一個「拼爹」的屬性)

CORS 跨域文件共享的請求頭(詢問允許的方法和域)

獲取頁面滾動高度( window.pageYOffset )

(見後文小結裡的HR相關文章)

百度

雖然百度這幾年發展勢頭落後於AT,甚至快被京東趕上了,畢竟瘦死的駱駝比馬大,面試還是相當有難度和水準的。本人很遺憾地掛在了二面。看來只能投奔網易的懷抱了~ 百度也是在牛客網上進行遠程視頻,流程和頭條差不多。

一面

解釋ES6的暫時性死區( let 和 var 的區別)

高階函數(呃……我真不太清楚這是啥,聽起來挺像閉包的)

求N的階乘末尾有多少個0,在線碼代碼或講思路(求因數,統計2、5、10的個數)

給一個小於一百萬的數,求和它最接近的 Fibo 數(我的思路是簡單地求數列然後求差,面試官說 Fibo 數超過34個以後就超過一百萬,可以把34個數都求出來然後研究狀態轉換……)

一面面試官給我的評價:「基礎紮實,邏輯還可以,但代碼風格不太好(ES5和ES6混用,封裝不好),未來發展方向不明確。可以進入第二輪面試。」

二面

二面面試官說話不太清晰且聲音太小,對面環境也比較嘈雜(好像也在面試?),這點不如頭條。頭條是在獨立的小隔間裡。

CSS布局( Grid 和 flex 都考且考察細緻)

JSON 對象的深度克隆(遍歷遞歸,或者序列化和反序列化)

簡述動畫寫法( setTimeout , requestAnimationFrame , CSS3 ……)

Node 的多線程,高並發,安全(我都不會……問後端大佬吧)

(沒聽說過,不會……)

服務端渲染,計算首屏和白屏時間(不太會……首屏白屏

伺服器如何強制更新後的文件替代客戶端緩存的文件(不太會……好像和MD5有關?

還有很多不太記得了,反正我都不會…………

二面面試官給我的評價:「二面failed。學習能力不錯,反應快,知識的廣度有,但缺乏深度,不夠系統。建議研讀V8引擎源碼,Node源碼,花半年時間。」原來我已經進步到可以看源碼的程度啦?雖然掛了,但聽面試官這麼說還有點開心~

小結

看到這裡,相信讀者也已經感覺到,許多面試題是有套路和重點難點的。我分享幾篇總結這些套路的文章。

都是前輩們留下的寶貴經驗,值得好好吸收。

我的找實習的總結就寫到這裡,感謝大家閱讀。祝願大家能找到滿意的實習。

相關焦點

  • 十幾家大廠前端面試總結(已拿網易 offer) ​
    內容翔實,關於答案其中有很多連結引用,強烈建議左下角閱讀原文4 月 19 日,本人拿到了網易的口頭 offer。已經決定去網易-杭研院實習。接下來與大家分享一下本人找實習的經驗。雖說是找實習,相關經驗在秋招時也應該是適用的。
  • 我的前端面試心法(已拿字節offer)
    中間沒有再繼續投遞,而是沉下心準備,身邊同學陸續拿到offer,也挺糾結。在十月底,趕在秋招的尾巴,投了四五家網申還沒截止的公司,沒想到,面試一路過,最後成功上岸字節,結束秋招。準備面試和參加面試的過程中,總結了一些個人經驗,梳理一下,希望對準備面試的人有些幫助,尤其是沒有面試經歷的學生。這裡不談及具體的面試題目,而是一些通用的方法論。
  • 算法工程師面試問題及資料超詳細合集(多家公司算法崗面經/代碼實戰/網課/競賽等)
    阿里巴巴計算機視覺算法實習生視頻面試 website面試經驗AI算法工程師(面試官角度) website從零基礎到BAT算法崗SP——秋招準備攻略 website螞蟻金服/曠視/虹軟/騰訊優圖暑期實習offer面經 website我在美團的這兩年(附校招筆試/面試/面經分享) website1000 面試題,BAT
  • 騰訊文檔前端面經 已OC
    js中typeof和instanceof的區別以及原理hash和history的區別、onhashchange事件智力題:100個桌球、甲乙一次可以拿一到五個、甲先拿的話怎麼能最後一個拿完面試官特別好,面完就說接下來會有二面的面試官聯繫你,好好準備除了cookie和localstorage之外還有什麼存儲方式indexDB、memory cache、disk cache在引入js文件的script
  • 非科班如何通過業餘時間自學遊戲開發,最終收穫騰訊網易offer
    但是在4月和6月的時候,網易和騰訊分別舉辦了遊戲demo競賽(相比於模仿b站視頻自製demo,更推薦參賽),我便參加了這兩次比賽,參加比賽比自製demo的好處就在於不用自己準備美術、音效、策劃文案等資源,可以更專注於遊戲開發,如果能拿到出色獎項,更可能直接獲得offer,或者成為簡歷上的亮點。假若你不能去實習,那麼強烈推薦你參加這些demo競賽。
  • 雙非學校,成績一般,我同時拿了好幾家大廠offer!
    在校招中拿到了網易、拼多多、金山、唯品會等幾家網際網路公司的offer,還包括數個special offer。目前,他在其中一家公司任職前端工程師。剛開始經歷校招,我和挺多應屆生一樣,選擇去網上找面經、背題目,覺得把所有題目都記下來,面試就可以過了。
  • 熱乎的宇宙條總部面經,已拿offer,速來圍觀
    1、 3月24日 抖音後端這一天,我迎來了我在字節跳動的第一場面試雖然有對實習頂目有做過梳理,可能還是對一些細節思考的深度不夠,回答的還是磕磕絆絆的頂目講完了就開始上算法題了題目是劍指offer原題--棧旋轉數組的中位數當時是記得有做過求旋轉數組的最小值,所以知道大概是用二分法去做
  • 拿到CMU MSCF的offer,得益於GGU獨家面經
    CMU 的面試是行為面,大家接到面試之後可以去搜羅面經,比如世畢盟提供的獨家面經整理或者著名的一畝三分地裡面搜羅以往面經,然後在此基礎上進行準備。一開始我在接到CMU面試之後,其實有些面試問題還是不太清楚具體怎麼回答才是面試官想聽到的,不過世畢盟整理的面經裡面有很多針對不同面試問題如何回答的guide,我覺得這個對於我準備CMU面試以及最後能拿到offer幫助也很大。
  • 騰訊offer報批流程:已放棄!?
    二、遇見拼客大一大二就有印象經常在樓道裡看到過拼客的海報,當時還沒什麼感覺,就單純當做廣告來看看,後面真的要選擇一個方向走的時候,因為大一大二也沒參加什麼團隊,沒比賽經驗,沒拿過獎,除了一些簡單的課程知識,基本沒什麼會的了,到了大三再想去參加團隊,感覺啥也不會估計也沒人要。
  • 字節跳動前端實習 3 面面經
    前段時間面試了一下字節跳動(抖音)的前端實習崗位,經過三輪技術面後拿到了 offer,這裡記錄一下面經。 第一面(45min) 第一面主要考察了一些前端以及計算機網絡等基礎,另外也考察英文文檔的閱讀以及理解能力。
  • 21屆校招,喜提騰訊實習、廣聯達和好未來校招產品經理offer,一份絕地反擊的面經!
    李燁說:三哥,騰訊的電子offer下來啦,凱捷諮詢offer也下來了!太感謝師兄!真心為李燁開心,現在北京實習,準備去深圳騰訊產品崗實習,真心為你高興!李燁說:現在有兩個校招offer,一個是廣聯達管培生,培訓後分類崗位;一個是學而思產品產品經理offer。
  • 過年面經不停 | 精選面經 - 19fall 佛羅裡達大學 ISOM面經
    文/寄託天下「 ID:gternet」學校: University of Florida    專業: ISOM    今天給大家帶來的是佛羅裡達大學ISOM的面經,ISOM:(Master  of Science in Information Systems and Operations  Management)即是信息系統與運營管理理學碩士(供應鏈管理方向),主要培養學生如何去應對產品生產到給客戶提供管理服務的能力,感謝Olive333同學給我們帶來寶貴的面經,快一起來看看吧。
  • 2年前端程式設計師,快手頭條阿里3個offer怎麼選?網友:嫉妒!
    嗨,程式設計師朋友們,相信好多人都有找工作的經歷,你們手頭最多同時拿過幾個offer?雖然最後只能選擇一個offer,但是同時坐擁幾個offer,哪種選擇的快感真是不言而喻啊,接下來要和大家分享的就是一個前端程式設計師小姐姐,她同時拿了3個offer的故事!
  • 400 道前端面試題!阿里、頭條、網易等 19 家大廠面經全公開!
    作者 | 木易揚責編 | 伍杏玲本人是去年 7-8月開始準備面試,過五關斬六將,最終在年末抱得網易歸,深深感受到高級前端面試的套路。以下是自己整理的面試題匯總,不敢藏私,統統貢獻出來。面試的公司分別是:阿里、網易、滴滴、今日頭條、有贊、挖財、滬江、餓了麼、攜程、喜馬拉雅、兌吧、微醫、寺庫、寶寶樹、海康威視、蘑菇街、酷家樂、百分點和海風教育。以下是面試題匯總,後續階段會持續深入更新面試題解,共勉!
  • 對面試官說了拿offer的真實情況,第2天就收到了拒信……
    關注並標星大同學吧每天1次,打卡閱讀更快更全面獲取求職乾貨金九銀十即將結束預告不少同學已到終面階段距離offer僅一步之遙然鵝有同學告訴蛙妹本來前面聊得挺好臨到結束面試官問我拿了幾個offer我如實說了結果第2天就收到了拒信
  • 面經:我怎麼連拿7個算法offer?
    引言:我的轉行面試大約用了一個半月的時間,面過很多家公司,運氣比較好,在網際網路寒冬季還能連拿7個offer
  • 把這幾點做好,讓 BAT Offer 不再難拿
    最近有幸受老師邀請,總結一篇關於應屆生校招求職的文章,我將它分享出來,希望可以幫助到跟我曾經一樣找工作迷茫的同學。個人介紹首先介紹一下個人情況,我是某雙一流大學的學生,專業是軟體工程,在大學期間一直學習從事 Web 前端相關的工作,大三暑期曾在深圳騰訊實習三個月,秋招非常榮幸先後收穫阿里、騰訊、頭條、美團等企業 offer,最終選擇到阿里工作,接下來我就從一名前端工程師的角度來談談一名應屆生應該如何去獲得大公司的校招 offer