推 maxisam:我也是記憶力不太好的 所以 我面試可能要準備一下 04/19 00:06
推 Erickung:我知道大部分面試考coding可以寫pseudo 或是自己熟的語言 04/19 12:20
→ Erickung:目的應該也是看你怎麼樣去思考而已 而不是要你一定寫的正 04/19 12:21
→ Erickung:當然寫的正確就代表你真的是很熟阿~ 應該也無庸置疑的 04/19 12:21
推 Baudelaire:in-place swap也不容易啊 :P 04/19 19:32
推 Nigel:看過最難忘的swap是xor swap 04/21 02:40
→ Nigel:#define SWAP(a,b) a^=b^=a^=b 04/21 02:41
推 Baudelaire:果然大家都背過XOR swap XD 04/21 13:52
推 maxisam:這更扯 單純為考程式而寫的吧 team work這樣寫 04/21 14:53
→ maxisam:出bug要抓誰找的到 ? 覺得要最佳化的時候可以用比較 04/21 14:54
→ maxisam:刁的寫法 但是 一開始建構的時候 這樣寫不會降低發展效率? 04/21 14:57
→ TechSlave:我有時候會故意在程式裡把一些地方寫的很難懂,不過這不 04/21 21:31
→ TechSlave:是出於專業考量,只是一些政治手腕的考量,增加自己被取 04/21 21:32
→ TechSlave:代會給公司增加的成本而已!算是一些小步數啦...... 04/21 21:34
→ TechSlave:還有搞懂同事不擅長的是哪些,就盡量用那些方法寫 04/21 21:36
→ TechSlave:不過遇過同事硬要改我的code,結果又看不懂改的亂七八糟 04/21 21:40
→ TechSlave:bug滿滿一堆就不管了丟回來叫我debug的例子就是了 04/21 21:41
> -------------------------------------------------------------------------- <
作者: LINC (Go cubs!) 看板: Job
標題: Re: [問題] WSN的工作好找嗎 ?
時間: Fri Apr 20 21:10:00 2007
※ 引述《TechSlave (I am a nomad)》之銘言:
: 我同意你的觀點,真實的世界有是這樣沒錯
: 不過我一直想不通的是,為什麼找人的時候要把花一個月就學會的東西
: 看的比那種得花一年才學的會的東西更重要?
我也同意你的觀點 大部分的面試官都不是好的面試官
我覺得有幾種題目是我同事會出但是是很爛的題目:
- 請寫SQL select statement <- 真的是有夠無聊 你可在30秒內google出來
- 請問你有沒用過MySQL, cvs, Eclipse, 跟Java RMI <- 用過又如何???
我的題目很簡單 也可以說有挑戰性 只有你寫過C 完全不需要任何
特殊的knowledge也能答的出來(例如懂某些pthread library) 我稍微提一下好了:
void swap(int *xp, int*yp)
1. 請寫出implementation
那個被我面試的人寫如下:
void swap(int *xp, int *yp) {
int temp = *xp;
*xp = *yp;
*yp = temp;
}
所以他就過了第一關(不過我真的面試過有人無法過第一關的, 即使叫她用她最
懂的programming language!)
2. 請問你覺得滿意嗎? 有個蠻明顯的問題在你的code!
他看了很久 就放棄了說他不知道orz
(Null pointer)
3. In place swap, 也就是說不用additional variable
這題他也是放棄 最後還是我寫給他答案:
*xp = *xp + *yp;
*yp = *xp - *yp;
*xp = *xp - *yp;
4. 不過這種寫法還是有問題(除了Null pointer之外)
他有答對一個 是integer overflow的問題
不過還有一個比較難 大部分的人應該都不知道的
e.g: int x = 3;
swap(&x, &x);
還有不少thread的問題 不過我想還是算了...沒那麼多時間浪費
其實那天我interview兩個人 另外一個是UPenn的學長(雖然美國人沒這樣在叫:P)
他很坦白就說他從大學畢業後就沒在碰C 不過你知道嗎? 雖然他很久沒碰C
不過 我只給他一些提示跟review一下pointer 他幾乎每一題都答對!!
除了第四題答對一半(那個overflow他也看出來了)
還是說一下為什麼這些小細節是面試重視的 而不重視研究所的東西?
實際的理由是沒有辦法在一個小時裡問你一年內作的研究 除非是我研究所
專精的東西 否則candidate一定是outsmart than me
要說其他的理由 我想Joel有個很好的解釋:
"我認為人們所犯的某些大錯雖然錯在最高的架構層,但其實是因為不夠瞭解
或想錯某些在最底層很簡單的事情。你可能建了一座雄偉的宮殿,可是地基
卻是一塌糊塗。本來應該用好的水泥磚,結果卻用了碎石頭。所以宮殿看起
來雖然華麗,可是浴缸卻時常移位,而你根本不知道怎麼回事。"
http://local.joelonsoftware.com/mediawiki/index.php/
The_Joel_on_Software_Translation_Project:%E5%9B%9E%E6%AD%B8%E5%8E%9F%E9%BB%9E
--
※ 發信站: 批踢踢參(ptt3.cc)
◆ From: 141.158.246.50
推 Baudelaire:大推這一篇,in-place我看過用 a=a^b b=a^b a=a^b :P 04/20 21:18
→ LINC:是的, 上面那個我不久前也看過了 04/20 21:29
推 maxisam:考 in-place有實用性嗎 @@? 04/20 22:49
推 maxisam:我覺得只有在embedded systems有限制記憶體容量 04/20 23:08
→ maxisam:才有可能發生要這樣做 但是 機率也很小 04/20 23:09
推 maxisam:還有 我還以為第一題答案有錯 XD 想了快10分鐘 04/20 23:13
→ maxisam:結果 往下捲才看到那行字 他這堤答對 冏~ 04/20 23:13
→ TechSlave:我也是!第一題正常人好像很少這樣寫的!都給pointer了 04/21 07:17
→ TechSlave:還用pass by value怪怪的 04/21 07:19
→ irene7:關於那個不用temp, 我覺得,若你之前沒看過這樣的作法,臨時 04/21 08:25
→ irene7:那個人之前有沒有背過這種考題, 或是在別家公司面試時有沒 04/21 08:27
→ irene7:有被問過相同的問題, 實在和那個人的能力無關. 04/21 08:28
→ irene7:這種問題臨時給你幾分鐘去想,跟本想不出來.也許是我笨吧 04/21 08:31
→ irene7:ps, 我是指那個 + -的方法哦 04/21 08:32
推 irene7:+-是那麼簡單,不過好像從學c起,就被訓練了用temp和XOR! orz 04/21 08:41
推 maxisam:我倒是覺得 不一定跟能力無關 但是要有提示 04/21 14:50
→ maxisam:比如說 不考慮浪費運算時間之類的 04/21 14:50