精華區beta Tech_Job 關於我們 聯絡資訊
今天去面試的時候,公司先拿了一張C語言考卷給我寫, 先承認,我不是每題都會寫,而且還不小心用到VB的語法 (% 用 Mod) 主管看了我寫的那幾題,問我:「你寫的是C語言嗎?」「是阿,請問有哪個語法錯了嗎?」 他先告訴我C沒有 Mod,才發現自己用錯 (我當助教教了整學期VB,有時候會在VB行末打";") 不過他說,他知道這是取餘數 但是下面這行又讓他更疑惑 (N Mod 2)&&(敘述式1,敘述式2); /*誤用Mod前面已經解釋過*/             我解釋,如果N是奇數,就執行敘述式1,2, 敘述式1,2都是在做幾何運算,幾何運算的結果最後要return出去 「&&是在做邏輯判斷啊,你怎麼會拿來計算?」 「我沒看過這種寫法,你是第一個這樣寫的!」 然後我一直跟主管解釋左右括號的運算順位不同,IDE會最佳化可以不用if等等的 「你這是C++的語法吧!C complier不會過」 我又解釋,我都把這樣的東西寫到8051裡面,這一定是C的語法 已經不知道怎麼解釋了,當下真的很難堪 「這個逗號是什麼? C有這樣寫的嗎?」 我又說那是把兩個不同敘述式隔開,不用換行,而且都會執行 以前去面試我為了Demo專題都會帶NB,一定當場拿出來跑給主管看, 這次是騎單車去,加上又是美商, 所以我只帶專題報告和大學成績單,結果根本連拿出來的機會都沒有 「如果"&&"compiler會過,我再叫你來」 然後我灰頭土臉的回來了 我想可能真的是自己的問題,所以回來第一件事情就是打開 keil 3 寫了51測試程式 RI&&(('L'==SBUF)&&(P1=~P1,RI=0)); 結果這行compiling竟然過,而且MCU能按照UART收到的指令執行 我想精明的外商主管絕對不可能弄錯的,一定有堅強的程式實力和經驗才能幹到這個位子 這一定是: 1. 我的51都從實驗室的垃圾堆裡面撿來用的,可能被之前的學長燒壞了 2. 全華圖書的光碟有問題,竟然給我盜版的keil 3. AMI臨時人事凍結,主管不好意思直接叫我滾回家,讓我演一場知難而退的戲 AMI 真是一家為人著想的好公司呢! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.165.222 ※ 編輯: deo2000 來自: 140.122.165.222 (01/11 18:41)
ngu770502:寫Code 要寫得讓人看得懂,可維護性也很重要 01/11 18:41
ngu770502:除非是要調效能,不然用太刁鑽或冷門的寫法會被當垃圾= = 01/11 18:42
我有解釋,以前做專題曾遇到速度瓶頸,我找了很多最佳化的方式來解決問題 ※ 編輯: deo2000 來自: 140.122.165.222 (01/11 18:47)
s8013011:你沒反問主管C的&&要怎寫 01/11 19:19
他說那只能做邏輯運算,不接受我說的短路運算子概念 ※ 編輯: deo2000 來自: 140.122.165.222 (01/11 19:21)
apap:主管回去發現真的會過 就再叫你來啦 不要太悲觀了 囧 01/11 19:26
要是真的有這個心確認,就會當場coding了吧 ※ 編輯: deo2000 來自: 140.122.165.222 (01/11 19:28)
pinkowa:你不應該回嘴的,有些只是看你的心態而已,就算真的會過, 01/11 19:29
pinkowa:發現你真的有料,也會認定你難帶...(主觀強) 01/11 19:30
我用很誠懇的態度想跟主管解釋啊,哭哭 ※ 編輯: deo2000 來自: 140.122.165.222 (01/11 19:31)
s8013011:不去也罷 下一間 01/11 19:34
goliathplus:這種寫法可讀性太差 沒必要還是不要用吧 01/11 19:35
SNSDpk5566:你有看過short code那本書吧 01/11 19:52
qmomo:團隊合作是溝通 > coding, 總覺得你很酸 01/11 20:10
garynetlier:請問最佳化的說法是您自己判斷還是改參數做過實驗呢? 01/11 20:14
silentence:原PO事後的吐槽也要酸 嘖嘖 01/11 20:14
silentence: 有人 01/11 20:31
wsxokmty:好特別的寫法 RI&&..... 那邊 01/11 20:53
stosto:很多人這樣寫吧....至少我研究所就看過不少 01/11 21:04
iversonman:他只是一間假美商而已..薪水低到靠北 去那邊幹嘛... 01/11 21:07
jlhc:樓上研究所這樣寫跟出去是兩回事..... 01/11 21:07
WolfLord:那我寫的CODE那位先生一定發瘋:P 01/11 21:11
deo2000:樓上教的,我沒看過short code,不過您介紹了我就有興趣看 01/11 21:23
Huskycat:如果你有談到錢的話應該就不會想去了吧 01/11 21:30
cccssszzz:除了討論語法 還有其他的嗎? 止討論這個擺明不想用你吧 01/11 21:36
應該是主管認為我基本C語法大有問題,所以其他的連談都不想談吧 ※ 編輯: deo2000 來自: 140.122.165.222 (01/11 21:43)
beggerchou:效能最佳化怎麼不寫組語呢? 01/11 21:43
1.考題限定C 2.我不會ASM ※ 編輯: deo2000 來自: 140.122.165.222 (01/11 21:45)
leav:C語言標準並沒有保證&&左右的執行順序,所以有潛在風險... 01/11 21:54
leav:而且業界有在要求coding style,這行應該會被lint tool抓出來 01/11 22:00
DarkWanderer:不,C語言標準有保證順序 01/11 22:02
DarkWanderer:"&& operator guarantees left-to-right evaluation" 01/11 22:03
boss0405:印象中AMI的考題都蠻基本的,可以用可讀性較高的寫法會比 01/11 22:09
boss0405:較好 01/11 22:09
stosto:編譯技巧 在研究所與出去外面工作是一樣的 觀念正確就可以 01/11 22:11
stosto:寫出這種語法,不過現在也很多人不會在意這種事情 01/11 22:12
stosto:因為編譯器實在做得太好 01/11 22:12
stosto:有很多人看不起研究所的程式碼,殊不知現在業界一堆比研究 01/11 22:13
stosto:所編譯技巧與習慣還差的... 01/11 22:13
zhi5566:你可以跑沒用 換個編輯器就掛了 像你這種標準寫法 要找錯 01/11 22:18
zhi5566:就是一行一行找 最佳化 2的倍數沒人在用MOD..... 01/11 22:22
zhi5566:另外現在ARM粉強大 CODE寫的清楚明白好維護才是重點 01/11 22:25
flowheart:寫code就是在寫文章,你這種寫法很難看懂 01/11 22:27
yoco315:沒用你是正確的,寫這種code的隊友我會想打他 01/11 22:39
manlike:高手都是用 && || , if else 都是越少越好~ 01/11 22:55
ohha0221:你這寫法 有bug的話 不容易看出問題在哪 因為通通塞在 01/11 23:05
ohha0221:同一行 一行裡還包兩個運算式 不容易trace 01/11 23:06
ohha0221:另外code寫的短 不代表他執行的快 你要看編譯出來的組語 01/11 23:11
ohha0221:數量 跟 指令的速度 很多東西complier甚至都幫你最佳化 01/11 23:11
ohha0221:完了 不管你有沒有用這些小技巧 編譯出來的組語都會一樣 01/11 23:12
cphe:code寫得難懂不代表技巧高明,可以多多trace別人寫的code 01/11 23:25
cphe:看多了,你大概就能分辨什麼樣的code才是高手寫的 01/11 23:25
ohha0221:另外這麼在乎速度 你的判斷奇偶也可以改成 (N&1) 用mod 01/11 23:32
學到一招,感謝!都忘記看LSB就好了
eterbless:AMI一年到頭都在徵人..是都增不完? 01/11 23:34
※ 編輯: deo2000 來自: 140.122.165.222 (01/11 23:37)
ohha0221:這種含除法運算的 是快不了哪去的 01/11 23:39
b6byc:這間挺奇怪的,時常徵人. 01/11 23:40
a1e:&& complier不會過才是見鬼了吧.... 01/11 23:48
這位主管似乎是認為&&與||只能放在if、while後的括號裡,且單獨與運算子存在不合法 ※ 編輯: deo2000 來自: 140.122.165.222 (01/11 23:57)
caca117:你的寫法是沒有問題, 但是你有考慮過這份工作所寫的code 01/12 00:09
caca117:並不是只有你一個人用嗎? 這樣子的寫法 可讀性差! 01/12 00:10
caca117:也不方便debug! 或許你更適合自己一個人獨自完成的工作! 01/12 00:10
WolfLord:其實,SHORT CODE是完全合法甚至才是真正原生的C語法, 01/12 00:20
caca117:以下我是從網站中看來的 我覺得還不錯 分享一下 01/12 00:20
caca117:不要覺得寫到別人看不懂才能證明自己的功力高深. 01/12 00:20
caca117:寫大家都看不懂的東西誰都會 01/12 00:20
caca117:但是寫到每個人都可以看得懂就真正是一門大學問了。 01/12 00:20
WolfLord:樓上一堆指責SHORT CODE的人其實只能說根本不懂C,事實上 01/12 00:21
WolfLord:係現在很多所謂的正統CODE都是為了寫給人看才變成這個樣 01/12 00:21
caca117:樓上 你隨便去找一份coding style都會叫你不要這樣子寫 01/12 00:22