溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何準(zhǔn)備互聯(lián)網(wǎng)技術(shù)崗位的面試筆試?

發(fā)布時間:2020-08-12 03:51:34 來源:ITPUB博客 閱讀:177 作者:阿爾迪斯工作室 欄目:數(shù)據(jù)庫

題主沒有寫自己要求職哪個崗位,即使是技術(shù)崗,若是不同的方向,如:C++和Java,筆試面試題都會有區(qū)別的~

題主沒寫也沒關(guān)系,這里會選幾個求職人數(shù)比較多和比較熱門的崗位,列出其面試考點(diǎn)匯總給大家~

這里暫時列出了 C++崗位、 Java崗位和機(jī)器學(xué)習(xí)/算法崗位的筆試面試考點(diǎn)匯總,另外還有 前端崗位、 測試崗位的匯總,想看這兩個方向的同學(xué)請直接拉到最下面哦~~

(PS:這些匯總都是有答案的哈,答案在各部分匯總最后~)

C++方向

一、基礎(chǔ)知識

1、基本語言

1、說一下static關(guān)鍵字的作用

2、說一下C++和C的區(qū)別

3、說一下C++中static關(guān)鍵字的作用

4、請說一下static的作用

5、說一說c++中四種cast轉(zhuǎn)換

6. 請說一下C/C++ 中指針和引用的區(qū)別

7、給定三角形ABC和一點(diǎn)P(x,y,z),判斷點(diǎn)P是否在ABC內(nèi),給出思路并手寫代碼

8、怎么判斷一個數(shù)是二的倍數(shù),怎么求一個數(shù)中有幾個1,說一下你的思路并手寫代碼

9、請你說一下你理解的c++中的smart pointer四個智能指針

10、請回答一下數(shù)組和指針的區(qū)別

11、請你回答一下野指針是什么

12、請你介紹一下C++中的智能指針

13、請你回答一下智能指針有沒有內(nèi)存泄露的情況

14、請你來說一下智能指針的內(nèi)存泄漏如何解決

15、請你理解的c++中的引用和指針

16、請你來說一下C++中的智能指針

17、請你回答一下為什么析構(gòu)函數(shù)必須是虛函數(shù),為什么C++默認(rèn)的析構(gòu)函數(shù)不是虛函數(shù)

18、請你來說一下函數(shù)指針

19、請你來說一下fork函數(shù)

20、請你來說一下C++中析構(gòu)函數(shù)的作用

21、請你來說一下靜態(tài)函數(shù)和虛函數(shù)的區(qū)別

22、請你來說一說重載和覆蓋

23、請你來說一說static關(guān)鍵字

24.、請你說一說strcpy和strlen

25、請你說一說你理解的虛函數(shù)和多態(tài)

26、請你來回答一下++i 和 i++的區(qū)別

27、請你來說一說++i 和 i++的實現(xiàn)

28、請你來寫個函數(shù)在main函數(shù)執(zhí)行前先運(yùn)行

29、有段代碼寫成了下邊這樣,如果在只修改一個字符的前提下,使代碼輸出20個hello

30、請你來說一下智能指針shared_ptr的實現(xiàn)

31、以下四行代碼的區(qū)別是什么

32、請你來說一下C++里是怎么定義常量的?常量存放在內(nèi)存的哪個位置?

33、請你來回答一下const修飾成員函數(shù)的目的是什么?

34、如果同時定義了兩個函數(shù),一個帶const,一個不帶,會有問題嗎?

35、請你來說一說隱式類型轉(zhuǎn)換

36、說說你了解的類型轉(zhuǎn)換

37、請你來說一說C++函數(shù)棧空間的最大值

38、請你來說一說extern“C”

39、請你回答一下new/delete與malloc/free的區(qū)別是什么

40、請你說說你了解的RTTI

41、請你說說虛函數(shù)表具體是怎樣實現(xiàn)運(yùn)行時多態(tài)的?

42、請你說說C語言是怎么進(jìn)行函數(shù)調(diào)用的?

43、請你說說C語言參數(shù)壓棧順序?

44、請你說說C++如何處理返回值?

45、請你回答一下C++中拷貝賦值函數(shù)的形參能否進(jìn)行值傳遞?

46、請你回答一下malloc與new區(qū)別

47、請你說一說select

48、請你說說fork,wait,exec函數(shù)

49、請你回答一下靜態(tài)函數(shù)和虛函數(shù)的區(qū)別

50、請你說一說重載和覆蓋

51、請你說一說static關(guān)鍵字

52、請你說一說strcpy和strlen

2、容器和算法

1、請你來說一下map和set有什么區(qū)別,分別又是怎么實現(xiàn)的

2、請你來介紹一下STL的allocaotr

3、請你來說一說STL迭代器刪除元素

4、請你說一說STL中MAP數(shù)據(jù)存放形式

5、請你講講STL有什么基本組成

6、請你說說STL中map與unordered_map

7、請你說一說vector和list的區(qū)別,應(yīng)用,越詳細(xì)越好

8、請你來說一下STL中迭代器的作用,有指針為何還要迭代器

9、請你說一說epoll原理

10、請你說一說STL迭代器是怎么刪除元素的呢

11、請你說一說STL中MAP數(shù)據(jù)存放形式

12、n個整數(shù)的無序數(shù)組,找到每個元素后面比它大的第一個數(shù),要求時間復(fù)雜度為O(N)

13、請你回答一下STL里resize和reserve的區(qū)別

14、請你說一說stl里面set和map怎么實現(xiàn)的

3、類和數(shù)據(jù)抽象

1.請你來說一下C++中類成員的訪問權(quán)限

2、請你來說一下C++中struct和class的區(qū)別

3、請你回答一下C++類內(nèi)可以定義引用數(shù)據(jù)成員嗎?

4、面向?qū)ο笈c泛型編程

1、請你回答一下什么是右值引用,跟左值又有什么區(qū)別?

5、編譯與底層

1、 請你來說一下一個C++源文件從文本到可執(zhí)行文件經(jīng)歷的過程?

2、 請你來回答一下include頭文件的順序以及雙引號””和尖括號的區(qū)別?

3、 請你回答一下malloc的原理,另外brk系統(tǒng)調(diào)用和mmap系統(tǒng)調(diào)用的作用分別是什么?

4、 請你說一說C++的內(nèi)存管理是怎樣的?

5、請你來說一下C++/C的內(nèi)存分配

6、請你回答一下如何判斷內(nèi)存泄漏?

7.請你來說一下什么時候會發(fā)生段錯誤

8、請你來回答一下什么是memory leak,也就是內(nèi)存泄漏

9、請你來回答一下new和malloc的區(qū)別

10、請你來說一下 共享內(nèi)存相關(guān)api

11、請你來說一下reactor模型組成

12、請自己設(shè)計一下如何采用單線程的方式處理高并發(fā)

13、請你說說C++如何處理內(nèi)存泄漏?

14、請你說說select,epoll的區(qū)別,原理,性能,限制都說一說

15、請你說一說C++ STL 的內(nèi)存優(yōu)化

6、C++11

1、請問C++11有哪些新特性?

2、請你詳細(xì)介紹一下C++11中的可變參數(shù)模板、右值引用和lambda這幾個新特性。

二、操作系統(tǒng)

1、請你說一下進(jìn)程與線程的概念,以及為什么要有進(jìn)程線程,其中有什么區(qū)別,他們各自又是怎么同步的

2、請你說一說Linux虛擬地址空間

3、請你說一說操作系統(tǒng)中的程序的內(nèi)存結(jié)構(gòu)

4、請你說一說操作系統(tǒng)中的缺頁中斷

5、請你回答一下fork和vfork的區(qū)別

6、請問如何修改文件最大句柄數(shù)?

7、請你說一說并發(fā)(concurrency)和并行(parallelism)

8、請問MySQL的端口號是多少,如何修改這個端口號

9、請你說一說操作系統(tǒng)中的頁表尋址

10、請你說一說有了進(jìn)程,為什么還要有線程?

11、請問單核機(jī)器上寫多線程程序,是否需要考慮加鎖,為什么?

12、請問線程需要保存哪些上下文,SP、PC、EAX這些寄存器是干嘛用的

13、請你說一說線程間的同步方式,最好說出具體的系統(tǒng)調(diào)用

14、請你說一下多線程和多進(jìn)程的不同

15、請你說一說進(jìn)程和線程的區(qū)別

16、游戲服務(wù)器應(yīng)該為每個用戶開辟一個線程還是一個進(jìn)程,為什么?

17、請你說一說OS缺頁置換算法

18、請你說一說進(jìn)程和線程區(qū)別

19、請你說一下多進(jìn)程和多線程的使用場景

20、請你說一說死鎖發(fā)生的條件以及如何解決死鎖

21、請問虛擬內(nèi)存和物理內(nèi)存怎么對應(yīng)

22、請你說一說操作系統(tǒng)中的結(jié)構(gòu)體對齊,字節(jié)對齊

23、請問進(jìn)程間怎么通信

24、請你說一下虛擬內(nèi)存置換的方式

25、請你說一下多線程,線程同步的幾種方式

26、請你講述一下互斥鎖(mutex)機(jī)制,以及互斥鎖和讀寫鎖的區(qū)別

27、請回答一下進(jìn)程和線程的區(qū)別

28、請你說一說進(jìn)程狀態(tài)轉(zhuǎn)換圖,動態(tài)就緒,靜態(tài)就緒,動態(tài)阻塞,靜態(tài)阻塞

29 、A a = new A; a->i = 10;在內(nèi)核中的內(nèi)存分配上發(fā)生了什么?

30、給你一個類,里面有static,virtual,之類的,來說一說這個類的內(nèi)存分布

31、請你回答一下軟鏈接和硬鏈接區(qū)別

32、請問什么是大端小端以及如何判斷大端小端

33、請你回答一下靜態(tài)變量什么時候初始化

34、請你說一說用戶態(tài)和內(nèi)核態(tài)區(qū)別

35、請問如何設(shè)計server,使得能夠接收多個客戶端的請求

36、死循環(huán)+來連接時新建線程的方法效率有點(diǎn)低,怎么改進(jìn)?

37、請問怎么喚醒被阻塞的socket線程?

38、請問怎樣確定當(dāng)前線程是繁忙還是阻塞?

39、空閑的進(jìn)程和阻塞的進(jìn)程狀態(tài)會不會在喚醒的時候誤判?

40、請問就緒狀態(tài)的進(jìn)程在等待什么?

41、請你說一說多線程的同步,鎖的機(jī)制

42、兩個進(jìn)程訪問臨界區(qū)資源,會不會出現(xiàn)都獲得自旋鎖的情況?

43、假設(shè)臨界區(qū)資源釋放,如何保證只讓一個線程獲得臨界區(qū)資源而不是都獲得?

44、windows消息機(jī)制知道嗎,請說一說

45、C++的鎖你知道幾種?

46、說一說你用到的鎖

47、請你說一說死鎖產(chǎn)生的必要條件?

48、請你說一說什么是線程和進(jìn)程,多線程和多進(jìn)程通信方式

49、請你說一說內(nèi)存溢出和內(nèi)存泄漏

50、進(jìn)程和線程的區(qū)別,你都使用什么線程模型

51、請你來說一說協(xié)程

52、系統(tǒng)調(diào)用是什么,你用過哪些系統(tǒng)調(diào)用

53、請你來手寫一下fork調(diào)用示例

54、請你來說一說用戶態(tài)到內(nèi)核態(tài)的轉(zhuǎn)化原理

55、請你說一下源碼到可執(zhí)行文件的過程

56、請你來說一下微內(nèi)核與宏內(nèi)核

57、請你說一下僵尸進(jìn)程

58、請問GDB調(diào)試用過嗎,什么是條件斷點(diǎn)

59、請你來介紹一下5種IO模型

60、請你說一說異步編程的事件循環(huán)

61、請你回答一下操作系統(tǒng)為什么要分內(nèi)核態(tài)和用戶態(tài)

62、請你回答一下為什么要有page cache,操作系統(tǒng)怎么設(shè)計的page cache

63、server端監(jiān)聽端口,但還沒有客戶端連接進(jìn)來,此時進(jìn)程處于什么狀態(tài)?

64、請問如何設(shè)計server,使得能夠接收多個客戶端的請求

65、死循環(huán)+來連接時新建線程的方法效率有點(diǎn)低,怎么改進(jìn)?

66、就緒狀態(tài)的進(jìn)程在等待什么?

67、請你說一下多線程的同步,鎖的機(jī)制

68、兩個進(jìn)程訪問臨界區(qū)資源,會不會出現(xiàn)都獲得自旋鎖的情況?

69、假設(shè)臨界區(qū)資源釋放,如何保證只讓一個線程獲得臨界區(qū)資源而不是都獲得?

70、請問怎么實現(xiàn)線程池

71、Linux下怎么得到一個文件的100到200行

72、請你來說一下awk的使用

73、請你來說一下linux內(nèi)核中的Timer 定時器機(jī)制

三、計算機(jī)網(wǎng)絡(luò)

1、你的研究方向是無線傳感器網(wǎng)絡(luò),請問怎么確保節(jié)點(diǎn)傳輸存儲的可靠性

2、請你說一下TCP怎么保證可靠性,并且簡述一下TCP建立連接和斷開連接的過程

3、請你說一說TCP的模型,狀態(tài)轉(zhuǎn)移

4、請回答一下HTTP和HTTPS的區(qū)別,以及HTTPS有什么缺點(diǎn)?

5、請你說一說HTTP和HTTPS的不同

6、請你說一說HTTP返回碼

7、請你說一說IP地址作用,以及MAC地址作用

8、請介紹一下操作系統(tǒng)中的中斷

9、請回答OSI七層模型和TCP/IP四層模型,每層列舉2個協(xié)議

10、請你說一說TCP的三次握手和四次揮手的過程及原因

11、搜索baidu,會用到計算機(jī)網(wǎng)絡(luò)中的什么層?每層是干什么的

12、請你說一說TCP擁塞控制?以及達(dá)到什么情況的時候開始減慢增長的速度?

13、請問TCP用了哪些措施保證其可靠性

14、請你說說TCP/IP數(shù)據(jù)鏈路層的交互過程

15、請你說說傳遞到IP層怎么知道報文該給哪個應(yīng)用程序,它怎么區(qū)分UDP報文還是TCP報文

16、請問你有沒有基于做過socket的開發(fā)?具體網(wǎng)絡(luò)層的操作該怎么做?(其實就是網(wǎng)絡(luò)編程的基本步驟)

17、請問server端監(jiān)聽端口,但還沒有客戶端連接進(jìn)來,此時進(jìn)程處于什么狀態(tài)?

18、請問TCP三次握手是怎樣的?

19、請問tcp握手為什么兩次不可以?為什么不用四次?

22、請你來說一下TCP擁塞控制?

20、TCP和UDP的區(qū)別和各自適用的場景

21、請你來說一下TCP三次握手四次揮手的過程,為什么tcp連接握手需要三次, time_wait狀態(tài)

22、請你來說一說http協(xié)議

23、請你來說一下GET和POST的區(qū)別

24、請你來說一下socket編程中服務(wù)器端和客戶端主要用到哪些函數(shù)

25、請你來說一下數(shù)字證書是什么,里面都包含那些內(nèi)容

26、請你來介紹一下UDP的connect函數(shù)

27、請你講述一下TCP三次握手,四次揮手,以及為什么用三次握手?

28、請你說一下阻塞,非阻塞,同步,異步

29、請你講述一下Socket編程的send() recv() accept() socket()函數(shù)?

30、請你說一下http協(xié)議會話結(jié)束標(biāo)志怎么截出來?

31、請你說一說三次握手

32、請你說一說四次揮手

33、請你說一說TCP/IP數(shù)據(jù)鏈路層的交互過程

四、數(shù)據(jù)庫

1、數(shù)據(jù)庫基礎(chǔ)

1、請你說一下數(shù)據(jù)庫事務(wù)以及四個特性

2、請你說一說數(shù)據(jù)庫的三大范式

3、請你介紹一下數(shù)據(jù)庫的ACID特

4、請你說一說數(shù)據(jù)庫索引

5、請你說一說數(shù)據(jù)庫事務(wù)

6、請你說一說數(shù)據(jù)庫事務(wù)隔離

7、請你說一說inner join和left join

8、請你聊一聊數(shù)據(jù)庫事物的一致性

9、請你說說索引是什么,多加索引一定會好嗎

10、k-v存儲中,key有哪些要求?

11、介紹數(shù)據(jù)庫中的WAL技術(shù)

2、Mysql

1、請你說一說mysql的四種隔離狀態(tài)

2、請你介紹一下mysql的MVCC機(jī)制

3、請問SQL優(yōu)化方法有哪些

4、請你說一下MySQL引擎和區(qū)別

3、Redis

1、請你回答一下mongodb和redis的區(qū)別

2、請你說一下mysql引擎以及其區(qū)別

3、請你來說一說Redis的定時機(jī)制怎么實現(xiàn)的

4、請你來說一說Redis是單線程的,但是為什么這么高效呢?

5、請問Redis的數(shù)據(jù)類型有哪些,底層怎么實現(xiàn)?

6、請問Redis的rehash怎么做的,為什么要漸進(jìn)rehash,漸進(jìn)rehash又是怎么實現(xiàn)的?

7、請你來說一下Redis和memcached的區(qū)別

8、請問Redis怎么實現(xiàn)的定期刪除功能

9、請你說一說Redis對應(yīng)的命令和數(shù)據(jù)類型...

五、算法與數(shù)據(jù)結(jié)構(gòu)

1、樹

1、請你來說一說紅黑樹和AVL樹的定義,特點(diǎn),以及二者區(qū)別

2、請你聊一聊哈夫曼編碼

3、請你回答一下map底層為什么用紅黑樹實現(xiàn)

4、請你介紹一下B+樹

5、請你說一說map和unordered_map的底層實現(xiàn)

6、請你回答一下map和unordered_map優(yōu)點(diǎn)和缺點(diǎn)

7、請你回答一下epoll怎么實現(xiàn)的

8、請你說一說C++兩種map

9、請問紅黑樹了解嗎

10、請你說一說紅黑樹的性質(zhì)還有左右旋轉(zhuǎn)

11、請你說一說紅黑樹的原理以及erase以后迭代器的具體分布情況?

12、請你實現(xiàn)二叉樹的層序遍歷并輸出

13、手寫代碼:二叉樹序列化反序列化

2、堆與棧

1、請說一說你理解的stack overflow,并舉個簡單例子導(dǎo)致棧溢出

2、請你回答一下棧和堆的區(qū)別,以及為什么棧要快

3、手寫代碼:兩個棧實現(xiàn)一個隊列

4、請你來說一下堆和棧的區(qū)別

5、請你說一說小根堆特點(diǎn)

3、數(shù)組

1、請你回答一下Array&List, 數(shù)組和鏈表的區(qū)別

2.一個長度為N的整形數(shù)組,數(shù)組中每個元素的取值范圍是[0,n-1],判斷該數(shù)組否有重復(fù)的數(shù),請說一下你的思路并手寫代碼

4、排序

1、請你來手寫一下快排的代碼

2、請問求第k大的數(shù)的方法以及各自的復(fù)雜度是怎樣的,另外追問一下,當(dāng)有相同元素時,還可以使用什么不同的方法求第k大的元素

3、請你來介紹一下各種排序算法及時間復(fù)雜度

4、請你說一說你知道的排序算法及其復(fù)雜度

5、請問海量數(shù)據(jù)如何去取最大的k個

6、請你說一說Top(K)問題

7、請問快排的時間復(fù)雜度最差是多少?什么時候時間最差

8、請問穩(wěn)定排序哪幾種?

9、請你介紹一下快排算法;以及什么是穩(wěn)定性排序,快排是穩(wěn)定性的嗎;快排算法最差情況推導(dǎo)公式

5、哈希

1、請你來說一說hash表的實現(xiàn),包括STL中的哈希桶長度常數(shù)。

2、請你回答一下hash表如何rehash,以及怎么處理其中保存的資源

3、請你說一下哈希表的桶個數(shù)為什么是質(zhì)數(shù),合數(shù)有何不妥?

4、請你說一下解決hash沖突的方法

5、請你說一說哈希沖突的解決方法

6、動態(tài)規(guī)劃

1、請你手寫代碼:最長公共連續(xù)子序列

2、手寫代碼:求一個字符串最長回文子串

3、手寫代碼:查找最長回文子串

7、鏈表

1.請你手寫代碼,如何合并兩個有序鏈表

2、手寫代碼:反轉(zhuǎn)鏈表

3、判斷一個鏈表是否為回文鏈表,說出你的思路并手寫代碼

4、請你手寫鏈表反轉(zhuǎn)

5、什么是單向鏈表,如何判斷兩個單向鏈表是否相交

7、高級算法

1、如果讓你做自然語言理解(NLU),在處理語言規(guī)則的時候大概會用到什么算法

2、請問加密方法都有哪些

3、什么是LRU緩存

4、請你說一說洗牌算法

8、字符串

1、給你一個字符串,找出第一個不重復(fù)的字符,如“abbbabcd”,則第一個不重復(fù)就是c

六、項目相關(guān)

1、請你回答一下git中Merge和rebase區(qū)別

七、設(shè)計模式

1、請問你用過哪些設(shè)計模式,介紹一下單例模式的多線程安全問題

2、請問你了解哪些設(shè)計模式?

3、請問如何保證單例模式只有唯一實例?你知道的都有哪些方法?

4、請你說一說OOP的設(shè)計模式的五項原則

5、請你說說工廠模式的優(yōu)點(diǎn)?

6、請你說一下觀察者模式

7、請你介紹一下單例模式

8、單例模式中的懶漢加載,如果并發(fā)訪問該怎么做?

9、裝飾器模式和單例模式,使用單例模式應(yīng)該注意什么

八、場景題

1、給你兩個球,100層樓,每個球在一定高度扔下去會碎,怎么用最少的次數(shù)給判斷是幾層樓能把求摔碎?

九、分布式與架構(gòu)

1、分布式緩存和分布式存儲的設(shè)計

C++考點(diǎn)部分的考點(diǎn)答案看這里:

附C++知識點(diǎn)思維導(dǎo)圖和答案~

機(jī)器學(xué)習(xí)/算法校招面試考點(diǎn)匯總(附面試題和答案)【持續(xù)更新】_筆經(jīng)面經(jīng)_牛客網(wǎng) www.nowcoder.com 如何準(zhǔn)備互聯(lián)網(wǎng)技術(shù)崗位的面試筆試?

---------------------------

由于篇幅的限制,暫時只能放這3個方向的了。

除了這3個方向的,??瓦€匯總了 前端、測試崗位的考點(diǎn)匯總,50W字的匯總都在這里了(附答案):

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI