標籤:blog http 使用 資料 os art
Linux後台開發應該具備技能
分類: 雜談 2013-04-14 12:45 741人閱讀 評論(0) 收藏 舉報
Linux後台開發應該具備技能
一、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操作,如果讓你設計,你怎麼設計?