C C 面試重點

2021-07-29 14:25:14 字數 4035 閱讀 6536

剛剛找完工作,對在面試中常被問到的問題進行記錄,方便要校招的小夥伴們。

語言:1.struct 記憶體對齊

2.malloc new區別

3.malloc和其他記憶體分配函式底層實現

4.c++多型性(早繫結和晚繫結)

5.區分過載覆蓋隱藏

6.虛擬繼承的實現機制

7.幾種強轉的功能和區別

8.字串函式底層實現

9.const和const的反義詞

10.  static

11.  exclipit

12.  模板

13.  stl

14.  boot  智慧型指標

15.  引用的底層實現

資料結構:效能最主要  時間複雜度

1.      資料結構的型別;棧、

1.    排序:快排、歸併、堆、雜湊

2.    鍊錶操作:

3.    大資料:雜湊、位圖  bitmap  urlmap

4.    二叉樹:

5.    樹的遞迴和非遞迴遍歷

6.    map 和set

7.    紅黑樹、b樹、b+樹

8.    遞迴、分治、回溯、貪心、動態、規劃

9.    堆和樹的區別

linux:

1.      基本工具的使用(gdb)

2.      程式、程序、執行緒概念、區別、聯絡

3.      許可權管理

4.      程序間通訊

5.      shell程式設計

6.      正規表示式

7.      訊號

8.      訊號量

9.      鎖

10.   條件變數

11.   三次握手  四次揮手(狀態轉移   time——wiat)

12.   osi  tcp

13.   tcp和udp區別  各層的協議

14.   tcp的流量控制  差錯控制  擁塞控制

15.   http協議

16.   socket

17.   i/o復用:select

18.系統程式設計

19.系統狀態

20.kill

21.動態檢視

22.看mysql的程序

23.檢視系統命令:各種top命令

24.各種0vmstat

25.du      df

26.shell指令碼

27.cp命令底層實現

28.tree實現

29.程序  執行緒各有什麼資源   什麼時候用多程序、多執行緒  注意什麼問題

30.程序池  執行緒池實現 

31.fork 和 exec  底層實現

32.殭屍程序  守護程序  孤兒程序  init程序

33.程序間通訊

34.執行緒共享的程序資源的方式

35.locate命令:

36.sendmsg 和recvmsg

37.shotdown

38.tcp為什麼可靠

39.網路程式設計框架

40.reactor

和proactor半同步半非同步

41.半同步半反應堆(linux高效能伺服器程式設計)

42.同步非同步  非阻塞

43.epoll底層實現  為什麼要用紅黑樹

作業系統:

1.      記憶體管理(非常重要)

2.      頁表

3.      程序排程

4.      暫存器知識:

mysql :

1.      內部資料的儲存和索引

2.      非關係型資料庫

3.資料庫:

4.儲存引擎

5.mysql的鎖機制

6.mysql的複製

7.關係正規化(幾個)

8.事務及特點

9.mysql查詢優化(非常重要)

各種池化技術:程序池  執行緒池  物件池 連線池 記憶體池

開源產品:iedis  memcahed  mysqlnginx

(1)struct 與 class 的區別。

(2)error 與 exception 的區別。

(3)常見的軟體測試方法有哪些。

(4)int *const p,int const *p,int const *const p 的區別。

(5)在字串 str 中找字串 substr 的個數。

(6)將字串右移 n 位。

(7)inline 的作用。

(8)二維陣列的表示。

(9)ifndef 的作用。

(10)kmp 演算法。

(11)函式呼叫方式。

(12)過載函式。

(13)建構函式與析構函式。

(14)合併兩個有序鍊錶。

(15)邏輯推理—智力題。

(16)100 億條記錄的文字檔案,取出重複數最多的前 10 條。

(17)設計乙個雙向鍊錶,並提供乙個可根據值刪除元素的函式。

(18)二叉樹的多種遍歷演算法實現。

(19)有讀和寫兩個執行緒和乙個佇列,讀執行緒從佇列中讀資料,寫

執行緒往佇列中寫資料。

(20)stack,heap,memory-pool。

(21)tcp 的流量控制和擁塞控制機制。

(22)寫乙個函式,返回乙個字串中只出現一次的第乙個字元。

(23)求乙個陣列中第 k 大的數的位置。

(24)物件導向繼承、多型問題,如多型的實現機制。

(25)內聯函式什麼時候不展開?

(26)成員初始化列表有什麼作用?什麼必須在成員初始化列表中

進行初始化?

(27)指標與引用的區別。

(28)建立空類時,哪些成員函式是系統預設的?

(29)有 10w 個 ip 段,這些 ip 段之間都不重合,隨便給定乙個 ip,

求出屬於哪個 ip 段。

(30)網路程式設計(網路程式設計正規化,非阻塞 connect) 。

(31)tcp/ip。

(32)linux 的命令、原理以及底層實現。

(33)linux 程式設計,包括所有互斥的方法、多執行緒程式設計、程序間通

信。(34)乙個一維數軸上有不同的線段,求重複最長的兩個線段。例

如,a:1~3,b:2~7,c:2~8,最長重複是 b 和 c。

34 程式設計師面試筆試寶典

(39)cnwap 和 cnnet 的區別。

(40)設計乙個記憶體管理策略,要求可以保證多執行緒時的安全,防

止記憶體越界等,效率不低於 malloc( )/free( )函式。

(41)排列組合問題。

(42)若有序表的關鍵字序列為(b, c, d, e, f, g, q, r, s, t) ,則在二分

查詢關鍵字 b 的過程中,先後進行比較的關鍵字依次是什麼?

(43)有乙個虛擬儲存系統,若程序在記憶體中佔 3 頁(開始時記憶體

為空) ,若採用先進出(fifo)頁面淘汰演算法,當執行如下訪問序列

後,1,2,3,4,5,1,2,5,1,2,3,4,5,會發生多少缺頁?

(44)有乙個順序棧 s,元素 s1,s2,s3,s4,s5,s6 依次進棧,

如果 6 個元素的出棧順序為 s2,s3,s4,s6,s5,s1,則順序棧的容量

至少應該有多少?

(45)[0,2,1,4,3,9,5,8,6,7]是以陣列形式儲存的最小堆,刪除堆頂元

素 0 後的結果是多少?

(46)某頁式儲存管理系統中,位址暫存器長度為 24 位,其中號

佔 14 位,則主存的分塊大小是多少位元組?

(47)運算子過載。

(48)各種排序演算法的使用與比較。

(49)一維陣列預設初始化問題。

(50)const char* p1 = "hello"; char* const p2 = "world";有什麼區

別?(51)struct 與 class 有什麼區別與聯絡?

(52)函式指標與指標函式的區別。

(53)指標陣列與陣列指標的區別。

(54)大端小端。

(55)虛函式問題。

(56)如何判斷單鏈表是否有環?

面試重點 開發環境

常用git命令 elements 看dom結構 console debugger network 手機和電腦連同乙個區域網 將手機 到電腦上 手機瀏覽網頁,即可抓包 檢視網路請求 npm install webpack webpack cli d 安裝webpack cli和webpack mkdi...

繼承閉包 面試重點

牢記 區域性變數執行完就銷毀,全域性變數等頁面關閉它才銷毀 開闢乙個儲存空間 把函式體內的 一模一樣的放在這個空間內 不解析變數 把儲存空間的位址給函式名 按照函式名的位址找到函式的儲存空間 形參賦值 預解析將函式儲存空間中的 拿出來執行 才解析變數 按照函式名的位址找到函式的儲存空間 形參賦值 預...

Python面試重點(爬蟲篇)

注意 只有必答題部分計算分值,補充題不計算分值。注意 第31題1分,其他題均每題3分。了解哪些基於爬蟲相關的模組?requests urllib lxml bs4 selenium 常見的資料解析方式?re lxml bs4 列舉在爬蟲過程中遇到的哪些比較難的反爬機制?引數加密 資料加密 簡述如何抓...