顯示廣告
隱藏 ✕
看板 SuperTree
作者 dick51207 (dick51207.bbs@ptt.cc)
標題 [閒聊] interview 心得
時間 2014年07月31日 Thu. PM 08:23:15


※ 本文轉寄自 dick51207.bbs@ptt.cc

看板 Soft_Job
作者 DarkKiller (System hacked)
標題 [閒聊] interview 心得
時間 Thu Jul 31 05:05:17 2014


這篇要講的不是面試者,是以面試官的立場寫下一些心得。

7/28~7/30 到南部去面試,排了 21 個人,有 4 個放鳥所以只面試到 17 個
人,大多都是網站後端相關的職缺,也有一些 API Engineer 與資訊系統的職
缺。

這次面試都是從 104 上找,以大學或碩班新鮮人為主。只要符合這些條件我都
請我們家 HR 聯絡來談:(是 OR 不是 AND)

1. 有 Programming 工作經驗。
1. 剛畢業/退伍,資工/資科/資管畢業。
2. 剛畢業/退伍,有任何資訊相關的作品。
3. 剛畢業/退伍,自傳寫得還可以的。

挑履歷的標準應該是不算高...

我 interview 的習慣是一律從面試開始,先說明投的這個職缺要做什麼事情,
然後跟面試者先確認這是不是他要投的職缺。

(因為偶爾會遇到投錯職缺的,確認後可以省下大家時間...)

接下來就是問一些工作上會用到的技術相關的問題。以網站後端、API
Engineer 以及資訊系統來說,因為主要都是跟資料庫有關,所以大多都是先從
資料庫起頭開始問:

* 請列出 RDBMS 裡的 JOIN 有哪些。

  答案可以參考 https://en.wikipedia.org/wiki/Join_(SQL) 這邊。

  大概有一半的人一個都答不出來,可以講出的人我會要他說明他列出的 JOIN
  在這種圖的表示法:

  https://i.imgur.com/7BIsxZn.png
[圖]
 

  各種千奇百怪的答案都會出現 XD

* 請說明資料庫裡 Transaction 是做什麼的。

  答案可以參考 https://en.wikipedia.org/wiki/Database_transaction 這
Database transaction - Wikipedia, the free encyclopedia
A transaction comprises a unit of work performed within a database management system (or similar system) against a database, and treated in a coherent and reliable way independent of other transactions. Transactions in a database environment have two main purposes: ...
 
  邊。

  大概也是有一半的人會回答「不知道」,有蠻多人以為 transaction 就只是
  Atomic 的特性。

  如果大概還講的出東西來的我會再問 ACID 的四個特性。

  關於 ACID,可以參考 https://en.wikipedia.org/wiki/ACID 這邊,不過只
ACID - Wikipedia, the free encyclopedia In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties that guarantee that database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction. For example, a transfer of funds from one ba ...
 
  有兩個人有被問到 ACID,其中一個只答得出 AC,另外一個對 CID 都用掰的。

* Primary Key、Unique Key、Index Key 的差異

  已經是比較偏實務上會碰到的議題了,不過超過一半不知道差異。甚至會說
  他之前的工作用不到 Index Key... XD

  可以參考 https://en.wikipedia.org/wiki/Database_index 這邊,不過維
Database index - Wikipedia, the free encyclopedia
A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of additional writes and the use of more storage space to maintain the extra copy of data. Indexes are used to quickly locate data without having to search every row in a databas ...
 
  基百科這邊的資料比較偏學術上的說明。

* 資料庫的「正規化」做了什麼事情?解決了什麼問題?

  也大約是一半的人答不出來。答得出來的我會問 1NF 做什麼,然後所有人都
  在這題掛掉...

  參考 https://en.wikipedia.org/wiki/Database_normalization 與
Database normalization - Wikipedia, the free encyclopedia
[圖]
[圖]
[圖]
When an attempt is made to modify (update, insert into, or delete from) a table, undesired side-effects may follow. Not all tables can suffer from these side-effects; rather, the side-effects can only arise in tables that have not been sufficiently normalized. An insufficiently normalized table migh ...
 
  https://en.wikipedia.org/wiki/First_normal_form 這邊。
First normal form - Wikipedia, the free encyclopedia The designer then becomes aware of a requirement to record multiple telephone numbers for some customers. He reasons that the simplest way of doing this is to allow the "Telephone Number" field in any given record to contain more than one value: ...
 

這些資料庫理論是工作上比較會碰到的東西。我不太喜歡問 SQL 語法怎麼下,
主要是因為這些語法各家都不太一樣,真的用到時查一查就好了。而觀念的東
西才是難教的,interview 的時候問這些鑑別度還算高...

接下來我會問一下資料結構與演算法的東西:

* Stack 與 Queue 的差異?

  熱身用的題目,大多數人都答的出來。不過還是有唸了四年資工的人說不出
  來,讓我囧在那邊...

* Priority Queue (Heap) 是什麼?

  有些人是「聽過,但忘記了」,有些人是完全沒聽過,基本上就是都不知道...

* Tree、Binary Tree、Binary Search Tree、Balanaced B.S.T. 的差異?

  意外的是大約一半的人不知道 Tree 與 Binary Tree 的差異,就更不用說後
  面這幾個的差異了...

  可以把四個資料結構的差異都講出來的有兩位,我就問了 AVL tree 與 RB
  tree 的差異,然後就掛掉...

* QuickSort 與 MergeSort 的差異?

  這兩個都是經典的演算法,不論是學校還是職場上都會花很多時間教或是用
  到的經典演算法。

  兩者的差異隨便列出來應該就一堆,不過情況比想像中的有趣...

  像是 O(logN) 的 QuickSort 與 O(N) 的 MergeSort。或是把 BubbleSort
  當作 MergeSort 在講...

  如果面試者不知道要從哪裡開始的話,我都會提示「時間複雜度」會是一個
  方向。不過都答不太出來...

  有好幾個面試者都有提到 Divide-and-Conquer,然後被我反問哪一個是
  Divide-and-Conquer 哪一個不是?

然後我有時會要求用手寫一些程式 (不限程式語言,也不需要 include 之類的
步驟,重點有表達出來就好):

* 九九乘法表。

  請不要小看這個題目.................................................

* isPrime(n)。
* GCD(n, m) 與 LCM(n, m) (最大公因數、最小公倍數)。

  死亡率還是很高的題目。

講一下心得好了。

我 interview 的習慣是問到答不出來為止,這樣我才會知道會多少東西。通常
都是從基礎的東西開始問,而蠻意外的是,大多數人都會死在起跑點...

本來 Programming 的東西還打算考 Eight Queen 之類的問題,不過後來還是
下修再下修...

另外一個我還蠻喜歡問資工畢業生的問題是,「你都唸了四 (六) 年的資工,
知道資訊領域最高獎項是什麼嗎?」

還蠻意外的是大多數人都不知道 :p

https://en.wikipedia.org/wiki/Turing_Award
Turing Award - Wikipedia, the free encyclopedia
The ACM A.M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) to "an individual selected for contributions of a technical nature made to the computing community". It is stipulated that "The contributions should be of lasting and major technical importance to the ...
 






最後問一下,有人要投履歷嗎?

--
                                                Resistance is futile.
                           http://blog.gslin.org/ & <gslin@gslin.org>

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.90.16
※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1406754326.A.A72.html
※ 同主題文章:
Eos:其實你問東西的很多台灣業界根本用不到 更別說應屆畢業的了...1F 07/31 05:26
Eos:剛考完研究所的應該可以回答出你大部份的問題 但那是你要的嗎
DarkKiller:會用不到嗎?我們的確全部都會用到啊?3F 07/31 05:42
lovdkkkk:我覺得這些是工作越久的可能越答不出來4F 07/31 06:18
lovdkkkk:每一項我都曾經很熟, 演算法的全都推過並用 ANSI C 寫過
lovdkkkk:但剛一看還是很多忘了...只要復習一小時就能全回來吧 @@
mrforget:面試兩個多月,除正規化沒被問過,其他都被問過。7F 07/31 06:25
mrforget:心得是能被仔細的面試是一種福氣。
idleidle:資工所不考DB,DB確很常用.9F 07/31 06:35
idleidle:DS+演算法,挑好學校的碩班,答得出比例應很高
idleidle:不過 這篇是徵才文無誤.XD
shizeng:用不到index key,蠻怪的!12F 07/31 07:23
ichico:我覺得transaction的ACID最常用到的的確是A啊XD13F 07/31 07:25
ichico:那三個Key還有Join是蠻常用的,但Join常用的也就那三個吧
ichico:我是真的很少用self join XD
ichico:然後一看發現我演算法真的忘了耶 只用高階語言的缺點
guitaryuan:這樣問法是需要即戰力嗎?17F 07/31 08:04
manlike:薪水多少?18F 07/31 08:19
ccpz:推DK19F 07/31 08:43
bndan:DB部份其實不一定(有些系DB非必修)但下半部答不出來就....嗯20F 07/31 09:26
bndan:另外"剛退伍".這畢竟也可能是問題 ~_~
chrisyanglom:資料庫都不會,可是資結演算法應該都答得出來OK嗎XD22F 07/31 09:31
yyc1217:如果是我就準備一台筆電在旁 當場答不出來就GOOGLE給我看23F 07/31 10:12
yyc1217:能下對關鍵字google到答案就ok
kaitokid2:剛修完資料結構可能可以答不少出來,當完一年兵保證忘光25F 07/31 10:14
hSATAC:崩潰~~26F 07/31 10:24
a83294:我覺得對於一般大學生,剛退伍叫他們回答這個太不人道了XD27F 07/31 10:24
fowei:像我都只是一知半解. 但給我google我就可以找出解答28F 07/31 10:25
fowei:我個人覺得除非工作屬性需要即時. 不然其實這些用到不多
fowei:就像index key, 我知道, 但不太熟. 當有TABLE變慢時. 我會想
fowei:然後去google, 暸解加快 query的方法.. 就會了. 大概半小時
gohpx:這些問題超熟的..我大概知道D大是何人了...32F 07/31 10:32
gohpx:不過這些問題..回答不出不代表不會用..但會講會用才是好的吧
oneheat:好難,全部都不會怎麼辦??34F 07/31 10:53
oneheat:最有趣的是,我確定考研究所的學生應該都很會
manlike:而且 Priority Queue 和 Heap 不一樣~36F 07/31 10:57
gohpx:讓人能上網查 那些問題有經驗的也都不太會是問題37F 07/31 10:57
descent:要問倒人真的太容易了, 找本面試書的題目就夠38F 07/31 10:58
descent:不知道你怎麼挑人, 那些人的特質你會選他
manlike:只不過 Priority Queue 通常用 Heap 實做出來40F 07/31 10:59
descent:應該不會是只有答出正確答案的人41F 07/31 10:59
oneheat:以tree為例,問那麼多tree的差異幹嘛?42F 07/31 11:03
oneheat:我都是問他知不知道XX tree,不知道的話會稍微介紹一下,
oneheat:再出個應用題,問他這種case,用哪一種tree好,理由在哪
frank11118:我物理系資結演算法都能答了45F 07/31 11:08
yyc1217:我覺得現在比的已經不是誰記得多 而是誰找得快46F 07/31 11:11
yseric:最高榮譽有另一個叫Jolt,是best book47F 07/31 11:12
MIKEmike07:推推DK大48F 07/31 11:23
a926:只知道一些..不過db的部分.我也是db query變慢才會調效說49F 07/31 11:28
noonecanstop:資工系學生可不像你一天八小時都在做資料庫50F 07/31 11:36
KASUGAOSAKA:面試前的確要溫習演算法,沒溫習一定掛51F 07/31 11:40
edward13:慘了我嘴巴都回不太出來 只能用code的出來怎辦52F 07/31 11:42
robler:剛考完研究所的時候都答的出來,現在只答的出來一半吧53F 07/31 12:28
andymai:資料庫改用 redis 惹~已哭 Q_Q54F 07/31 13:06
ia:可以聽到一些面試官的聲音..加分惹55F 07/31 13:33
enthos:都忘光了。跟想像的後端不一樣。56F 07/31 14:29
fantasysea:像學生時期的期末考題, 面試時我應該會被電慘慘XD57F 07/31 14:37
OnlyRD:真的蠻用心的面試,但的確不是每個業界都會用到。58F 07/31 14:38
OnlyRD:有些強者工作幾年都沒碰過這些的話,猛一問搞不好還真問倒
OnlyRD:但是你是面試新鮮人,CS畢業生不懂的確比較奇怪。
einhander:你們公司不能上網?還是都在考試?61F 07/31 14:49
jack0204:我剛畢業DB沒學好,都在寫C的驅動程式跟Linux系統62F 07/31 15:22
jack0204:現在改寫網頁,很多都用過但名詞很多不知道
luciferii:像研究所考題+1 XD64F 07/31 16:14
Twinkling:我們現在找人看的都是 個性態度 >> 這些專業能力65F 07/31 16:36
Twinkling:當然完全都不知道也是不行  不過個性真的很重要就是
Twinkling:這些東西要pick up起來   根本一兩周就可以了
Twinkling:但是個性跟態度則是決定了根本上的差異....才是關鍵所在
knt:推樓上,個性態度真的比較重要...這東西沒辦法pickup阿69F 07/31 16:45
pennymarkfox:還真的都忘光光了耶70F 07/31 16:49
enthos:聯想到這一段 game.163.com/special/news/gushihui025.html71F 07/31 16:49
enthos:他一題未答,大筆一揮,在卷子末尾寫了“慢慢聊”三個字
enthos:面試官一拍桌子,“你比我強!我給你提比我還高的工資!”
bobju:當年我準備研究所考試時,這些程度都題目都算小case; 但現在74F 07/31 17:48
bobju:再看, 超過一半的題目我都沒把握能夠答得令考官滿意
bobju:像高中聯考一樣,當年考上第一志願,現在去考恐怕連倒數第一志
bobju:願的沒把握,太久沒用上早就都生疏掉了
DrTech:所以直接看學校名稱,與成績單就夠了,根本不用浪費時間78F 07/31 18:43
DrTech:驗證別人升學題目準備得好不好。
petingo:可以問一下最後錄取幾個&他們大概答了幾題嗎??80F 07/31 18:44
PTT007:知道最高獎項是什麼有比較厲害嗎  你拿過是嗎81F 07/31 20:19

--
※ 看板: SuperTree 文章推薦值: 0 目前人氣: 0 累積人氣: 34 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇