close
題目來源:http://pesty.yichi.org/blog/2008/06/24/cs_interview_questions/
以下的解答是我隨便亂寫的,請勿當真,後果自行負責 XD
如果你說你修過演算法/資料結構…
- 解釋時間複雜度?空間複雜度?兩者之間的關係?
- 沒人問過,略
- 請解釋以下幾種資料結合及運作方式: hash, heap, stack, tree
- hash : key->value 的 mapping,簡單做法是把 key 算出一個值X,把value塞到array[X]裡,其實也沒人問過
- heap:沒人問過,跳過
- stack:後進先出
- tree:就是那個樣子
- 其實比較常問的是array, stack, queue, linked-list這幾個
- 請提出一種時間複雜度為 NlogN 的演算法,並用你熟悉的語言寫出來
- 沒記錯的話quick sort是NlogN的,不過也沒有人問過
如果你說你修過作業系統/計算機系統…
- process & thread 有何不同?
- 常見題,最大的差別是有沒有共用資源
- 決定 cache 效能的兩個指標?
- 沒人問過,跳過
- 什麼是同步化?要怎麼寫?
- 沒人問過,跳過
- 什麼是 deadlock?要怎麼解決?
- 沒人問過,跳過
如果你說你會寫程式…
- 什麼是 call by value?什麼是 call by reference?兩者的優缺點?
- 常見題,by value會有複製行為,對於效能有負面的影響
- by reference會導致caller與callee共用同一變數,有時候其實不希望這樣
- 寫一個迴圈來看看?
- 寫一個遞迴來看看?
- 工研院&acer的考法:寫出費式數列(1,1,2,3,5,8...)的迴圈版與遞迴版
- 什麼是 function 的 signature?回傳值能不能是 signature 的一部份?
- 沒人問過,跳過
- 什麼是 static function?什麼是 static variable?
- 幾乎是必考題,C&C++共有五組答案
如果你說你會資料庫…
- 什麼是 normalization?為什麼要做 normalization?
- 解釋 inner join, left (outer) join, right (outer) join
- table 為什麼要做 index? 舉一個做 index 有用的例子和沒用的例子?
- 我不會資料庫,跳過
如果你說你會 C/C++…
- 請搞懂 pointer
- 常考題:bit運算、call by value/reference
如果你說你會 JAVA…
- 請搞懂 OOP
- 我遇過考Java的只有HTC,網路上有考古題可以看XD
如果你說你會 PERL…
- 請搞懂 Regular Expression
- 沒遇過關心Perl的公司,反而有在問python的,不過都說進去再學就好
如果你說你會 PHP…
- 給你半小時應該要能生出一個 Hello, Pesty 的網頁 (當然,Pesty 是 form input 的)
- 不會PHP,跳過
如果你說你會 TCP/IP…
- 把下面幾個服務依使用到的原理照 OSI 層排序: http, telnet, DNS, MAC Address, ping, session, vpn
- 沒人這樣考,跳過
- 解釋 class A, B, C, 和 class-less
- 同上
如果你說你會 UNIX….
-
怎麼把 ls 的結果導到 /tmp/test.txt 中?
ls > /tmp/test.txt
-
為什麼平常操作不該用 root?
因為root只要手滑了就無法挽回
全站熱搜
留言列表