美國求職記 - 沒想到,學校沒教的技能,小兵立大功!

1997年的10月底的矽谷( Silicon Valley ),剛進Santa Clara University讀資訊工程研究所才半年的John,為了尋找公司以便取得學校實習課程學分(Internship credit),要盡快找到雇主,剛開始,只投了十幾份履歷,全都石沈大海,最後,決定採取大量投遞方式,修改了無數次的履歷,發了近百封的履歷,等了數個星期後,終於收到:

的電話語音留言邀約面試,3%的回復率還真不高(鼓勵大家用心寫履歷,耐心修改,廣發求職),第一家就是Cisco。

其實John心中的首選是:Sun Microsystems, Inc. 再來是Oracle, 其次才是Cisco,原因很簡單,在當時能夠寫作業系統(OS - Operating System)及資料庫系統( DataBase )屬於較高端的程式設計人才,薪資前途都相當看好,不僅錄取難度高且地位也高,不是名校或資歷顯赫的求職者,很難進去。

先去Cisco面試,第一次由該部門經理Christine(是一位媽媽型的科技人),稍微端詳了John一下,John中等身材,稍胖,年紀約28歲,戴個黑框眼鏡,誠懇正直的眼神(John被錄取後,Christine告訴他的),Christine告訴John三天後早上08:00開始為期2天的面試,包含他在內共7位面試官。在美國,所有人都知道面試就是直接在白板上寫程式,寫到寫不出來為止,John相當緊張,因剛畢業的他,要面對7位資深工程師的面試,當場出糗想是必然,趕緊準備吧!

三天後到了,John穿著整齊,到了Cisco Systems, Inc. 編號E的辦公大樓進行面試:

cisco campus

精實的面試

第一天
  1. Ajay (留個小鬍子,學習應用速度特別快,膚色偏白的印度人)
    "Hey, how are you, my name is Ajay",一下子感受到他樂觀開放的精神,讓John沒那麼緊張,隨後問了我一些背景的問題,簡單回答後,便開始提問:

    • Cisco目前是全球最大的網路公司,分公司遍佈全球,0-24小時每個時區都有大型伺服器,這是我們的工作環境,請問你對UNIX的熟悉度到哪?
    • 請問如何設定使用者的bash為restricted bash? restricted bash的用途與使用時機是?
    • 請問在bash的環境下,如何做數學運算的加減乘除?
    • 請你寫出一個bash的程式,找出最近24小時內,在目錄/lib, /usr, /etc下被修改過的檔案。你猜猜這個程式的目的是?
    • 請寫出一個bash程式判別該系統是SunOS, Solaris, HP-UNIX, IBM AIX, 或是Linux?
  2. Eric (道地的美國人,高高留著部長的金髮,是project lead)
    "My name is Eric, what's up?",說話輕聲細語的但速度很快,相當斯文,便開始提問:

    • 你會PERL程式設計嗎?
    • 請簡單描述race condition,並告訴我有些什麼方法可以解決。
    • 請問離開程式的函示exit()後面所給的數字有什麼意義,該如何應用?
    • 如何在bash中捕捉不同的signal,要把該signal的預設動作改成別的,要如何做呢?
    • 請問process所有屬性中的cwd目的為何?
    • 如何把母程序的環境變數,不要繼承到子程序中?
    • 如何在主從架構中傳輸環境變數?
  3. Mike (操著尾音上揚的口音,原來是加拿大人,留著到耳垂的棕色頭髮,從Nortel過來的)

    • John你目前最引以為傲的技能是?
    • 如果你不會PERL的程式語言,部門給你一個任務用PERL寫出一個資料分析程式,請問你會如何反應及執行?
    • 請問賦予的任務如果即將超過截止日期,你會如何處理?
    • 主管給你一個不可能的任務,你的想法是?
    • 如果在目錄/usr/bin及/bin下各有一個執行檔ls,請問那一個ls會掀被執行?
    • /etc/passwd存著使用者的密碼,請問該如何防止被複製?
  4. Paul (留著八字鬍,綁馬尾的美國人,UNIX系統管理專家,全球伺服器系統管理部門經理)

    • 請問你操作過哪些UNIX系統?
    • 系統管理部門全球有500台以上的Solaris, SunOS, HP-UNIX以及少許的SGI UNIX,IBM AIX,如何讓這些伺服器可以共享/lib?
    • 使用過IBM的AIX系統過?
    • RAID各有什麼特性?如何應用?
    • CDPATH環境變數如何使用?有什麼好處?
    • pushd及popd的用處,有什麼好處?
    • 哪些指令可以顯示目前的環境變數?
    • 如何使用NIS設定時區?

第一天的面試,從早到晚,問的問題不是刻板的學校內容,而是精實的職場經驗談,所有的題目都須讓John在白板上ㄧ行ㄧ行的寫答案,John在課餘時,除了補習進修就是找高人問問題,不鍛練習操作Linux,學校Lab的Solaris, HP-UNIX系統,總算可以答對個幾題;但是!有30%以上雖有聽過,面對全世界頂尖的高手面試,卻無法有信心的回覆!

第二天

由於第一天的表現,John懷著很不安的心又到了Cisco的Building E,心想今天的面試一定比昨天難,該如何是好?

  1. Christine:
    "Good morning, John. How's going yesterday? Was it fun?". John緊張的要死,依照亞洲人的習慣,回答:"Yes". Christine說,昨天的人回饋很好,很難得的是,要找好的程式設計師不難,但是要找到兼具熟練的作業系統操作,了解伺服器架構的,就不容易了,再加上你剛畢業,更是稀有。因此,接下來就沒有面試了,等下請你吃中飯,下午與人事部討論聘僱細節。

Christine帶著John到員工餐廳,John首次體驗世界一流公司的餐廳規模,比外面的餐廳還棒!
Cisco cafeteria

John心想,這麼好的規格待遇,絕對不能辜負公司的期待,果然,在接下來的3年內,John的功力在高手環伺下迅速成長,再加上台灣人的拼命精神,John的升遷破了白人,印度人,中國人所創的紀錄,這幾年,也是Cisco在世界舞台最風光的時間,超過微軟,市值世界第一名,替John轉取了接下來幾十年的資產財富。

最令John感到驚訝的是:沒想到竟然是Linux?!

接下來的故事待續。。。。。。