面試問答
請問有沒有寫過socket?
有,C語言中要#in...
1. 實體面試前會先有電訪,會先問一些基本題目。
2. 電訪完有一份C語言線上考卷要寫,內容大致跟function p
ointer、pointer、linked list等等相關
3. 實體面試會先寫一份邏輯測驗,這份邏輯測驗有點像非A即B這種邏輯,但應該很難準備。現場會有白板題,會檢討你線上測驗錯的題目,這部分我沒搞清楚,而且寫code要很清楚自己在幹嘛。接著會有自我介紹時間,我有準備投影片,面試官問得非常仔細,需要想清楚,很難瞎掰。然後會問一些OS的問題,都是經典題目,但他還會問你說有沒有真的實作過之類的,所以再看完process/thread/socket/mutex/semophore等等的之後最好都要寫個簡單的code trace一下,確定真的懂。
整體而言,非常用心,真的在找會檢討、邏輯清楚的candidate。
面試問答
請問有沒有寫過socket?
有,C語言中要#include <linux/socket>。
1. 創建 socket。
2. 綁定 socket 到一個地址。
3. 監聽(對於服務器)。
4. 接受連接(對於服務器)。
5. 讀寫數據。
6. 關閉 socket。
process跟thread差在哪?
process是OS分配資源的基本單位,一個process中有很多thread,thread共享一些資源。
一個process crash的時候不會影響其他process,但是如果process彼此間要溝通需要用IPC,context switch的資源也耗損比較多。
thread較輕巧,一般會共用memory,但死掉的時候可能會影響其他的thread。
面試建議
在每一階段的面試中,其實都會有重複的問題,這部分一定要掌握,電訪的時候要抄筆記才不會忘記被問了什麼問題。
第二階段的線上考題也很重要,最好全部記起來自己跟自己講解一次,說服自己才能說服面試官。