Re: [請益] 我是不是程式設計師的料?
※ 引述《administer (系統管理者)》之銘言:
: 作為一名受害者,我要勇敢上來踢爆sedgewick大大您的見解有偏差
: 以證明批踢踢真der害人不淺QAQ
咳, 抱歉這個嘛... 咳咳, 其實有下半卷沒講.
順便跟大家分享一下我的經驗. :P
既然是 job 類板, 我也來寫一些關於面試錄取與否的咚咚.
: ※ 引述《sedgewick (三分熟的鬧鐘)》之銘言:
: : hsundo 兄不要氣餒, 不過你這個程式是真的要改一下.
: 這週小妹弟被導航王公司通知面試工程師
: 過去前一個小時要寫考卷,其中有一題是C++閏年題
: 正當小妹弟躊躇該怎麼寫比較能展現我的高度智商時
: 突然腦中靈光一閃,我相信最簡單的程式就是最好的程式
: 經過版上大大的教誨更是自信十足
: 於是就遵照sedgewick大大的示範
: 我依樣畫葫蘆:
: printf("2000, 2004, 2008 ... 2100\n");
: ↑
: 中間太長懶的列
這個程式的數字如果全對(去掉尾巴那個 2100 還沒有其他錯誤).
那其實也還好, 甚至不要錯太離譜嘛... 也還好.
請聽我道來...
以程式訓練而言, 九九乘法表當然是基本中的基本.
另外什麼費氏數列也是基本題, 科科.
不過通常面試不會只考基本題, 譬如九九乘法表會有所謂的進階題.
我可以洩幾題我的題庫給大家看.
類似題一:
假設用 1000x1000x1000 的三維矩陣表示一個 1μm x 1μm x 1μm 的空間.
A.) 每個矩陣元素有一個既定的數字叫做溫度 T.
請以程式概念表達如何計算 gradient(T) 與 laplacian(T).
B.) 每個矩陣元素有一個既定的向量叫做電場 E.
請以程式概念表達如何計算 curl(E) 與 divergence(E).
C.) 請預測 A.) 與 B.) 程式的困難處會是哪些?
PS: 我會把所有數學符號的運算方法全部寫出來, 這個不必猜.
類似題二:
請寫程式計算橢圓 x^2 + 4y^2 = 1 的周長.
並估計
1.) 計算誤差
2.) 程式執行所需的時間
PS-1: 老規矩, 會給線積分的形式, 不過要自己會轉成差分.
PS-2: 這有另一個變形是求 x^2 + 2y^2 + 3z^2 = 1 的表面積.
這一類叫做數值方法的入門題.
專門考驗一個人有沒有辦法把數學形式轉成電腦可以處理的形式.
以我的經驗, 每個可以在「引導下」把問題答完的面試人員...
都會是非常優秀的程式人員.
看職位也可能考難一點的.
譬如說 sin(1/x) = 0 在 10^-20 到 1 之間有幾個解之類的.
至於這些題目嘛, 我通常不知道標準答案, 但是我會知道答案是不是正確方向.
第二種是機率跟排列組合之類的問題.
一次考足資料結構跟演算法.
基本題當然是 1A2B 那種咚咚.
進階題就很多啦, 譬如寫一個模擬 Buffon's needle 的程式.
或者寫一個預測等電梯時間的程式.
或者又寫個大樂透用一萬元包牌, 號碼要怎麼選, 期望值才會高的程式.
老話一句, 在「引導下」可以答得很好的人, 通常程式也寫得不錯.
總之九九乘法表或者萬年曆怎麼寫根本就不重要.
它們其實只是壓驚用的題目.
避免應徵人員被一堆奇怪的問題嚇到無法作答.
而我發現, 被錄取的人都可以很好地回答我所列出來的那些問題.
所以先科科一下.
繼續我們來分享什麼叫做程式技巧...
我覺得最大的苦惱是...
「每個程式員都只會重構他看得懂的部分. 」
而且..................會充滿熱情.
讓我最幹的一點是, 通常這些在整組程式當中只是無關痛癢的東西.
有人會認真跟我討論一百筆資料的排序該怎麼寫, 而不必呼叫 qsort().
問題是這個東西了不起佔個 1ppm 的運算量.
另外佔了 30% CPU time, 一個 selection rule 寫了一萬五千行的「片段」.
完全視而不見... 因為看不懂.
還會有人跟我討論這個 if 跟某一個 if 應該併在一起.
因為什麼又什麼(通常是因為 condition 在那個 snapshot 一樣. )
當我說, 那請把那一個十幾層, 總共四千多行的 if-else 處理一下時...
又繼續裝傻.
這些都是真實發生的事情.
而這些看起來非常荒謬的寫法(if-else 寫到數千數萬行)...
通常都是很有名的加速技巧.
譬如我的手上就有一段程式碼, 只有一個 ANSI C function.
但是整個檔案的大小是 4.6MB.
你沒看錯, 這個函式寫了將近 5MB.
當然這鐵定是 code generator 做出來的.
不過我說要把對應的 generation rule 找出來時, 就是不會有人做.
每個人寧可跟我討論這個按鈕應該是紅色還是綠色.
我要說的是, 大家真的覺得一個按鈕是什麼顏色有這麼重要嗎?
當然有時候很重要, 但是有更多的時候不是那麼重要.
所以嘛..............九九乘法表或萬年曆怎麼寫, 會很重要嗎?
好吧, 我也不敢保證.
不過對我來說不是那麼重要, 因為這是標配.
當然我還是會考; 是因為因為因為... 它是給受試者緩和情緒用的.
: 然後我就從古亭捷運站按回卷了QQ
: PS. 它們公司環境很不錯,裝潢讓人心情很放鬆的說~
管理員兄不要傷心, 這是下半卷. :D
話說我的考試沒什麼程式技巧就是了.
譬如我不會問 printf - main 的結果是什麼.
--
新詩練習:新鮮。踩破初春裡的狗大便;不經意的滄桑,滿溢著嫩黃的喜悅。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.57.20
※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1420474305.A.BA6.html
推
01/06 00:23, , 1F
01/06 00:23, 1F
→
01/06 00:27, , 2F
01/06 00:27, 2F
推
01/06 00:29, , 3F
01/06 00:29, 3F
→
01/06 00:30, , 4F
01/06 00:30, 4F
→
01/06 00:31, , 5F
01/06 00:31, 5F
→
01/06 02:17, , 6F
01/06 02:17, 6F
→
01/06 02:18, , 7F
01/06 02:18, 7F
→
01/06 02:19, , 8F
01/06 02:19, 8F
→
01/06 02:21, , 9F
01/06 02:21, 9F
→
01/06 02:21, , 10F
01/06 02:21, 10F
→
01/06 02:25, , 11F
01/06 02:25, 11F
→
01/06 02:25, , 12F
01/06 02:25, 12F
→
01/06 02:26, , 13F
01/06 02:26, 13F
→
01/06 02:27, , 14F
01/06 02:27, 14F
→
01/06 02:28, , 15F
01/06 02:28, 15F
→
01/06 02:29, , 16F
01/06 02:29, 16F
→
01/06 02:29, , 17F
01/06 02:29, 17F
→
01/06 02:30, , 18F
01/06 02:30, 18F
→
01/06 02:31, , 19F
01/06 02:31, 19F
→
01/06 02:36, , 20F
01/06 02:36, 20F
→
01/06 02:37, , 21F
01/06 02:37, 21F
→
01/06 02:38, , 22F
01/06 02:38, 22F
→
01/06 02:39, , 23F
01/06 02:39, 23F
→
01/06 02:39, , 24F
01/06 02:39, 24F
→
01/06 02:40, , 25F
01/06 02:40, 25F
→
01/06 02:41, , 26F
01/06 02:41, 26F
→
01/06 02:42, , 27F
01/06 02:42, 27F
→
01/06 02:42, , 28F
01/06 02:42, 28F
→
01/06 02:43, , 29F
01/06 02:43, 29F
→
01/06 02:43, , 30F
01/06 02:43, 30F
→
01/06 02:44, , 31F
01/06 02:44, 31F
→
01/06 02:45, , 32F
01/06 02:45, 32F
→
01/06 02:46, , 33F
01/06 02:46, 33F
→
01/06 08:11, , 34F
01/06 08:11, 34F
→
01/06 08:16, , 35F
01/06 08:16, 35F
→
01/06 08:22, , 36F
01/06 08:22, 36F
推
01/06 09:19, , 37F
01/06 09:19, 37F
→
01/06 09:22, , 38F
01/06 09:22, 38F
→
01/06 09:24, , 39F
01/06 09:24, 39F
→
01/06 09:32, , 40F
01/06 09:32, 40F
→
01/06 09:32, , 41F
01/06 09:32, 41F
→
01/06 09:34, , 42F
01/06 09:34, 42F
→
01/06 09:35, , 43F
01/06 09:35, 43F
→
01/06 09:37, , 44F
01/06 09:37, 44F
推
01/06 10:57, , 45F
01/06 10:57, 45F
推
01/06 11:50, , 46F
01/06 11:50, 46F
→
01/06 13:19, , 47F
01/06 13:19, 47F
推
01/06 13:34, , 48F
01/06 13:34, 48F
→
01/06 13:34, , 49F
01/06 13:34, 49F
→
01/06 16:22, , 50F
01/06 16:22, 50F
→
01/06 16:23, , 51F
01/06 16:23, 51F
推
01/06 20:02, , 52F
01/06 20:02, 52F
推
01/06 21:51, , 53F
01/06 21:51, 53F
→
01/07 09:02, , 54F
01/07 09:02, 54F
討論串 (同標題文章)