深信服社招linux崗面試記錄


一面:

1、首先自我介紹吧

2、結構體字節對齊?(給了個只有Int、char類型的結構體,32位機器,求大小,然后問字節對齊問題)

3、詢問對C中的字符串操作函數是否熟悉,手寫字符串拷貝函數

4、問對數據結構和算法是否熟悉,手寫單鏈表反轉

5、TCP和UDP有什么區別?

6、TIME_WAIT的兩個作用?

7、TIME_WAIT和CLOSE_WAIT的區別?

8、TCP如何保證可靠性傳輸?

9、TCP的四個定時器?

  (1)超時重傳定時器:在發送端發送數據后,啟動超時重傳定時器,在給定時間內沒有收到對端發送的確認消息,此定時器超時,發送端重新發送數據,並將此定時器復位。

  (2)堅持定時器:發送端給接收端發送一部分數據后,接收端的緩存已滿無法在接收數據,就向接收端發送一個滑窗大小為0的ACK通知發送方停止發送數據,接收方收到此消息后,啟動堅持定時器,並向接收方發送大小為1個字節的探測報文,在定時器超時后還未收到接收端窗口更新的消息,將堅持定時器加倍並復位,直到堅持定時器已達max=60s,接下來就每隔60s發送探測報文,直到收到接收端的窗口更新消息。

  設計此定時器的原因:假設發送端收到滑窗大小為0的ACK消息后,接收端發現自己已經可以接受數據了,於是向發送方發送滑窗大小不為0的ACK,不巧的是這個ACK丟了,發送方若沒有堅持定時器,則一直在等待發送端通知自己什么時候可以發數據,而接收端認為自己已經通知發送方了,但是沒有收到發送方的數據,這就會造成一種死鎖狀態。

  (3)保活定時器:在一個TCP成功連接后,接收端在收到一次發送方的數據后,會啟動一個保活定時器,時間為2h,如果此定時器超時,發送方會每隔75s發送一個探測報文,在嘗試10次以后,發送方就可以斷開這個連接。

  (4)2MS定時器:此定時器是為了處理TCP連接中主動斷開連接的一方處於TIME_WAIT狀態而設置的,大小為2MSL(數據包在網絡上存活的最大時長的兩倍,即一個往返時間),處於此狀態的一方無法立即建立新的連接,設置此狀態下的定時器有連個作用,其一,防止斷開連接時的最后一個ACK丟失,保證TCP連接的可靠性;其二,防止舊的連接上傳送的臟數據被新的連接收到。

Tips:此問題的答案參考網上的博客以及書籍《UNIX網絡編程 I》

10、TCP粘包問題?

11、如何查看耗時最大的函數?使用什么工具?

12、epoll和select的區別?

13、listen、accept、bind調用時,內核層面發生了什么?

14、C++的虛標指針是什么?多重繼承虛標指針有幾張?

15、C中static的作用?

16、C如何調用C++函數?

17、最近有沒有關注新技術?比如人工智能?區塊鏈?

18、你平時都有瀏覽博客等方式去學習么?

19、舉一個例子說明你平時學習到的東西?

二面:

1、自我介紹(呵,萬年不變呀。。。)

2、ARP是什么?協議是怎么實現的?

3、ARP是怎么找到MAC地址的?

4、講一下你做的一個項目?

5、你覺得你做的模塊在整個項目中的價值占比多少?

6、出現空指針會出現什么情況?怎么處理?

7、局部變量和全局變量的區別?

8、全局變量未初始化時為什么時隨機值?

9、有兩個進程,有同名變量,這個變量是共享的嗎?如果是動態庫呢?

10、你覺得你對你自己還有什么要補充的?

11、如果能入職,可能要學習很多新東西,你能接受嗎?

12、你還有什么要問的?

 

另一個部門的面試

一面:

1、做一個自我介紹?

2、兩個進程要通信,什么樣的方式最快?

3、父進程使用malloc得到一塊內存,子進程可以使用嗎?

4、進程使用malloc分配一塊100M的內存,是馬上就得到這塊內存了嗎?

5、有一個進程突然卡死了,你是怎么定位這個問題的?

6、怎么查看CPU的占用情況?

7、某一個線程占用很大的內存,怎么解決?

8、你平時有看開源的項目嗎?

9、講一個你平時做的項目?

10、你在工作中有遇到什么技術難點嗎?

11、建立網絡鏈接時,客戶端和服務器的過程?

12、發送數據時阻塞和非阻塞的區別?

13、recv調用成功是已經正確收到數據了嗎?

 

去年也有過一次深信服失敗的面試經歷,詳情請看這里:https://www.cnblogs.com/kks170716/p/7778739.html

深信服面試每次都是一個小冊子,也就是公司的題庫,什么時候才能把小冊子的東西掌握呀,,,

現在的真實感受是:哪有什么天生的好運呀,不過是付出的努力在某一刻遇到了合適的機會,便成了所謂的好運,繼續努力吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM