Linux必會內容

轉發自http://www.cnblogs.com/lou424/p/5501459.html

一、linux和os:

1、命令:netstat tcpdump ipcs ipcrm  這四個命令的熟練掌握程度基本上能體現實際開發和調試程序的經驗

2、cpu 內存 硬盤 等等與系統性能調試相關的命令必須熟練掌握,設置修改權限 tcp網絡狀態查看 各進程狀態 抓包相關等相關命令 必須熟練掌握

3、awk sed需掌握

4、共享內存的使用實現原理、然後共享內存段被映射進進程空間之後,存在於進程空間的什麼位置?共享內存段最大限制是多少?

5、c++進程內存空間分佈(注意各部分的內存地址誰高誰低,注意棧從高道低分配,堆從低到高分配)

6、ELF是什麼?其大小與程序中全局變量的是否初始化有什麼關係(注意.bss段)

7、使用過哪些進程間通訊機制,並詳細說明

8、makefile編寫,雖然比較基礎,但是會被問到

9、gdb調試相關的經驗,會被問到

10、如何定位內存泄露?

11、動態鏈接和靜態鏈接的區別

12、32位系統一個進程最多多少堆內存

13、多線程和多進程的區別(重點 必須從cpu調度,上下文切換,數據共享,多核cup利用率,資源佔用,等等各方面回答,然後有一個問題必須會被問到:哪些東西是一個線程私有的?答案中必須包含寄存器,否則悲催)

14、寫一個c程序辨別系統是64位 or 32位

15、寫一個c程序辨別系統是大端or小端字節序

16、信號:列出常見的信號,信號怎麼處理?

17、i++是否原子操作?並解釋爲什麼???????

18、說出你所知道的各類linux系統的各類同步機制(重點),什麼是死鎖?如何避免死鎖(每個技術面試官必問)

19、列舉說明linux系統的各類異步機制

20、exit() _exit()的區別?

21、如何實現守護進程?

22、linux的內存管理機制是什麼?

23、linux的任務調度機制是什麼?

24、標準庫函數和系統調用的區別?

25、補充一個坑爹坑爹坑爹坑爹的問題:系統如何將一個信號通知到進程?

 

二、c語言:

1、宏定義和展開(必須精通)

2、位操作(必須精通)

3、指針操作和計算(必須精通)

4、內存分配(必須精通)

5、各類庫函數必須非常熟練的實現

6、哪些庫函數屬於高危函數,爲什麼?(strcpy等等)

 

三、c++:

1、一個String類的完整實現必須很快速寫出來(注意:賦值構造,operator=是關鍵)

2、虛函數的作用和實現原理(必問必考,實現原理必須很熟)

3、sizeof一個類求大小(注意成員變量,函數,虛函數,繼承等等對大小的影響)

4、指針和引用的區別(一般都會問到)

5、多重類構造和析構的順序

6、stl各容器的實現原理(必考)

7、extern c 是幹啥的,(必須將編譯器的函數名修飾的機制解答的很透徹)

8、volatile是幹啥用的,(必須將cpu的寄存器緩存機制回答的很透徹)

9、static const等等的用法,(能說出越多越好)

四、數據結構或者算法

1、《離散數學》範圍內的一切問題皆由可能被深入問到(這個最坑爹,最重要,最體現功底,最能加分,特別是各類樹結構的實現和應用)

2、各類排序:大根堆的實現,快排(如何避免最糟糕的狀態?),bitmap的運用等等

3、hash, 任何一個技術面試官必問(例如爲什麼一般hashtable的桶數會取一個素數?如何有效避免hash結果值的碰撞)

 

五、網絡編程:

1、tcp與udp的區別(必問)

2、udp調用connect有什麼作用?

3、tcp連接中時序圖,狀態圖,必須非常非常熟練

4、socket服務端的實現,select和epoll的區別(必問)

5、epoll哪些觸發模式,有啥區別?(必須非常詳盡的解釋水平觸發和邊緣觸發的區別,以及邊緣觸發在編程中要做哪些更多的確認)

6、大規模連接上來,併發模型怎麼設計

7、tcp結束連接怎麼握手,time_wait狀態是什麼,爲什麼會有time_wait狀態?哪一方會有time_wait狀態,如何避免time_wait狀態佔用資源(必須回答的詳細)

8、tcp頭多少字節?哪些字段?(必問)

9、什麼是滑動窗口(必問)

10、connect會阻塞,怎麼解決?(必考必問,提示:設置非阻塞,返回之後用select檢測狀態)

11、如果select返回可讀,結果只讀到0字節,什麼情況?

12、keepalive 是什麼東東?如何使用?

13、列舉你所知道的tcp選項,並說明其作用。

14、socket什麼情況下可讀?

 

六、db:
1、MySQL,會考sql語言,服務器數據庫大規模數據怎麼設計,db各種性能指標

最後2、:補充一個最最重要,最最坑爹,最最有難度的一個題目:一個每秒百萬級訪問量的互聯網服務器,每個訪問都有數據計算和I/O操作,如果讓你設計,你怎麼設計?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章