it電話面試
出來混,遲早要還。也有了人生第一次電話面試。沒有簽NDA,所以在這里分享一下。但愿對各位大佬有幫助。職位是架構。要求是對Java和J2EE熟,能編程,熟悉OO設計。有架構經驗,等等等等,都是大路貨,沒什么出奇的。再說出奇的我也不行啊。
總的感受:
用自己的話總結對方的話挺有用。表明了你在積極思考,理解了對方的意思,并且避免了雙方的誤解。關鍵是要加上自己的理解、延伸,和追加問題。面試官介紹他們的技術時我用了這坨方法,明顯感到對方話多起來,也更為隨意。大概正確的理解讓對方打開了話匣子。
準備一個電話用耳機。不然一小時的面試下來,手挺累的。而且做編程題時需要在本子上演算,拿著話筒也不方便。用免提效果不如耳機好。尤其現在家 家都用IP電話,用免提有非常明顯的雜音。
準備一杯水。除非老大您久經沙場,面試如老友閑談。多少會緊張,導致口干。一杯水能讓人舒服,很好地緩解情緒。
問題挺簡單,但我居然卡殼。可見事前充分準備多重要。下面詳說。
大致的面試過程
寒暄過后,面試官介紹他們的技術。介紹完后,問我有沒有問題。我陳述自己對他們技術的理解,列舉了幾坨可能的應用,問他自己的理解對不對。他同意。于是繼續他們的技術同他們的競爭對手有什么區別。然后又問了點搜索中常見的問題,比如怎么處理擴展性,怎么抓取數據,怎么整合數據,如何數據挖據什么的。目的不在了解他們的具體技術。反正也問不出來。主要是表明自己對他們的相關技術有興趣,有一定了解。另外也是找機會稱贊他們技術新穎的時候(前提是真覺得他們的東西不錯。誠懇很重要哈)。感覺大家言談甚歡。直到對方說如果你有問題,等會兒還可以繼續問我。于是知趣打住,等待對方提問。
問題從我的經歷開始。你現在做什么。負責什么。用什么技術。多少跟Java有關,多少跟JSP/Servlet有關,多少跟前臺有關。多少跟后臺有關等等。你都很久沒有用Java了(俺現在做很多AJAX應用),技術不會落后么?于是俺強調其實沒有全職做Java也就一年,但技術并沒有撂下。比如倆月前還寫了一坨stream-processing proxy server。至于JSP,一坨簡單模板技術而已,用不用關系不大嘛。再說相關書沒少看。然后列舉幾坨最近看的常見書籍,對方也就沒再追問。本來想說語言不重要,關鍵是背后的技術。但想想人不是來聽我上課的,遂作罷。
然后面試官說,So you still know Java, huh? Do you know Java Collections? 我耳背,聽成了Java concurrencies?心頭一涼。心想,哪壺不開提哪壺囁?做JEE的哥們兒里,有多少人成天和concurrency打叫道啊?都是托Container的福。只有書本知識和玩具程序的體驗哈。不過嘴上不能示弱。答:然,concurrency的知道。結果對方說,不不不,是Collections。說說Collections里的常見數據結構。隨口說了幾個。對方繼續問:如果有一百萬key-value pairs供查詢用,怎么辦?答:可以用HashMap,如果你沒有synchronization的要求。對方繼續追問,可能有有什么潛在問題?我聊了點常見的問題,諸如數據多了需要不斷重新組織bucket,會時不時影響性能。對方接著問:那你還用HashMap?心想:Call!設套讓俺鉆吶?于是答:因為夠簡單。再說如果擔心性能,我們可以測試嘛。找出瓶頸再優化不遲。面試官沒有糾纏,換了個話題追問:如果這些key-value是用于cache的,用hashmap有什么問題?答曰:可能導致大量垃圾。然后討論了一下Weak Reference,Soft Reference,和Phantom Reference的區別。對方問,如果用String作為key,還可以怎么處理?答:用Trie。面試官接著問:那如果要做子串查詢呢?順口答:Suffix tree。奇怪的是對方沒有深入問下去,而是換了個話題問:如果我只關心key,你怎么處理value?這個時候我開始犯傻,答:那你用boolean或者整數,還可以知道每坨key出現多少次。結果我大概聽力有問題,人不是這個意思。所以面試官提示:我不關心value。于是俺醒悟:答; 那就用Set。奇怪的是他也沒有追問關于Set的選取和實現,就跳到下一個問題了。事后想來,這是教訓:應該先問清楚對方的需求再答題。平時我肯定是這么做的。但不知道為什么面試時這些常識通通忘掉了,先入為主。當時好像也不緊張阿。
之后進入編程時間:寫一坨函數交換兩個String。我一聽想,難道是傳說中的陷阱?于是特意確定,你是想我寫一坨函數:void swap(String s1, String s2),運行后s1的值同s2的值交換?對方說是。于是我說不可能。解釋了pass by value和pass by reference。然后對方問怎么可能。我說你用StringBuffer或者一坨Array/某坨Collection都行。他好像滿意了。于是跳到下一個問題。
問:說說一坨request進來后,JSP的life cycle。我背書。然后他追問:怎么保證線程安全。答不要用instance variable。你要用partial/full synchronization也行,但這多半表示你的設計出問題了。然后他又反過來問:那你在JSP里怎么保證不用instance variable。我說不用
【it電話面試】相關文章:
電話面試07-11
面試電話是住宅電話?07-12
電話的面試技巧04-15
電話面試技巧11-21
前端電話面試06-29
電話邀約面試07-13
電話面試的要點07-13
熱衷電話面試07-13
留學電話面試07-13
電話面試的弊端07-13