10 Feb 是第一次面試,面試官是 James Lin,技術組的組長。這個組的工作內容是除了遊戲之外的系統問題都是。鈊象是做博奕電玩起家的。14:00 一進去是管理部的 Miss Chen 領我進去,沒想到第一關居然是做智力測驗 和 binary arithmetic,智力測驗這種東西對於我這種從小即不是資優生來說,缺少許多練習,做起來雖不難,可還是會緊張,心跳加快下做完限時 43 mins 的兩份智力測驗。而 Binary arithmetic 的話更是窘困!哈!十題裡有五題是猜的,有看出來是做 AND, NOT, OR, XOR, 2's,其餘的就不想花時間了,趕緊用猜的! XDDD
約 15:15 James 進來了,第一個話題扯了很久; SGI O2。沒錯,是我當兵服役單位使用的機器,我們由這個話題開始扯 parallel computing 和寫 multithreading 的話題。扯到 17:30 中途上廁所後才開始制式的面試問答。聊些大學所學的事情,算是整個人格分析的了解題目,我有遇到 Google 的搞笑題目:
請問台灣到 San Francisco airport 的距離是多少?
ans: 可以打電話問機場櫃台人員里程數。
那如果沒有櫃台可以問呢?而且我要知道直線距離呢?
... ... 把地球儀切開,量台灣到機場的距離,在乘以縮放比例。
OK :)
這個只是茶水題目,純屬放鬆,哈!
前面結束接著是技術性題目,問 1)亂術打亂字串的方法,及 2) 雞兔同籠的二元一次方程式的問題。1) 我用 sudoku 的亂數方式,靠!真的是把問題給「高竿化」,搞得這個問題最後因為寫的太複雜了,漏洞百出。話了約二十分鐘在說明功能,吐血。2) 雞兔的腳共 70 支,雞兔的頭數總和是 20 個,求雞兔的頭數最大值。一開始沒有提示是二元一次的類型,見到題目只想寫 code,還一度誤以為是 gcd(),浪費了 20 分鐘。接著用暴力法,求 pair,求不出來,浪費了 20 分鐘。James 見我卡關,提示先簡化問題,給了二元一次的原式。數學太久沒做會變鈍,以下的式子我直接做,沒有先簡化:
#Formula
x + y = 20 ... (1)
2x + 4y = 70 ... (2)
第一步應該是要先減化成:
x + y = 20 ... (1)
x + 2y = 35 ... (3)
接著解:
(1) -> x = 20 - y
(3)
-> 20 - y + 2y = 35
-> y = 15
Hence, x = 20 - 15 = 5
#Solution
x = 5
y = 15
#End
以上的結果讓我心情低迷了下來,James 也見我不再有活力,好心地安慰著我不要因為這樣就沮喪,因為這是一個常見的通病!他說了一個論點讓我也認同。台灣的工程師寫程式的品質平均都算優秀,寫出來的 code 可以又短又有效率,可以稱上奇技淫巧。可是為什麼台灣工程師在亞洲不出色,反而是阿三或日本奪走應當由台灣封冠的美名呢?有一個原因是,台灣的工程師或者是說民族性,有一種「不服氣」的個性。一個大專案非得要很多人一起做才有效益,若是連溝通都有問題的話,就像巴別塔 (Tower of Babel) 的故事一樣,做不成。James 舉了一個簡單的例子給我聽:
一個台灣人可以抵三個阿三用。
三個台灣人只能和一個阿三拼。
這是多麼可惜的觀察。我自己也有小心得,0x209 團隊裏面也曾發生相似的事情,「不服氣」這種問題該如何排解呢?費心思!
結束第一次的面試出來,已經 20:00 了,在樓下枯等的老爸,遇到一個出門忘了帶手機的笨兒子,真是絕配,只能等很久的份而已。老爸辛苦了!回到家都已經 22:30 了,很累!回想起來是很充實的!
5 則留言:
三個台灣人只能和一個阿三拼。
感同身受。
不見得!
太多大環境因素
不該這麼悲觀、篤定、主觀!
Sorry....純粹好奇
二元一次方程式...這個用看的都知道答案了,面試怎麼會考這種東西?
你真的是面試工程師嗎?
Hi,
是考怎麼用程式解,並非心算。你若遇見 James,問他看看這個是應徵工程師的題目嗎?
所以~你已經在鈊象裡面了??
張貼留言