AMI面試主管真是佛心來著 - 面試

Table of Contents

今天去面試的時候,公司先拿了一張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 真是一家為人著想的好公司呢!

--

All Comments

Xanthe avatarXanthe2013-01-14
寫Code 要寫得讓人看得懂,可維護性也很重要
Kumar avatarKumar2013-01-15
除非是要調效能,不然用太刁鑽或冷門的寫法會被當垃圾= =
Hedwig avatarHedwig2013-01-16
你沒反問主管C的&&要怎寫
Hedda avatarHedda2013-01-19
主管回去發現真的會過 就再叫你來啦 不要太悲觀了 囧
Hamiltion avatarHamiltion2013-01-23
你不應該回嘴的,有些只是看你的心態而已,就算真的會過,
Hedda avatarHedda2013-01-25
發現你真的有料,也會認定你難帶...(主觀強)
Zanna avatarZanna2013-01-30
不去也罷 下一間
Linda avatarLinda2013-02-03
這種寫法可讀性太差 沒必要還是不要用吧
Andy avatarAndy2013-02-03
你有看過short code那本書吧
Irma avatarIrma2013-02-04
團隊合作是溝通 > coding, 總覺得你很酸
Irma avatarIrma2013-02-09
請問最佳化的說法是您自己判斷還是改參數做過實驗呢?
Tom avatarTom2013-02-11
原PO事後的吐槽也要酸 嘖嘖
Odelette avatarOdelette2013-02-12
有人
Necoo avatarNecoo2013-02-12
好特別的寫法 RI&&..... 那邊
Odelette avatarOdelette2013-02-16
很多人這樣寫吧....至少我研究所就看過不少
Joseph avatarJoseph2013-02-16
他只是一間假美商而已..薪水低到靠北 去那邊幹嘛...
Tracy avatarTracy2013-02-18
樓上研究所這樣寫跟出去是兩回事.....
Steve avatarSteve2013-02-20
那我寫的CODE那位先生一定發瘋:P
Kelly avatarKelly2013-02-23
樓上教的,我沒看過short code,不過您介紹了我就有興趣看
Tracy avatarTracy2013-02-27
如果你有談到錢的話應該就不會想去了吧
Gilbert avatarGilbert2013-03-01
除了討論語法 還有其他的嗎? 止討論這個擺明不想用你吧
Necoo avatarNecoo2013-03-02
效能最佳化怎麼不寫組語呢?
Rae avatarRae2013-03-03
C語言標準並沒有保證&&左右的執行順序,所以有潛在風險...
Frederic avatarFrederic2013-03-04
而且業界有在要求coding style,這行應該會被lint tool抓出來
David avatarDavid2013-03-06
不,C語言標準有保證順序
Skylar DavisLinda avatarSkylar DavisLinda2013-03-11
"&& operator guarantees left-to-right evaluation"
Puput avatarPuput2013-03-15
印象中AMI的考題都蠻基本的,可以用可讀性較高的寫法會比
較好
Robert avatarRobert2013-03-15
編譯技巧 在研究所與出去外面工作是一樣的 觀念正確就可以
Catherine avatarCatherine2013-03-17
寫出這種語法,不過現在也很多人不會在意這種事情
因為編譯器實在做得太好
Ethan avatarEthan2013-03-20
有很多人看不起研究所的程式碼,殊不知現在業界一堆比研究
所編譯技巧與習慣還差的...
Delia avatarDelia2013-03-21
你可以跑沒用 換個編輯器就掛了 像你這種標準寫法 要找錯
Rebecca avatarRebecca2013-03-24
就是一行一行找 最佳化 2的倍數沒人在用MOD.....
Iris avatarIris2013-03-28
另外現在ARM粉強大 CODE寫的清楚明白好維護才是重點
William avatarWilliam2013-04-01
寫code就是在寫文章,你這種寫法很難看懂
Iris avatarIris2013-04-05
沒用你是正確的,寫這種code的隊友我會想打他
Jake avatarJake2013-04-09
高手都是用 && || , if else 都是越少越好~
Mary avatarMary2013-04-14
你這寫法 有bug的話 不容易看出問題在哪 因為通通塞在
Jake avatarJake2013-04-17
同一行 一行裡還包兩個運算式 不容易trace
Charlotte avatarCharlotte2013-04-19
另外code寫的短 不代表他執行的快 你要看編譯出來的組語
數量 跟 指令的速度 很多東西complier甚至都幫你最佳化
Dinah avatarDinah2013-04-24
完了 不管你有沒有用這些小技巧 編譯出來的組語都會一樣
Rosalind avatarRosalind2013-04-25
code寫得難懂不代表技巧高明,可以多多trace別人寫的code
看多了,你大概就能分辨什麼樣的code才是高手寫的
Agatha avatarAgatha2013-04-30
另外這麼在乎速度 你的判斷奇偶也可以改成 (N&1) 用mod
Genevieve avatarGenevieve2013-05-02
AMI一年到頭都在徵人..是都增不完?
Poppy avatarPoppy2013-05-05
這種含除法運算的 是快不了哪去的
Genevieve avatarGenevieve2013-05-06
這間挺奇怪的,時常徵人.
Tristan Cohan avatarTristan Cohan2013-05-10
&& complier不會過才是見鬼了吧....
Frederica avatarFrederica2013-05-14
你的寫法是沒有問題, 但是你有考慮過這份工作所寫的code
Carol avatarCarol2013-05-18
並不是只有你一個人用嗎? 這樣子的寫法 可讀性差!
也不方便debug! 或許你更適合自己一個人獨自完成的工作!
Selena avatarSelena2013-05-21
其實,SHORT CODE是完全合法甚至才是真正原生的C語法,
Edward Lewis avatarEdward Lewis2013-05-25
以下我是從網站中看來的 我覺得還不錯 分享一下
不要覺得寫到別人看不懂才能證明自己的功力高深.
寫大家都看不懂的東西誰都會
但是寫到每個人都可以看得懂就真正是一門大學問了。
Annie avatarAnnie2013-05-27
樓上一堆指責SHORT CODE的人其實只能說根本不懂C,事實上
係現在很多所謂的正統CODE都是為了寫給人看才變成這個樣
Aaliyah avatarAaliyah2013-05-31
樓上 你隨便去找一份coding style都會叫你不要這樣子寫
Hedda avatarHedda2013-06-04
子的。而事實上,在撰寫MCU或基層OS時,這些壟長式語法
Hedda avatarHedda2013-06-07
都無法產生最精簡有效的OP CODE。ANTI這種程式碼不如多去
Madame avatarMadame2013-06-08
了解這些SHORT CODE為什麼會產生,甚至為什麼原生C是這
Kumar avatarKumar2013-06-11
個樣子的。 不懂機器怎麼運作是現代軟體教育很大的盲點
Sandy avatarSandy2013-06-14
機器適用機器的方式運作的,而不是人類思維。強迫CPU用
Annie avatarAnnie2013-06-19
人類的思維運作的結果就是RAM永遠不夠大,CPU永遠不夠快
Erin avatarErin2013-06-23
如果你想用機器的思維來寫code 你乾脆寫0101000010100
Necoo avatarNecoo2013-06-26
當人能用Z80做NAS時,你得用ARM你的產品在起跑點就輸人家
了。 TERMWORK的基礎是整個TERM水準要一致,既然水準一致
Olive avatarOlive2013-06-30
說看不懂,或無法閱讀,那就只剩藉口了。
Emma avatarEmma2013-07-05
所以說 你搞錯這份工作寫的code要給誰看
除了你的team之外 OEM ODE 公司內部的人也都會看
Regina avatarRegina2013-07-09
全部加起來大概上千人以上 你要全部的水準都一樣?
Dora avatarDora2013-07-13
其實AMI的反應只能說AMI的BIOS是軟體豬,無效能可言
David avatarDavid2013-07-15
CACA:BIOS LEVEL的產品,要不就是作TOOL給客人,要不就
George avatarGeorge2013-07-17
是客人自己要有高階工程師看得懂,你把CODE寫得很肥沒效
率,只為了客人根本不會去看或喝咖啡加減看而去犧牲掉的
Andrew avatarAndrew2013-07-18
BIOS應該有的效能,這樣的產品算是好產品嗎?
Vanessa avatarVanessa2013-07-21
要交給客人的應該是詳細的說明文件,讓客人看了能跟得上
而不是為了三角貓客人去犧牲產品的品質。
Regina avatarRegina2013-07-26
當全世界用你code的客人都很三腳貓的時候,那就要寫到他懂了
Heather avatarHeather2013-07-29
CAC:你可以問樓主,我的確會在C裡面夾ASM,甚至直接夾
Connor avatarConnor2013-07-29
OPCODE。
Adele avatarAdele2013-08-03
COMIPA:只要你能提供夠方便的TOOL人家不會想讀你的CODE的
Anonymous avatarAnonymous2013-08-04
那你問intel幹嘛做reference code好了,為啥不給支tool了事
Franklin avatarFranklin2013-08-08
最好BIOS就做到只要打幾個勾勾 不需要去研究code
就把project做好!
Ursula avatarUrsula2013-08-12
如果你做得到的話 保證你可以幹掉三家BIOS Vendor!
Connor avatarConnor2013-08-14
大陸那間算進來有四家..XD
Brianna avatarBrianna2013-08-16
主管也沒錯啦 - 只想找個單純會寫C的就好了..
Sandy avatarSandy2013-08-18
WolfLord 看你的推文 你應該是沒看過EFI BIOS code
Jack avatarJack2013-08-19
這不是在寫考卷嗎 又沒規定要怎麼寫 怎麼扯這麼遠
Anthony avatarAnthony2013-08-20
TERM WORK 害我笑出來...
Zenobia avatarZenobia2013-08-22
原PO有查過這樣的寫法翻成ASM的時候比一般寫法省幾條指令?
Puput avatarPuput2013-08-23
pega5566:看過又如何?沒看過又如何?重點是濫用資源的
Eartha avatarEartha2013-08-27
產品競爭力會如何吧?
Tracy avatarTracy2013-08-27
askacis:好的程式不只要CODE最小,還要最快又最穩
Sarah avatarSarah2013-08-31
這種CODE累的是接手的人...
Ingrid avatarIngrid2013-09-04
我剛用gcc試了一下,兩種寫法翻出來的ASM是一樣的
Olivia avatarOlivia2013-09-08
這樣犧牲可讀性的寫法真的有比較好? 我也寫過MCU,也知道
Enid avatarEnid2013-09-10
bios我不知道 不過firmware我從來沒看過這種coding style
Delia avatarDelia2013-09-13
一些最佳化性能的寫法,可是太不一般的code style很難維護
Adele avatarAdele2013-09-17
有時候CODE是你一個人寫的 以後要讀的可不只你一個啊...
Regina avatarRegina2013-09-18
我比較想知道這種寫法是從哪學來的?
Hedwig avatarHedwig2013-09-22
另外原PO不覺得除了用%之外還有更好的方法嗎:)?
Genevieve avatarGenevieve2013-09-24
阿是多厲害? 面試完還在這邊酸主管 要酸就明著酸 拐彎抹角
Todd Johnson avatarTodd Johnson2013-09-27
一個不懂BIOS的人 和他朋友在這邊大放厥詞 效能差
Joe avatarJoe2013-09-29
乾脆說BIOS是賣貼紙的! 客戶都不會去看code改code
Daph Bay avatarDaph Bay2013-10-04
難道從Legacy(ASM)轉換成UEFI(C)開發是錯的 大家都去吃屎
你和你朋友最厲害了~ 可以抱著這樣子的心態繼續去找工作吧
Bethany avatarBethany2013-10-06
對BIOS有興趣的人可以去網路上搜尋EDK2 有整套source code
Irma avatarIrma2013-10-11
爛, 你這種人那位主管不要你是對的,你根本搞不請重點在那
Mary avatarMary2013-10-13
你以為團隊只要你一個人嗎? 看你整個行為就是心高氣傲
Steve avatarSteve2013-10-17
下一位
Donna avatarDonna2013-10-21
你這樣子不只造成自己工作團隊的困擾
Olivia avatarOlivia2013-10-25
也對其他OEM廠的工程師造成困擾呀
Rachel avatarRachel2013-10-26
寫得自己很委屈的樣子,還用酸標題跟酸文
Callum avatarCallum2013-10-27
這種文章完全是我的作風,不可取~~
Thomas avatarThomas2013-11-01
下一位
Ingrid avatarIngrid2013-11-04
面試被電就上來討拍 我看你還是繼續當學生就好
Selena avatarSelena2013-11-05
這是&&的short circuit吧,有看過這種寫法
Jack avatarJack2013-11-07
這篇文好酸...
Hardy avatarHardy2013-11-11
這寫法真的難維護,而且現在cpu的速度,這樣寫真的沒意義
Annie avatarAnnie2013-11-14
AMI應該很高興不用維護你的code和作你的同事
Kelly avatarKelly2013-11-19
請相信你的compiler
Olivia avatarOlivia2013-11-21
short code沒有不好,只是這場合又必為了這事情起衝突?
Jack avatarJack2013-11-24
在現代的compiler下這樣寫沒有意義,編譯出來是一樣的.
Oscar avatarOscar2013-11-27
用comma expressions也不是好習慣,很容易埋bug,也沒比較快
Lauren avatarLauren2013-11-29
AMI應該很高興不用維護你的code和作你的同事
Yuri avatarYuri2013-12-03
是很厲害沒錯, 不過OEM的工程師可能會幹譙在心裡.
Olga avatarOlga2013-12-05
你忽略了這份工作的立場了, 你寫得code是要給人看的.
Robert avatarRobert2013-12-07
不是自己在實驗室裡面追求效能用的.
Liam avatarLiam2013-12-11
追求效能與code的精簡以外, 也要考慮到客戶的能力與可讀性.
Lauren avatarLauren2013-12-15
不是請你來作最佳化運算的,而且你寫的有快嗎?每種CPU指
集也不一樣,你有比較行喔?
Wallis avatarWallis2013-12-17
自以為寫得短就是好程式嗎...你離開公司後要叫誰來維護
Robert avatarRobert2013-12-21
人家不care效能的地方硬是要用難懂的code來加強效能 反
Oliver avatarOliver2013-12-26
而造成維護的成本增加 公司幹嘛這樣自作孽
Anthony avatarAnthony2013-12-27
重點已經不是程式正不正確的問題了
Quintina avatarQuintina2014-01-01
你要思考濃縮原始碼有無意義 以及如何推銷自己
Lily avatarLily2014-01-01
朝聖推
John avatarJohn2014-01-01
來朝聖!
James avatarJames2014-01-04
朝聖XD
Adele avatarAdele2014-01-08
跟到了
Rae avatarRae2014-01-11
朝聖!
Anthony avatarAnthony2014-01-14
來朝聖 台灣主管容不下大佛的 您還是自己創業吧
Caroline avatarCaroline2014-01-17
你好棒!給你拍拍手
Wallis avatarWallis2014-01-20
路過朝聖
Belly avatarBelly2014-01-22
不會寫code的應該是你沒錯
Belly avatarBelly2014-01-25
其實稍微看了一下您以前作過得論文跟研究,您真的很強了
Yedda avatarYedda2014-01-28
但是就像Goodliffe跟Joel的強調,readbility重要太多了
Susan avatarSusan2014-01-31
compiler 是有在做事情的 :)_
Susan avatarSusan2014-02-02
這篇的重點是主管認為他寫的程式的錯的 又不是批評可讀
Tristan Cohan avatarTristan Cohan2014-02-04
性的問題 一堆人因為看不慣這篇的酸 而把矛頭指向作者