這些基本功問題,算是給還在唸書的人一點參考吧。
如果你說你修過演算法/資料結構…
- 解釋時間複雜度?空間複雜度?兩者之間的關係?
- 請解釋以下幾種資料結合及運作方式: hash, heap, stack, tree
- 請提出一種時間複雜度為 NlogN 的演算法,並用你熟悉的語言寫出來
如果你說你修過作業系統/計算機系統…
- process & thread 有何不同?
- 決定 cache 效能的兩個指標?
- 什麼是同步化?要怎麼寫?
- 什麼是 deadlock?要怎麼解決?
如果你說你會寫程式…
- 什麼是 call by value?什麼是 call by reference?兩者的優缺點?
- 寫一個迴圈來看看?
- 寫一個遞迴來看看?
- 什麼是 function 的 signature?回傳值能不能是 signature 的一部份?
- 什麼是 static function?什麼是 static variable?
如果你說你會資料庫…
- 什麼是 normalization?為什麼要做 normalization?
- 解釋 inner join, left (outer) join, right (outer) join
- table 為什麼要做 index? 舉一個做 index 有用的例子和沒用的例子?
如果你說你會 C/C++…
- 請搞懂 pointer
如果你說你會 JAVA…
- 請搞懂 OOP
如果你說你會 PERL…
- 請搞懂 Regular Expression
如果你說你會 PHP…
- 給你半小時應該要能生出一個 Hello, Pesty 的網頁 (當然,Pesty 是 form input 的)
如果你說你會 TCP/IP…
- 把下面幾個服務依使用到的原理照 OSI 層排序: http, telnet, DNS, MAC Address, ping, session, vpn
- 解釋 class A, B, C, 和 class-less
如果你說你會 UNIX….
- 怎麼把 ls 的結果導到 /tmp/test.txt 中?
- 為什麼平常操作不該用 root?
read more