→ andymai:進資訊產業容不容易是看人~而不是看系吧~還是我遇到的是特 03/28 01:36
→ andymai:例?而且...四大裡還不只一個~還不只是學士...Orz 03/28 01:38
→ sedgewick:32 歲非電機資訊, 對 C 沒經驗而想找 C 的工作, 這個... 03/28 01:44
→ sedgewick:我敢說即使是台大出身的都有點難, 因為用人主官會怕. 03/28 01:45
→ sedgewick:但是年紀往下減個三四年救大家搶著要了, 無經驗可, 科科 03/28 01:46
推 dnabossking:請教一下大大,走big data有機會是因為技術剛起步嗎? 03/28 01:50
→ dnabossking:如果真的要求職,能否請問該如何準備呢? 03/28 01:52
→ sedgewick:找工作這個因人而異, 我也不知道... 03/28 01:56
→ sedgewick:至於 big data 那段其實有點諷刺啦, 千萬不要太認真. 03/28 01:56
→ sedgewick:找一些 SQL/Python/Ruby 相關的工作應該都有機會. 03/28 01:57
→ sedgewick:然後工作機會最多的應該是 Java 開頭的那一票咚咚. 03/28 01:57
→ dnabossking:呵呵,瞭解,總之還是感謝您的回覆 03/28 01:58
→ sedgewick:當然, 還有 Objective-C + Cocoa... 科科. 03/28 01:58
→ dostey:有很大的風險.年紀是現實的 03/28 03:12
推 tyc5116:能不能公佈一下那段程式的答案,很詭異XD 03/28 08:36
推 ninepoints:沒有標準答案吧,看compiler跟processor吧,但也許有wa 03/28 08:42
→ ninepoints:rning 03/28 08:42
→ lovdkkkk:應該就是看有沒有一塊夠大的記憶體能用, 沒有就掰掰 03/28 09:51
推 Assyla:可以隨地大小便這比喻讓我大笑啊 03/28 10:27
→ aknow:不就 array index out of range ? 03/28 12:35
推 mymaydayya:n的值都一樣,type變short有差嗎 03/28 13:01
→ firose:char 會提升為 int 吧 若 short 不行難道 char 可以? 03/28 13:04
推 a47135:嘴上說 C, 腦袋裡裝 assembly, 寫出來是大便<-看到這句我笑 03/28 13:05
→ a47135:了XD 03/28 13:05
推 ac94865358:short在16位元系統跟32位元系統好像不一樣? 03/28 14:20
→ aknow:unsigned n=4, -n 會變為一個很大的正值 03/28 14:46
→ aknow:char 8 bit, short 16 bit, 6553x 會超出一開始配置的 mem 03/28 14:47
→ aknow:喔 我好像弄錯了 QQ 03/28 15:03
推 asleisureto:不管有經驗沒經驗 會寫出s[-4]這種鳥東西的真是奇葩 03/28 17:09
推 loveflames:我不知道C跟C++一不一樣,s[-4]在C++等同*(s-4) 03/28 17:47
→ loveflames:是合法的語法,實務上我還看過更奇怪的,像是0[p] 03/28 17:48
→ firose:原PO可能搞錯~ n=-4 與 n=4 再 -n 不同~ 03/28 19:18
推 mymaydayya:原po到底是指short還是unsigned short? 03/28 19:33
→ sedgewick:其實是 unsigned short, 不過寫這麼明白容易被抓包. 03/28 19:54
→ sedgewick:然後 aknow 板胞說到了關鍵的重點, type promotion. 03/28 19:55
→ sedgewick:至於 s[-4] 這種寫法還蠻常見的, 尤其是排序時... 03/28 19:56
→ sedgewick:問題在於 type promotion 在不同家的 compiler 會有差異 03/28 19:57
→ sedgewick:遵循 unsigned short -> int 的就不會有事. 03/28 19:58
→ sedgewick:但是保留 unsigned short 的就會炸掉. 03/28 19:58
→ firose:照這種說法, unsigned char 也是一樣, promotion 與否結果 03/28 20:02
→ firose:不同, 變成結果是不可信賴的, 即便它沒當機 03/28 20:02
→ sedgewick:哦對, char 不管怎麼變頂多就是 252 或者 -4, 所以沒當 03/28 20:04
→ sedgewick:沒錯, 但這種 s[-n] 的寫法通常都留兩倍以上的 buffer 03/28 20:05
→ sedgewick:所以很可能大家看到的結果仍然是對的(倒) 03/28 20:06
→ firose:重點是 -4 跟 252 取到的結果根本不同, 這 code 就是錯的 03/28 20:06
→ firose:當不當機是另外的問題吧 03/28 20:06
→ sedgewick:這段程式當然有問題... 但是不一定會發現就是了. 03/28 20:08
→ sedgewick:所以我才說是「魔物」啊... 03/28 20:08
推 f1234518456:真的一堆這種的 常常死的都不知道怎麼死的... 03/28 22:12
→ ggg12345:一群嘴上說C,腦袋裡裝assembly的會叫compiler列出組語,很 03/29 17:11
→ ggg12345:快就會發現換type後,造出個超範圍的值.type轉換本就敏感! 03/29 17:16
→ ggg12345:這是基礎知識與如何善用工具協助的問題,跟年紀無關! 03/29 17:19
→ ggg12345:隔行如隔山,若把遠處黃金都當大便,那也是視力或感官問題! 03/29 17:22
→ sedgewick:我就是跟這群人工作, 天天這樣笑他們, 他們也承認. 科科 03/29 17:57
→ sedgewick:不會有人去把 5,000 行的程式轉成組語的, 我說真的 03/29 17:58
→ sedgewick:他們厲害的地方是我寫的那句... 03/29 17:58
→ sedgewick:「一個 ALU 需要幾個 cycle 以完成一次 operation... 」 03/29 17:58
→ ggg12345:懂C跟組語轉換的會知道換type嚴重性,也不會全換組語debug 03/29 18:12
→ ggg12345:指令幾個cycle手冊就有,再不濟也有道具.解決問題才是重點 03/29 18:16
→ sedgewick:雖然他們就在我隔壁部門... 03/29 18:18
→ sedgewick:不過我自知那個 cycle count 要我查那是查不出來的 03/29 18:18
→ sedgewick:反過來說, C 轉 assembly 在一定複雜度之上也沒那麼簡單 03/29 18:19
→ sedgewick:撞見一個 recursion 那些人就全掛, 絕不唬爛. 03/29 18:19
→ ggg12345:做code optimization的,不會喜歡recursion法,效率不好! 03/29 21:01
→ sedgewick:沒錯, 不過偶爾就是會遇到, 這也是無可奈何(攤手) 03/29 21:06