C 面試必備 ing

2021-10-02 01:41:52 字數 3113 閱讀 4208

c++面試準備。。。

碰到的面試題

1.vector中,如果有個需求,有時候需要乙個很長的儲存,有時候又需要乙個短的,怎麼來做

2. 怎麼檢視靜態庫或動態庫的符號表

3. 如何引用別人的動態庫

4. 如何解動態庫或靜態庫

5. 乙個int型的指標指向double的數,能正常使用嗎,如果不,應該如何來使用

6. 只能指標有哪些,如何使用

7. 如何用乙個類來使用實現shared_ptr

8. gdb如何使用,如何除錯乙個程序,如何調乙個函式

9. 平時除錯**如何調

10. 如何檢視記憶體洩漏

11. 程序如何通訊

12. 常用shell命令有哪些

13. makefile如何寫,了解哪些東西

14. 常見資料庫有哪些,你用到哪些

15. 資料庫檢視是什麼,如何查詢更快(常見面試題等等。。)

16. 死鎖是怎麼回事

17. 程序如何使用,如何建立,函式是什麼

18. pv操作

19. 作業系統是怎麼排程程序的,排程方式有哪些(時間片輪轉等等)

20. 對測試問題單如何感想

21. 如何進行配置管理

22. 網路有哪幾層,有哪些

23. tcp/ip三次握手什麼,有什麼標誌位的變化

24. c++如何進行排序,用到的排序的stl是什麼

25. vector,map,list原理是什麼,分別怎麼來使用

26. map如何查詢,如果key為空如何處理或操作

27. 歸併排序的時間複雜度是什麼,寫下**

28. 常見排序演算法有哪些,複雜度是什麼,如何選用

29. 常見的設計模式有哪些,平時用到哪些,如何實現,什麼場景用到了

30. static定義的函式,別的檔案能看到嗎,為什麼

31. 程序記憶體有多大

32. 什麼是段錯誤

33. c11了解嗎,用到哪些特性

34. linux的工具鏈

35. 高併發怎麼做

36. 如果開機啟動需要用到乙個較大的空間,之後不再使用,如何來定義,放在全域性可以嗎,應該放到哪。

37. 發生死鎖的情況有哪些,描述一下

38. 說下你用到的設計模式

39. 型別強轉了解哪些,如何把乙個父類指標強轉為子類指標

40. 指標和引用有何區別

41. 在map中,當使用乙個類作為key時,需要注意什麼

42. 當new或malloc失敗時,需要如何處理

43. 說下快速排序的基本思路,時間複雜度和空間複雜度

44. 模板用過嗎,模板的啥啥啥。。。

45. 為什麼基類的析構函式要定義成虛函式

46. linux下用**如何實現定時器

47. linux下如何檢視記憶體和cpu使用情況

48.49. 用英語介紹一下自己

1.執行緒程序

2.stl

3.網路,tcp實操

4.資料庫實操熟悉

5.gdb

6.c11

1.vector: 連續的空間,隨機訪問快,插入和刪除慢

(2)vector::iterator支援「+」,「+=」,「<」等操作符

2.list:雙鏈表,插入刪除快,隨機訪問慢

(2)list::iterator則不支援「+」、「+=」、「<」

3.1.加static修飾的函式別的.c檔案能看到嗎,為什麼?

不能看到。因為在編譯.c檔案時,生成的符號表中隱藏了static函式,這樣在鏈結的時候就找不到。

2. static函式和普通函式的區別:static函式沒有this指標,只能訪問靜態成員函式或變數,而普通函式都可以。

3. 堆空間和棧空間的區別:stack的空間由作業系統自動分配和釋放,存放函式的引數值、 區域性變數的值等。heap上的空間一般由程式設計師分配和釋放,並要指明大小

4.內聯inline函式:將**直接插入呼叫處,快,且減少了普通函式呼叫時的資源消耗

虛擬記憶體

段錯誤訪問了系統沒有分配給這個程式的位址,或者說不允許訪問的位址空間。

根據虛擬位址可知道,每個程序都被分配了4g的空間,但是核心等系統空間是不允許訪問的,沒有申請或者已經釋放的空間也是不允許訪問的,否則段錯誤。

乙個原始檔到執行檔案的過程(編譯連線)

參考預處理 -> 編譯 -> 彙編 -> 連線

一步到位:gcc hello.c 或 gcc hello.c -o hello.out

預處理:處理巨集,#define ,刪除注釋等

gcc -e hello.c -o hello.i

編譯:最核心部分。把預處理完的檔案進行一系列詞法分析、語法分析、語義分析以及 優化後生成相應的彙編**檔案

gcc -s hello.i -o hello.s

彙編:彙編過程呼叫彙編器as來完成,是將彙編**轉成機器可以執行的指令,每乙個彙編語句幾乎都對應一條機器指令。機器型別不一樣,機器指令也不一樣,如pc和arm

gcc -c hello.s -o hello.o

鏈結:主要是將各個模組相互引用的部分銜接起來。鏈結主要包括位址、空間分配、符號決議和重定向

靜態連線庫:將各個 .o 檔案打包,需要某部分時,「解壓出」需要的,然後跟你的.o檔案一起生成可執行檔案。linux/unix系統下ansi c的庫名叫做libc.a

動態連線庫:執行時可以載入到任意的儲存器位址,並和乙個正在執行的程式鏈結起來。unix/linux中共享庫的字尾名通常是.so,windows下時dll

區別:靜態的是 編譯時確定,若靜態庫更新,需重新編譯你的程式,且不同的程式可能包含有相同的靜態庫的東西,浪費空間。動態庫則不,動態庫更新不影響你的程式,也節約空間。

gdb除錯

5.程序和執行緒

程序 和 執行緒

互斥鎖、條件變數、訊號量和讀寫鎖

多執行緒的使用例項

1. 3次握手4次揮手

面試總結 不斷ing

面試總結 2011 9 2 1 將兩個表的結果集聯合起來 答案 採用union 或者union all 區別 union all 是將結果集拼合在一起,union 是將union all 之後的結果再進行醫次distinct 去掉重複後的結果 2 有兩個表,student 學生表score 成績表,...

面試ing 騰訊模擬筆試

感覺就是從題庫隨機抽的一些題,跟報考崗位無關。自己整理一下。1 22個頂點連通圖中邊的個數至少為21 在資料結構中,n個頂點的連通圖至少有多少條邊 至少要有 n 1 條邊 也就是樹 才能保證圖為連通圖.對於簡單圖而言至多有n n 1 2條邊,此時即是完全圖.2 36輛車,6條跑道,無計時器,選出其中...

面試必備 面試技巧

猴哥,今天和朋友們來聊聊關於面試中的一些技巧,希望能夠對正在找工作的朋友們起到一絲作用,同時也會接受朋友們的提出的寶貴意見進行改進。同學們在找工作投簡歷的時候,會看見公司要求的技能,此時一定及時告知hr,要求的技能,你會哪些,哪些沒有用到過。從而防止,你去面試,結果問了你一堆你根本沒接觸過的技能,或...