星期六, 7月 17, 2004

今日Interview 好搞笑.

有個written test, 第一題係咁樣的.
A[0][0] = a; A[0][1] = b; A[0][2] = c;
A[1][0] = d; A[1][1] = e; A[1][2] = f;
要做個B 出黎..
B[0]=a; B[1]=b; B[2]=c;
B[3]=d; B[4]=e; B[5]=f;
provide 一個'preferred method'

咁我寫個nested for loop, 佢話唔o岩, 我話係唔同情況下, 有所謂唔同o既'preferred' method. 係無講明如何決定咩叫'preferred', 我會揀nested for loop, for its clarity. 如有唔同需要, 可以例如用single for loop, 用/ 同% 計index, 甚至用memory copy, etc.

佢後來講話想要的答案係 B=&A[0][0]; 問我知唔知係咩. 我當然知(有咩我唔知? 嘿嘿), 但我話唔'prefer' 呢個方法, 因為A同B 會share 同一段memory, 可能會有人assign value 俾B, 唔覺意郁左A, and 題目無寫明A 的dimension. 係唔知dimension 情況下, 無可能咁寫.

跟住佢就好唔like, 猛講話之前d programmers, 好多唔肯'放低身段', 咁實搞唔掂個program, 佢地成班staff 都有PHD on EE, 又好多patents, 又好多publications 云云. 我見佢咁stubborn,盡最後嘗試兜個圈解釋, 範疇唔同, 唔同人有唔同諗法, 如果係知道唔怕人overwrite 左A, 用& 的方法當然無問題, 所以key point 係溝通. 溝通係互動過程, 你出問題, 我做solution, 有你覺得唔夠好的地, 再修改. 最緊要係做到最後大家接受的result. 佢回應話第一次做solution時, 唔明就問清楚, 不接受做左再改. 好明顯佢係想搵d 佢講一, 你唔會講二o既programmer. 所以胡扯了一輪, 八掛完佢公司係做咩o既就算了.

得出o既教訓係: 有d 人, 尤其係做'學術的'始終都係好執著要有一個'獨一'答案, 唔能夠接納不同意見. 佢地諗野永遠都係ideal case, 如剛才的題目, expect 答題者會知道A/B 可以memory overlap, 又預先知道A的dimensions. 所以可以'一次過'做出best solution, 誰不知尋求共識係一個互動過程, 我無可能知道晒你諗咩你有咩資訊, 反之亦言, 所以合作做野, 要預留空間, 大家摸索.

你會問, 咁總結今次Interview, 係成功定失敗? 我會話, 成功地了解到佢地不適合我, 但失敗地不能跳糟.

0 Comments:

發佈留言

<< Home