2018.7.23 科大訊飛電話面試
內推報的c++開發崗,從師兄那裡瞭解到主要做伺服器開發,個人感覺面的不好,問的東西太難了。
下面說些面試內容:
上來先自我介紹,
接著問:1. 你專案中有沒有用設計模式,瞭解設計模式多少。
2. 問了單例模式(建構函式私有),單例模式使用場景(答的不好),單例如何保持執行緒安全(加鎖),死鎖什麼時候會產生(面試官說有四種,只答了一種)。
3. 面對物件三特性(繼承 多型 封裝),多型和繼承的區別(答的好含糊),過載和覆蓋的區別及在編譯時候的區別。
4. 程序升級要注意的事情(不知道,面試官直接換題了)
5. 客戶端要接收很多,比如5000個tcp連線,如何操作(答:io複用),具體怎麼實現(說了 select函式)
主要就這些了,然後面試官讓你問他問題。
補充:(PS:突然想起的一個題)i++,++i是否是原子操作(答:不是,詳細解答見以下連結)
面試官建議,要是做應用程式開發,需要對面對物件基礎掌握的比較好(PS:面對物件那塊有一個答錯了,過載屬於多型),然後要對多執行緒之類的要多瞭解。
總結:問的問題觸及到知識盲區了,平時對c++基礎有點鬆懈,問的問題都是比較偏的東西,要求掌握的特別全面,
對於多執行緒掌握的不是很牢固,要加強這方面。
這次電話面試,沒有問專案的東西,全是知識點,希望能進下一輪。