一、linux和os:
1、命令:netstat tcpdump ipcs ipcrm 這四個命令的熟練掌握程度基本上能體現實際開發和除錯程式的經驗
2、cpu 記憶體 硬碟 等等與系統效能除錯相關的命令必須熟練掌握,設定修改許可權 tcp網路狀態檢視 各程序狀態 抓包相關等相關命令 必須熟練掌握
3、awk sed需掌握
4、共享記憶體的使用實現原理、然後共享記憶體段被對映程序式空間之後,存在於程序空間的什麼位置?共享記憶體段最大限制是多少?
5、c++程序記憶體空間分布(注意各部分的記憶體位址誰高誰低,注意棧從高道低分配,堆從低到高分配)
6、elf是什麼?其大小與程式中全域性變數的是否初始化有什麼關係(注意.bss段)
7、使用過哪些程序間通訊機制,並詳細說明
8、makefile編寫,編譯鏈結 雖然比較基礎,但是會被問到 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、什麼是滑動視窗(必問)
11、如果select返回可讀,結果唯讀到0位元組,什麼情況?
12、keepalive 是什麼東東?如何使用?
13、列舉你所知道的tcp選項,並說明其作用。
14、socket什麼情況下可讀?
centos預設yum源是國外的, 速度無法保證,用起來很不爽,今天我們把預設源換成國內的163源,163是目前國內最好用的源,速度是相當快的,還有一些比較好的源,比如阿里源。
1,首先我們把centos7配置為可以上外網的環境
2,進入yum源配置檔案 cd /etc/yum.repos.d
3,備份一下當前的源,以防出錯後可以還原回來mv ./centos-base.repo ./centos-base-repo.bak
5,清理一下舊包 yum clean all
7,生成快取即可用163源了 yum makecache
現在我們就可以用163源來安裝軟體了! 如下我們安裝乙個php
檢視一下,可以看到已經安裝好了:
SQL必知必會 聯結表
sql必知必會 讀書筆記 1.關係表 將這些資料與產品資訊分開儲存的理由市 關鍵是,相同的資料出現多次決不是一件好事,這是關聯式資料庫設計的基礎。關係表的設計就是要把資訊分解成多個表,一類資料乙個表。各表通過共同的值互相關聯 所以才叫關係資料框 所以建立兩個表 乙個儲存 商資訊,另乙個儲存產品資訊。...
MySQL必知必會 運算元據表
建立表 create table 表名稱 id int 11 not null auto increment primary key,name varchar 10 not null,age int 3 not null,varchar 5 grade int 2 class int 3 修改表名稱...
SQL必知必會 建立表和操縱表
sql不僅用於表資料操縱,還用來執行資料庫和表的所有操作,包括表本身的建立和處理 一般有兩種建立表的方式 1.dbms自帶的互動式建立和管理資料庫表的工具 2.表也可以直接sql操縱 sql建立表,可以使用create table語句。互動式工具本質上也是sql語句。使用creat table建立表...