聯合信用卡中心 新進人員考試

上週六(2014年01月18日)參加了聯合信用卡中心的新進人員考試,地點在臺北科技大學(臺北工專)。 中文考得有點亂,倒是英文自覺寫得還可以, 邏輯測驗被我挑到爭議題目,不過還好那題是出現在範例題,所以沒有影響。 這一次最開心的是最後一堂考的電腦概論被我挑到一個爭議題目, 比我去 HTC 考試還令人興奮,我在 HTC 都還沒挑到什麼有趣的題目。

這題是這樣的(由於記憶有限,因此可能和原題不能一字字相同,但是關鍵的爭議點是被保留的):

請問下列C程式的執行結果:

#define SQU(x) (x*x)void main(){ printf(“%d\n”,SQU(3+2)); }

答案:(A) 36 (B) 11 (C) 13 (D) 以上皆非

我想很多號稱會 C 語言又臨時緊張的人應該會選答案 “B” 吧! 我一開始也是直覺這麼認為, 但再仔細看看題目,卻覺得這程式碼有大問題,不能被編譯出來,所以選了 “D”。

到這裡我想熟悉 C 語言的人都知道我要說什麼了, 沒錯,關鍵就是全部的程式碼只有一行,所以後面的 void main … 會被一起納入 SQU 巨集。 所以這個程式沒有主函式 – 無法編譯, 就算在下面加入主函式,只要使用了這個巨集就會發生編譯錯誤。 至此,我心裡暗念著:「真是個陷阱題啊!」 但是再想一想,答案也有可能是 “B”,原因如下說明:

  • 答案若是 “D”: 真是個拐人的陷阱題,出題老師心機很重,這題專門拐那些冒失又考場緊張的人。

  • 答案若是 “B”: 這樣的話不是出題老師該打就是繕打人員該罵,讓這種簡單的題目產生爭議。 我想原因很單純,就是為了節省考卷版面才把程式縮成一行, 因為 C 語言是靠分號來結束一個敘述而不是靠換行。

    這是有跡可循的,因為把程式碼縮成一行的題目在考卷上就有兩題, 只是上一題沒有出現預編譯指令。 會出現這樣的錯誤有可能出題老師是個豬頭, 不過我覺得機率很低,畢竟能當出題老師少說刷子也要有兩把; 我覺得更有可能是出題的時候沒問題,而繕打人員為了節省版面, 加上曾聽工程人員說 C 語言縮成一行的結果是一樣的 (然而實際上預處理指令的部份卻是依據換行來分隔), 就擅自把這題縮成一行了!

這一題我最後選了 “D”, 但我還是很好奇標準答案到底是什麼(其實是好奇他們到底出了上述哪一種智障問題), 所以星期一的上班時間我就打了通電話給聯合信用卡中心的聯絡人詢問, 結果標準解答是 – “B”。 嗯,看來出題老師心機沒有很重,不果我立刻告訴對方說這題具有爭議, 還說你可以拿這題去問問你們的程式人員,看這題能不能被編譯通過? 對方說他需要去和出題老師問問,於是今天的對話就這麼結束了。

第二天接近中午,我又迫不及待的再去詢問他們和出題老師討論的結果。 對方還沒聯絡到出題老師(可能是很神秘的老師), 而且調閱全部考卷來看後他們說只有一個人寫 “D” (這很明顯就是我), 其他人都選了 “B”,不過他們似乎決定這題寫 “D” 也給分。

其實我並不太在意我有沒有拿到分數,實際上也不知道我是不是少這幾分會沒有辦法進入面試階段, 只是覺得:

  1. 挑到別人的錯誤是一件很開心的事情, 從前在學校裡那些畢業展覽有自製軟體的組別我就很喜歡去試用,然後想辦法把他玩到當機。

  2. 既然發生了錯誤就應該要修正不是? 別說我對這個大家都看得懂的東西故意找碴, 很多 bug 不就是從大家都看得懂都看起來都沒問題的地方來的? 我還沒追究他的 main 函式竟然沒有傳回值的問題呢! C 語言標準只定了兩個 main 函式的宣告方式,沒有哪個是沒有回傳值的, 所以就算沒有換行的問題, 如果有人說這程式碼拿到某個 C 語言編譯器會編不出來的話也是很正常的! 除非題目寫的是虛擬碼,我就同意我這樣做不應該。

還有另外一個有趣而值得探討的議題就是全部的人都選了 “B”, 我不相信當中沒有人知道這題有著無法編譯通過的問題! 而對於實際考試的結果,我的想法是大部分的人從小所受到的養成教育告訴他們不要沒事找事做, 真理又如何?正義能當飯吃嗎? 如果能揣摩老師、或家長、或長官的心意,那就不要違逆他們,即使你的想法才是對的。 總之不管怎樣絕不要去做和大家不一樣的事情!

根據我從小到大的經驗來看,凡是和大家不同的人都會被排擠,無論那個人是無理的還是有理的, 甚至有些時候其實大家才是錯誤的一方。 隨著年齡增長,這類幼稚的事情看似越來越少見, 實則是轉變成另外一種看似有理而不幼稚的方式繼續存在著。 比方說當有人沒有辦法用 Firefox 登入政府網站時, 通常他周圍的人不會罵政府為什麼不按 W3C 標準設計網站讓所有遵照標準設計的瀏覽器都能正常使用, 反而大部分的人會怪罪他為什麼不用 IE? 「大家都用 IE 都可以正常使用啊!」「你為什麼要與眾不同?」 「為什麼要特立獨行?為什麼不和大家一樣?」

當我發現所有應考的程式人都擁有同樣的現象時,我突然從找到爭議題目的雀躍轉變為對臺灣的憂心, 這才親身體驗到為什麼很多人說臺灣人的奴性太重。 我相信參與聯合信用卡中心考試的這些人絕不是特例,而是臺灣普遍的現象。 當臺灣人說我們要靠文化創意產業打出另外一片天的時候, 實際參與這些工作的人卻是一群只願安安份份做事的人, 不能打破既有界線、跳不出框框、思想僵化、甚至少有創意的人。

然而,除了憂心外我還能怎樣呢?


下一篇:「Visual C++ 抱怨文」