首先是一般面試準備的部份
一、沒有辦法回答的問題請不要寫在履歷表上
這在台灣聽起來好像是廢話,但是在這裡卻經常發生。原因是人力仲介公司多半知道在大公司裡履歷表會經過職員篩選之後才會到面談人員的手上。為了能過第一關,這些仲介公司都會提醒你盡可能把現在流行的字全部寫進去。根據目前來看,五個人之中至少有一個會寫一些不存在的工作經驗。我的看法是,千萬不要上了人力仲介的當。如果你寫出來了,你就要真的能回答。等談到一半發現履歷表上是掰的,這樣後面就很難繼續了。
二、答錯時不要害羞,也請不要發脾氣
再厲害的資訊人員也是會寫出有錯的程式,更何況是回答問題。如果面試人員明確告知答案可能有誤,不要害羞,您有權力問正確的答案,也可以提出一些討論。但是很重要的一點,請避免出現防衛過當的情況。如果對方認為答錯,必然有其原因。這個時候絕不能想著要扳回面子而強行辯解,僅就問題解答提出簡單討論即可。滔滔雄辯在正式工作時或可發揮效益,然而在求職時打口水戰卻可能贏了面子,輸了裡子。當然,更要避免發脾氣而大罵面試人員問這什麼無聊沒人用的東西答不出來。
接下來是技術的部份
三、Pass by value
Java在傳遞參數的時候是傳值的,這個答案不能錯。如果怕被搞混,就乾脆背下來: All parameters are "pass by value". 細節可以參考Ken Arnold The Java Programming Language, 2.6.1.
這個答案通常是有老經驗的C語言程式設計師容易答錯。
四、cookie不是session
如果是找web相關程式工作,請避免把cookie跟JSP/Servlet session object搞混。cookie是放在瀏覽器的;session object是活在伺服器裡的。在session裡面放一萬個超大的圖檔,會先搞掛伺服器,不是瀏覽器。截至目前為止Java沒有人在搞view state這一套,所以這個答案能模糊的空間也不是很大。
五、Design Pattern: Singleton
很多人會順手寫上Design Pattern,而且第一個回答的就是Singleton。Singleton是用來保證在執行環境裡只有一個物件instance的技術。請小心,Singleton是個陷阱,因為大部份人所知道的Singleton都是抄自GoF的書。GoF的Singleton對於單程單緒的程式是可以的,但是放到Java上面,GoF Singleton有兩個大問題:
1. 當你有多個JVM的時候,Singleton作不到single instance(因為每個vm有一個instance)
2. 那怕只有一個JVM,Singleton也不能保證多執行緒安全。安全的Singleton看起來一點都不酷。細節分在另外一篇文章裡。
六、資料庫的Connection Pool用完了還是要還的
你如果用完不還,JDBC是不會自動把它回收的。這跟Garbage Collection一點關係都沒有。稍微有一些工作經驗的人應該都受過這種教訓。
七、如果是應徵程式設計師,請小心避免熱門關鍵字SOA
老實說,SOA根本是分析師或是決策人員在玩的東西。如果提到SOA,請確定您沒有把它與Web Service和Enterprise Service Bus(ESB)搞混在一起。
八、不懂EJB一點關係都沒有,不要硬寫上去
說真的,不懂EJB一點都不影響面試結果。反正EJB2現在是過街老鼠,企業避之唯恐不及,所以大可放心的說你不用EJB。今年開始不少人看到EJB3變簡單了,忙著寫在履歷表上。請小心,因為EJB3只是開發的時候變簡單,真正放在機器上跑,還是要面對原來的問題,還是要得和serialization/rmi/iiop/tcp/ip/ethernet搏鬥。如果您寫上EJB的經驗,至少要曾經deploy ear到真正的機器上跑過才算。還有,Message-driven EJB是用來『接收』的,不是用來送訊息的。
九、你職業生涯裡最有成就的例子
凡是有主管在的時候,主管最常問這個問題。準備這個答案的時候,有量化的資料最好了,例如,『因為我寫了這個工具,公司員工平均一周省下四個小時』,或是『本來系統反應時間是九十二秒,經過refactoring之後只需十六秒,快了將近600%』主管們不在乎你會不會程式語言,但是很在乎你想不想解決問題。
其餘的就真的看運氣了。
Thursday, December 14, 2006
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment