Monday, July 24, 2017

IT人搵工攻略(1):Technical Test

打工仔每一次轉工都要接受interview嘅考驗,而IT界嘅interview更加係千奇百趣,其中最重要嘅一環就係technical test

口頭問答

IT人見工,好多時都會問technical問題。用口問其實已經係最普通嘅一種,基本上每一次interview都必然會出現口頭technical test

呢類問題係最易答,因為好多時interviewer用口問嘅問題係即時諗出黎,即時諗嘅嘢,可以有幾深呢?就算唔係即時諗,但只用口,唔用圖表或圖形去表達,難極都有個譜,所以一般嚟講都係比較容易。

舉個例子,佢可能問:「Java入面,邊個package唔需要import呢?」呢種問題,寫開Java嘅應該順口就答到,但如果你寫開C++,就未必會識答。又或者問:「一般情況下,SSH係用邊個port呢?」呢類問題簡單得嚟又可以有效地測試candidate係咪真係有特定範圍嘅知識,對interviewer而言係幾方便嘅。

筆試

如果係應徵DeveloperProgrammer呢類entry level嘅職位,我諗以上嘅問題已經足夠去睇個candidate係咪有相關知識。但如果講緊System Analyst比較資深少少嘅職位,口頭問答未必分到邊個高、邊個低,咁就需要一個詳細少少嘅technical test

所以,好多公司都會準備一份paper畀你做。你必須用筆去做晒成份卷,記住係筆,唔係電腦,就算份卷有啲問題係要你寫code,你都要用筆寫。呢類technical test大部份都只係MC,只有大概20-30%係要寫code,就算要寫code,好多時都只係兩、三行填充,而唔係由零開始寫。

不過,其實MC題目都可以好長,可能係用一、兩頁A4紙印咗一大堆code出黎,然後一次過問幾題MC。最典型嘅問題係問你成段code能唔能夠compile,又或者問你行完個program之後會見到啲咩。

呢類型technical test可以考驗candidate點樣即時運用觀察力去睇條問題,有冇足夠智力同知識去解答,同埋喺壓力之下會唔會緊張到諗唔到嘢。不過,間間公司出嘅題目都唔同,有啲technical test會問你Java API嘅細節,而唔係個conceptalgorithm,咁呢啲就真係變咗質,因為咁樣同叫你背code冇乜分別。

Online Technical Test

所以我其實主張考得technical test嘅話,不如搵部上到網嘅電腦,畀candidate直接寫code。其實有啲公司已經係咁做,甚至係叫你嚟interview之前,先喺屋企做左online technical test先。而我相信呢種模式都會係將來technical test嘅大方向。

Online technical test通常只有一至兩題,全部係寫code問題。俾得你上網,題目當然唔會容易做。呢類technical test目的係要考驗candidate嘅解難能力,通常題目都會同sortingsearching呢類algorithm有關,又或者會考你識唔識好好利用唔同類型嘅data structure

以下呢題係我自己親身見過嘅一題online technical test,我覺得可以用嚟當作練習題,所以同大家分享

1. 已有一個array int A[N] 入面係integer, 可正可負
2. 假設 0 <= P <= Q < N
3. X =A[P] + A[Q] + (Q-P)

寫一個program,搵出最大的X值;而space complexity必須係O(1)time complexity必須係O(N)

坊間有好多網站都會列出呢啲類似嘅模擬試題,大家見工前不妨搵嚟練習吓。



此文章在jobsDB刊登

No comments: