找工作?該復習了!


我把我找工作中遇到的知識點統計了下,並歸類了下,希望可以幫到正在找工作的童鞋們!

如果覺得有需要增加的可以添加到評論中,方便其他園友復習。

一、C

①基本函數實現
swap()
reverse()
strcpy()
②五個存儲區
③內存對齊
④數組名問題
int a[10];
int *p=a;
p++;p+1;a+1;
a++;//錯誤,數組名是常量

二、C++

①static的作用
②const的作用
③四個類型轉換
static_cast<>;
dynamic_cast<>;
const_cast<>;
reinterpret_cast<>;
④placement new
規定對象的存儲位置
placement new機制初探
⑤淺拷貝和深拷貝
析構函數,operator=(),拷貝構造函數,三者一般同時自定義(自定義了一個則需定義其它兩個)
⑥在C++中引用C的函數和變量
在前面加extern "C"
⑦虛析構函數的作用
防止內存泄露

三、數據結構

①鏈表
創建、添加、刪除
②查找時間對比
棧、隊列、二叉排序樹、hash表
③Btree,Hash

四、算法

①排序
插入:直接插入、希爾
交換:冒泡、快速
選擇:直接選擇、堆排序
歸並排序
基數排序
②最短路徑
計算一個節點到其他所有節點的最短路徑:Dijkstra算法
算法是解決任意兩點間的最短路徑的一種算法:Floyd-Warshall算法
③貪心法
貪心算法解決部分背包問題
④動態規划
動態規划法之背包問題

五、數據庫

①基本語句
數據庫基本語句
②常用聚合函數
MIN(),MAX(),COUNT(),AVG(),SUM()
③查詢語句
數據庫查詢語句

六、操作系統
①線程和進程的區別
1、 線程是進程的一部分,所以線程有的時候被稱為是輕權進程或者輕量級進程。
2、 一個沒有線程的進程是可以被看作單線程的,如果一個進程內擁有多個進程,進程的執行過程不是一條線(線程)的,而是多條線(線程)共同完成的。
3、 系統在運行的時候會為每個進程分配不同的內存區域,但是不會為線程分配內存(線程所使用的資源是它所屬的進程的資源),線程組只能共享資源。那就是說,出了CPU之外(線程在運行的時候要占用CPU資源),計算機內部的軟硬件資源的分配與線程無關,線程只能共享它所屬進程的資源。
4、 與進程的控制表PCB相似,線程也有自己的控制表TCB,但是TCB中所保存的線程狀態比PCB表中少多了。
5、 進程是系統所有資源分配時候的一個基本單位,擁有一個完整的虛擬空間地址,並不依賴線程而獨立存在。

②進程同步的方式
管道/FIFO/共享內存/消息隊列/信號

③線程同步的方式
臨界區:通過對多線程的串行化來訪問公共資源或一段代碼,速度快,適合控制數據訪問
互斥量:為協調共同對一個共享資源的單獨訪問而設計的
信號量:為控制一個具有有限數量用戶資源而設計
事件:用來通知線程有一些事件已發生,從而啟動后繼任務的開始

④進程間通訊的方式
管道:速度慢,容量有限
消息隊列:容量受到系統限制,且要注意第一次讀的時候,要考慮上一次沒有讀完數據的問題。
信號量:不能傳遞復雜消息,只能用來同步
共享內存區:能夠很容易控制容量,速度快,但要保持同步,比如一個進程在寫的時候,另一個進程要注意讀寫的問題,相當於線程中的線程安全,當然,共享內存區同樣可以用作線程間通訊,不過沒這個必要,線程間本來就已經共享了一塊內存的。

⑤死鎖的四個必要條件
互斥條件(Mutual exclusion):資源不能被共享,只能由一個進程使用。
請求與保持條件(Hold and wait):已經得到資源的進程可以再次申請新的資源。
非剝奪條件(No pre-emption):已經分配的資源不能從相應的進程中被強制地剝奪。
循環等待條件(Circular wait):系統中若干進程組成環路,改環路中每個進程都在等待相鄰進程正占用的資源。

⑥處理死鎖的策略
忽略該問題。例如鴕鳥算法,該算法可以應用在極少發生死鎖的的情況下。為什么叫鴕鳥算法呢,因為傳說中鴕鳥看到危險就把頭埋在地底下,可能鴕鳥覺得看不到危險也就沒危險了吧。跟掩耳盜鈴有點像;
檢測死鎖並且恢復;
仔細地對資源進行動態分配,以避免死鎖;
通過破除死鎖四個必要條件之一,來防止死鎖產生;

七、計算機網絡

①TCP和UDP
1。基於連接與無連接
2。對系統資源的要求(TCP較多,UDP少)
3。UDP程序結構較簡單
4。流模式與數據報模式
5。TCP保證數據正確性,UDP可能丟包,TCP保證數據順序,UDP不保證

②TCP/IP四層協議
網絡接口層、網間網層、傳輸層、應用層

③OSI七層網絡協議
OSI的7層從上到下分別是
7 應用層
6 表示層
5 會話層
4 傳輸層
3 網絡層
2 數據鏈路層
1 物理層

④五種網絡I/O
Unix網絡編程中的的五種I/O模型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM