金山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

相关文章