2020騰訊暑假實習後端開發一面面經

首先騰訊的面試官很nice,面試過程遠沒有想象的那麼困難。

 

1.自我介紹(很重要,提前背好稿子梳理好)

我從學習、項目以及實習三個方面介紹了自己,着重講述了項目,以及在項目中的角色,承擔的責任。

2.項目介紹

面試官就開始對着你的簡歷裏寫的項目開始詢問,這裏也是要梳理好自己的項目。這是一個什麼項目?實現了什麼功能?你的技術選型?爲什麼這麼選?你的某個功能點是怎麼做的?等等問題。

然後就開始問技術問題:

3.對JVM GC機制的瞭解,有什麼GC算法?

這裏第一個技術問題,十分緊張。支支吾吾了半天,擠了新生代是一塊eden和兩塊survivor區按照8:1:1 複製算法實現,老年代則標記—清除算法(我好像說成了標記整理算法),然後說了有 複製算法,標記清除算法,標記整理算法,我只記得這三個,面試官說有四個,還有個我記不得了,查了一下是引用計數法?

4.進程和線程的區別?瞭解協程嗎?

協程前一天晚上看了一眼,心虛。

5.什麼是線程池?都有哪些線程池?

線程池的概念還是很好理解的,有哪些線程池我只回答到了三個,不過我強調了我知道有三個,還有newFixedThreadPool,忘了。

6.什麼是死鎖?死鎖怎麼解決?

什麼是死鎖一定要背好,我沒有梳理好邏輯支支吾吾了半天,差點把自己急死,本來想解釋清楚,越抹越黑。

死鎖是指由於兩個或者多個線程互相持有對方所需要的資源,導致這些線程處於阻塞狀態,無法前往執行。

死鎖問題也很常見,四個必要條件,死鎖預防、死鎖避免、死鎖檢測、死鎖接觸,以及銀行家算法

7.說一下OSI七層架構,每一層的作用?

物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層,應用層。

各層作用我是按照五層架構講的

8.說一下三次握手和四次揮手?

三次握手和四次揮手簡直就是送分題,逢面必有,以及爲什麼要三次和四次

9.TCP/UPD的區別?

這裏我說了可靠傳輸,面試官好像沒聽到。

10.TCP的可靠傳輸是怎麼實現的?

序號、校驗和、三次握手連接、流量控制、擁塞控制,確認機制,超時重傳機制。

11.說一下擁塞控制

滑動窗口,控制發送速率

慢開始算法、擁塞避免算法、快重傳快恢復算法。

12.瞭解網絡安全嗎?

之前有打過一次CTF比賽,還好還有點基礎,說了一下XSS攻擊、CSRF攻擊以及SQL注入,後來發現把CSRF攻擊的預防方式說成SQL注入的了。

 

面試說他們主要做高併發,然後就問了一些高併發的問題,感覺回答得不是很好。

13.瞭解高併發嗎?

說了一下高併發造成的後果,如數據不一致,服務器容易崩,我真的不瞭解。qaq

14.如何架構一個高併發高可用系統?

這裏我也看了

1.CDN資源靜態化

2.nginx負載均衡

3.多臺tomcat

4.分佈式redis,一寫多讀

5.mysql的主從複製

6.消息組件的異步操作

不知道這樣對不對,感覺面試官不太滿意這個回答。可能我沒理解他想問的。後來我又看了,還有一些機制,如限流、降級、熔斷、隔離。前兩天看過一下給忘了。

15.瞭解微服務嗎?

我說我學了springcloud,也自己有做demo,但是日常開發中沒法用。

 

最後面試官說了一下我基礎好(不知道是不是真的😂),就是對高併發不太瞭解,能不能夠過一面還得看看。

PS:等一個星期看看有沒有機會二面(手動滑稽)

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章