1. 程式人生 > >騰訊前端小面經--騰訊視訊

騰訊前端小面經--騰訊視訊

借用原哥的騰訊面經發一波,講道理我現在特別喜歡分享,鄭重宣告,版權歸原哥所有。

騰訊

時間:2018-3-21、3-22

地點:知春路希格瑪大廈2F、領航科技大廈

型別:暑期實習面試

 

技術面一:

1、  你做前端幾年了?之前本科學過什麼語言用來做過什麼?

2、  說說nw,這個很有意思啊,為什麼要用這麼老的東西?

3、  Nw在xp系統下出現無限縮放現象,那你如何解決這種適配問題?

4、  考試系統的介面適配是如何適配的?什麼佈局?

5、  TCP、UDP用了哪些模組?

6、  fs模組用在了什麼地方?同步非同步fs在何處使用?

7、  Vue的元件化你是怎樣使用的?

8、  談談MVVM?

9、  Vue在MVVM中是如何實現資料雙向繫結的?(答資料劫持)

怎麼實現的資料劫持?(答defineProperty原理等)

那麼比如v-model這種地方如果繫結一個函式,讓你涉及構架你要如何實現?(GG……說實話這裡我沒太懂什麼意思,完全答不上來的問題)

10、             你如何使用Webpack配合Vue進行元件化開發?Vuex有使用嗎?Vue-cli呢?

11、             Vue中你有沒有使用什麼非同步操作的程式碼?Vue.nextTick你用在什麼地方為什麼要修改DOM?

12、             說說Git你們平時是如何使用的?開發一個工程使時你們是怎樣使用git協作的?常用命令?如果有一個人的程式碼和master衝突了,或者需要回退,如何解決?回退的命令?假設從a到b再到c,需要回退到a,會退後能直接提交嗎?

13、             你用過Java等後臺語言嗎?現在還會用Java麼?

14、             對於前端開發,你未來的計劃是向哪個方向學習?pc、移動端還是node?

 

技術面二:

1、  說說Vue中class、function繫結實現的區別?(沒答上)

2、  簡單說一下實現物件繼承的幾種方式?

3、  Vue+Webpack你是如何實現元件化開發的?

4、  Webpack中你使用了哪些常用的loader、哪些plugin?Webpack中有時候打包會出現延時大的情況,你是如何優化的?

5、  Express框架你是如何使用的?路由功能怎麼使用?

6、  你在新聞社專案中解決了什麼主要問題?優化DOM操作採用了什麼方法?常用方法?

7、  談談軌跡修改演算法的問題?(我主動提的)

8、  你平時使用什麼方式學習前端技術?

9、  你未來想向什麼方向發展達到一個什麼高度?

 

部門Leader面:

1、  你想什麼時間來實習?

2、  如果選地點你想去哪裡?北京以外接受嗎?

3、  這些專案中你的職責是什麼?哪些是你自己完成或者帶隊完成的?

(之後基本沒有問問題,都是他在主動講,主要聊流行的框架、公司內部的業務流和人才缺口,使用的主要技術,還有公司的事業群分佈,以及發展方向等等。)

 

總監面:

1、  先做個自我介紹吧

2、  那說說你的專案經歷吧,你這些專案哪個你覺得做的最好?或者最值得講一講,簡單說說實現的過程?(講考試系統)

3、  你這個Nw,是一個整合環境是吧,為什麼使用它?(講electron優劣,XP相容性)

4、  為什麼通訊要用到TCP、UDP,HTTP不行嗎?TCP連線你怎麼實現的?(簡單答socket過程)那不對啊,你這個設計應該不可能是TCP層面上的,你確定是TCP?(答我用了socket.io模組)那也不是TCP吧?(此時我想明白了:哦,其實是WebSocket,不是純TCP層面的通訊,WebSocket是H5新增的API,本質是對HTTP協議的一種升級,所以不僅僅是停留在傳輸層)總監:嗯嗯,對,就是這麼回事嘛

5、  那我想問一下你這個Node伺服器怎麼實現的?(講監考機邏輯)哎我覺得你這個不太合理呀,為什麼要用UDP傳送IP埠號呢?按理應該是一個單獨的Server空間讓所有端連入,不需要傳遞ip,類似於一個聊天室,我覺得你應該是這樣實現的才對吧?(我:……,我真不是這麼實現的,您的意思我懂,但我是通過端與端點對點通訊實現的,並沒有Server)哦也就是說不是真正的純Node伺服器是吧?(是,因為是輕量級工程,而且主要負責傳輸邏輯,所以並沒有那麼設計,再加上工期緊張,這樣是當時想的方案,確實有不合理,您的方案很好,值得學習)

6、  你這裡考試流程怎麼實現的?介面佈局?fs模組怎麼使用的?中斷恢復機制如何儲存檔案?如何恢復的?(這裡基本是我引導他提問)

7、  那你講一下Node.js裡面這個非同步事件驅動是怎麼回事吧?(講底層實現)跟長輪詢相比優勢和區別是什麼?(答理論無限併發)但是有一個問題哈,就算是非同步驅動,分配給不同的執行緒,那假設執行緒上面還有別的任務沒完成,這時候不是產生阻塞了?如何優化?(我:……總監:笑,一格核不夠就多開幾個核唄……16、32、64、超執行緒,都可以優化。我:您說的對……)

8、  行,我看還有點時間,寫個演算法吧(我:……)題目:兩塊資料區域,內含不同的行,每行是字串,找出兩塊區域間重複的字串?

9、  實習時間?長短?

10、 還有什麼想問我的

總結:

騰訊公司一般在被面試者專案偏多時候更喜歡多問專案細節,尤其是框架、包括框架底層實現原理、與其他的比較,還有你對專案做了哪些改進。

其實總監面之前都算一面,只是分很多輪,騰訊的套路。

如果沒什麼問的就拿出一樣技術問問使用經驗和技巧,實在沒有問的了再問基礎語法和演算法。這次面試中基礎題也有問,只是很少。

建議在面試前把簡歷上的核心技術和流行框架都弄懂,最好懂原始碼和底層實現,如果能提出改進會大大加分。

如果懂後臺語言並且熟練後臺開發(全棧),也可以大大加分,騰訊目前偏向PHP。