金山WPS,C++研發工程師,一面
【每日一語】人們常常會欺騙你,是爲了讓你明白,有時候,你唯一應該相信的人就是你自己。——《千與千尋》
金山WPS,C++研發工程師,一面
時間:58min
內容
C++基礎
1、自我介紹
2、平時有用C++寫過項目嗎?(這裏沒讓我展開說項目)
3、對C++的特性有什麼瞭解
4、對封裝、繼承、多態的具體理解
5、public/protected/private的區別
6、說一下三種方式繼承對基類的訪問權限
7、說說構造函數的執行順序,析構函數呢
8、說一下構造函數內部幹了什麼
9、如何實現多態
10、構造函數和析構函數可以調用虛函數嗎,爲什麼
11、析構函數一定要是虛函數嗎,爲什麼
12、怎麼理解C++的面向對象和C的面向過程
13、可以介紹一下new的實現原理嗎
14、new和malloc的異同處
15、C++怎麼爲各種變量分配內存空間的
16、引用瞭解吧,介紹一下
17、拷貝構造函數內部做了什麼,什麼時候需要重寫
18、初始化列表瞭解嗎(以爲是那個C11特性,沒敢說)
19、平時用什麼編程環境(Windows+MFC+Qt)
20、用過Qt是吧,說一下信號和槽的機制,綁定的方式
21、你覺得MFC和QT比各自有什麼優缺點
22、MFC的消息機制和Qt消息機制的對比
進程線程相關
1、瞭解過線程嗎,談一下進程和線程的聯繫和區別吧
2、對於共享的區域多個進程或線程一起訪問會不會出問題,要怎麼解決(同步和互斥)
3、進程通信有哪幾種方式,介紹一下
網絡(項目裏有)
1、Socket的流程是什麼樣的(服務端和客戶端兩個)
2、項目裏用的什麼協議(TCP)
3、TCP和UDP的區別,優缺點
數據庫
1、你這項目的數據庫自己設計的嗎,簡單介紹一下你的設計流程
2、瞭解數據庫範式嗎,介紹一下
3、用過索引是吧,說一下索引的優缺點,選取條件
4、數據庫裏多對多關係怎麼處理設計
數據結構
1、說說vector和list的不同,優缺點
2、平衡二叉樹瞭解嗎,說說它的特點,時間複雜度(logN)
3、說說二叉樹的三種遍歷(想讓我寫來着,沒帶紙筆,口述了算法思想和區別,遞歸和非遞歸)
4、圖瞭解嗎,說一說它的遍歷(廣度和深度)
回到C++
1、說說宏定義和const的區別
2、宏定義和內聯函數的區別
3、內聯函數的作用,和普通函數有什麼區別
4、C++有幾種轉換方法,簡單介紹一下
5、重載是什麼,和重寫有什麼區別
6、那今天就到這裏,有消息會後續再通知你的
總結
有些問題記得不太清楚了,總體大致如上。
感覺回答的有點急了,對有些問題思考沒那麼深入,下次要加油。
來源:https://www.jianshu.com/p/cbde6148b475