Re: [閒聊] interview 心得

作者: DarkKiller (System hacked)   2014-07-31 11:52:25
※ 引述《DarkKiller (System hacked)》之銘言:
: * 請列出 RDBMS 裡的 JOIN 有哪些。
對於有 SQL 經驗的工程師,或是有 Oracle 證照的人,我預期能夠列出幾種
JOIN 方式。
新鮮人的部份,如果有帶成績單的話我會看一下有沒有修過資料庫的課程,有
些人有打工經驗有寫過這類 SQL query 的也通常答得出一些。
講的出的人大多都會講到 LEFT JOIN (left outer join) 或是 INNER JOIN。
: * 請說明資料庫裡 Transaction 是做什麼的。
有修過資料庫課程應該要講的出東西來,就算只講 atomic 特性也行。
非社會新鮮人,有講出 BEGIN 與 COMMIT/ROLLBACK 也行,大多都是會說明
atomic 的特性。
講例子也可以,大多數用例子的人都是講出「銀行轉帳」的經典範例。
: * Primary Key、Unique Key、Index Key 的差異
我的預期是講得出「一個表格裡面最多有一個 Primary Key」。或是 Index
Key 通常是為了效能而設置。
我有遇過有人講得出 Unique Key 與 PK 的其中一個差異:允許 NULL 得欄位。
: * 資料庫的「正規化」做了什麼事情?解決了什麼問題?
有講到 data dedup 與 consistency 都算大概有抓到重點。
1NF 答的出來的人大多都是做過系統分析與系統設計的人,算是他們吃飯工具
的一環。(SA/SD)
: * Stack 與 Queue 的差異?
這是熱身,大概是大一或大二教的東西,你在白板上畫個三分鐘總知道誰是先
進先出。
: * Priority Queue (Heap) 是什麼?
這是白板上把 Stack 擦掉後,把 Queue 前面加上 Priority 這個字,然後補
充說明如果不知道 Priority Queue 的話可以拿 Heap 說明。
我發現很多人知道 Heap (但是忘記在做什麼) 但不知道 Priority Queue,所
以後來問問題的時候都會拉出來講。
也的確有人知道 Priority Queue 卻不知道 Heap。
也有人如同推文講的,點出 Heap 是實作 Priority Queue 的一種資料結構,
這位其他也答的很不錯,已經每個禮拜吃下午茶一陣子了。
: * Tree、Binary Tree、Binary Search Tree、Balanaced B.S.T. 的差異?
問這個最主要要知道大一或大二學的 tree 還記得多少,實務上我們有一些程
式在追蹤程式效能時也有用到。
我的預期是至少要知道 tree 與 binary tree 的差異。
: * QuickSort 與 MergeSort 的差異?
這題如果答得出東西來當然很好,但我另外一個很重要想要知道的目的是,如
果你不會還是一直掰,我會有負面分數。
另外這題也是在看面試者的臨場反應,有些人的確只記得 QuickSort 與
MergeSort 的名字,但已經忘記所有東西了。
但這些人會說他記得 BubbleSort 與 SelectionSort,然後可以透過演算法推
導出 O(n^2) 的時間複雜度。
: * 九九乘法表。
: * isPrime(n)。
: * GCD(n, m) 與 LCM(n, m) (最大公因數、最小公倍數)。
我的預期是前兩題應該要寫的出來,即使有 syntax error 也沒關係,重點是
把問題在腦袋裡想出演算法,然後轉成程式試著實作。
作者: linlin76 (linlin76)   2014-07-31 11:56:00
更想知道對於這樣要求的薪資範圍大概是多少?
作者: TonyQ (自立而後立人。)   2014-07-31 11:57:00
DK 在的某公司在高雄跟台北設點,我記得薪資待遇也還算不錯
作者: oneheat (等待)   2014-07-31 12:04:00
這應該是那間會叫你寫白板那間的人吧問tree的差異,不如告訴他幾種tree,然後出個應用題,更能知道這個人的邏輯思考能力到哪
作者: wens (文思)   2014-07-31 12:13:00
"這位其他也答的很不錯,已經每個禮拜吃下午茶一陣子了。" XD
作者: sunsamy   2014-07-31 12:31:00
不覺得會答這樣的題目的人很會實做,沒必然關係
作者: qrtt1 (有些事,有時候。。。)   2014-07-31 12:58:00
作者: bleed1979 (十三)   2014-07-31 13:07:00
我看原po大概沒面試過ACM比賽的人吧,把低級當有趣。
作者: ufo0531 (UFO)   2014-07-31 13:07:00
我遇過你不試著亂掰就說你很容易放棄的
作者: calqlus (白夢の繭)   2014-07-31 14:31:00
考這種申論題還亂掰就有負面分數
作者: bndan (seed)   2014-07-31 14:35:00
亂掰和"嘗試用破碎知識回答".老實講還蠻難分的...
作者: Abbee (阿比)   2014-07-31 14:41:00
我遇過可以將這些講得頭頭是道的人,但叫他coding,他就作不出來,只會想辦法將手上的工作全往伙伴那裡丟,再接收伙伴作好的成果至於那位很會講的人,平時不是打瞌睡,就是到處聊天,順便在伙伴背後放箭,說伙伴的能力很差,都要靠他教
作者: lovelycateye (我還想要更多力量)   2014-07-31 18:06:00
意圖使人想吃下午茶啦~~~
作者: remmurds (Stronghold)   2014-07-31 20:43:00
把低級當有趣 +1
作者: atpx (秋雨的心情)   2014-08-01 23:01:00
有些東西其實都是死記的, 考太細也不會有鑑別度就算有實務經驗也不見得都還記得不如問問為什麼要反正規化? 有什麼好處?考考SQL select的下法, 看看組出來是否夠有效率

Links booklink

Contact Us: admin [ a t ] ucptt.com