以资深面试官的角度告诉大家面试前可以做的准备
? ? ?本人之前寫了三篇博文,從面試官角度來告訴大家,哪些人能面試成功,你的簡歷能幫你爭取到面試機會嗎,以及從面試官角度告訴大家如何準備項目方面的描述,均得到了比較好的反響。這里我們就從面試流程入手,告訴大家哪些人能面試成,本文同樣是是據java web輕量級開發面試教程改編的。
? ? 其實有時候面試官自己也知道,在一些問題上候選人很有可能做過準備,從這些問題上可能無法了解到候選人的真實情況,但如果候選人沒回答好,那就不會認為候選人“沒做足準備”,而會認為候選人在問題所涉及到的方面有欠缺點。
? ? 而且,通過準備,候選人還能在面試中找到合適的機會更有效地展示自己的亮點,相反,如果候選人沒說,或沒說好,面試官是一定無法了解到候選人的相關特長的。
? ? 如果大家認為我這篇博文寫不好,請反對我,同時給出改進建議,如果認為確能從中得到收獲,也請大家盡量點擊“推薦”按鈕,大家的推薦是我繼續寫文章的動力,謝謝大家了。
1 事先準備些亮點,回答問題時找機會拋出
? ? 在下表里,我們歸納了些可以在Java核心(Java Core)方面展示的亮點。事實上,我們不可能列出所有的亮點,這里只是給出些案例,大家可以據此擴展。
| 技術方面 | 可以說的亮點 |
| Java集合對象 | 1 能根據項目的需求選用合適的集合對象,比如知道ArrayList和LinkedList的差異,并能合理選用。 2 能在合適的場合選用WeakHashMap。 3 可以適當講一些集合的JDK底層實現代碼。 |
| 異常處理方面 | 能在finally從句里寫釋放資源的代碼 |
| JDBC方面 | 1 能通過PreparedStatement的預處理方法來防止SQL注入。 2 能通過批處理來提升操作性能。 3 能通過實例講述事務隔離級別的含義 |
| 多線程方面 | 1 會使用線程池 2 能通過鎖或信號量等手段正確地處理多線程并發時的數據一致性。 |
? ? 在下表里,我們列了些在數據庫方面可以準備的亮點。
| 技術方面 | 可以說的亮點 |
| 建表 | 建表時需要根據項目的數據情況,考慮是采用三范式或是反范式。 |
| SQL調優 | 1 可以通過查看日志等方式看哪些SQL需要調優。 2 可以通過執行計劃查看SQL的所消耗的代價,并據此調優。 3 可以通過建索引,建分區等手段來優化SQL性能。 |
| 事務 | 1 可以說下JDBC或Spring里是如何管理事務的。 2 可以說下Spring里的聲明式事務的做法和優點。 3 可以舉例說明事務隔離級別和事務傳播機制的用法。 |
| 分布式數據庫 | 1 可以通過水平或豎直等方式的方式來拆分數據庫,從而減輕對單表訪問所需要的代價。 2 可以通過集群等方式來承擔對數據庫的過量的訪問請求。 |
| NoSQL和Hadoop | 這兩個本身就是個亮點,如果大家用過,可以結合項目來說明。 |
? ? 在下表10.8里,我們也歸納出在這方面大家可以準備的亮點。
| 技術方面 | 可以說的亮點 |
| Spring MVC架構 | 1 可以說下Spring的IOC和AOP是如何優化項目結構的。 2 可以說下攔截器等Spring組件對項目的幫助。 |
| ORM,比如Hibernte或Mybatis | 使用這種ORM技術時,如何優化訪問和操作數據庫的性能。 |
| Spring和Mybatis等的整合 | 可以講下整合框架的細節,并可以舉例說明整合后的框架能很好地適應需求的變更。 |
? ? 此外,大家還可以在Linux使用技能以及項目管理軟件的使用經驗方面展示自己的亮點。這里請注意,一定找合適的機會“順帶”地說,如果沒機會寧可別說,更不能仗著有所準備就直接自說自話地說。否則的話,反倒可能會得到“表達能力不清晰”或“敘述條理混亂”等的不良評價。
2 事先練習展示責任心和團隊協作能力的方式
? ? 面試官只有當確認候選人在責任心和團隊協作能力方面沒問題,才敢把他招進公司。有些面試官會通過問問題來確認這兩點,但有些有經驗的面試官甚至可以通過候選人回答問題的方式和說話的語氣上來確認。
? ? 所以大家在面試前,首先可以按如下的要點,在平時的生活和工作中練熟良好交流方式。
? ? 第一,談吐清晰,語速不急不緩,至少讓面試官能聽懂你說的話。而且力求說話果斷,別吞吞吐吐的,這樣能顯示出你有足夠的擔當。
? ? 第二,交流時盡量目視面試官,語氣不亢不卑,別太僵硬,說話別過于強勢。臉部可以適當微笑,面試官在說話時可以適當點頭互動,總之得讓面試官感覺和你交流不吃力,最好還讓面試官感覺樂意和你交流。
? ? 第三,應積極主動回答面試官的提問,如果沒聽明白問題,別僵持著等面試官進一步解釋,應當主動詢問。如果感覺面試官沒完全理解自己的回答,或者理解有誤,應當進一步主動解釋,以展示積極溝通的姿態。
? ? 第四,即使不認同面試官的觀點,也應當心平氣和地交流,不能急躁,別輕易打斷面試官的話,可以傾聽完面試官的話后耐心地與之交流。有些面試官可能會故意刁難候選人,美其名曰“壓力測試”,在這種情況下,候選人更應當心平氣和,不能起爭執。
? ? ?在面試過程中,再有經驗的面試官可能也無法通過實例來驗證候選人的“團隊協作能力”(因為在短時間內無法協作),但如果大家能給面試官留下“溝通表達沒問題”、“為人和善”和“遇到難點能積極主動協調溝通”的良好印象,那么面試官一般也能認可候選人的團隊協作能力。
? ? 此外,大家還可以準備如下的說辭,一旦能找合適的機會說出來,面試官更會認可大家的責任心和團隊協作能力。
? ? 說辭1:(在介紹項目時)這個項目做到一半時,客戶方變更了一些需求點,這給我們項目組造成了比較大的壓力。在項目經理的帶領下,我們都被分配了更多的任務,在這種情況下,我通過加班按時按質完成了任務,而且在做的過程中,一旦出現需求或技術方面的問題,我也會主動找同事或項目經理確認。
? ? 總之,在出現問題時,你不是退縮,而能通過加班等方式積極面對和解決問題,而且一旦有問題,你不是得過且過,而會主動確認。
? ? 說辭2:(介紹自己在項目中的角色)在這個項目組里,除了本職的開發工作外,我還會積極主動地和測試人員溝通,一方面告訴他們該怎么測,另一方面,一旦發現問題,我會和他們一起重現問題,完成修改后我也會主動告訴測試人員,讓他們盡快確認。
? ? 總之,在項目里,你不僅能完成本職工作,而且還能和團隊其它人員一起協作。
? ? 說辭3:(介紹項目的亮點)在項目里,我遇到一個需求點,這需要多個團隊一起開發,這時我會和相關人員一起開會,確定各自的任務點和工期,完成功能點后我們會一起聯調。
? ? 說辭4:(如果面試官問你,遇到自己無法解決的問題該怎么辦?)我不會推掉任務,我先會查閱資料,如果不行,我會問項目經理,在他們給出的解決方案基礎上,我會細化成具體的實現代碼,最后我會把實現好的功能點和項目經理確認,以求沒有理解上的偏差。
? ? 在責任心和團隊協作能力這兩方面,不建議直接說“我有”,因為這相當于自我表揚,可信度不高,大家可以采用上述“用具體事實證明”的方式,這樣面試官聽了后就自然能認可大家的相關能力。
3 準備提問環節的問題,以求給自己加分
? ? 當技術面試官問完所有問題后,一般都會說:“我沒問題了,你有什么問題?”
這時大家可以在這個環節里通過提問進一步展示自己和這個職位的匹配度,這些問題也可以事先準備。下面列些可以提問的要點,在具體操作中大家可以酌情選用。
? ? 要點一,展示自己技能和要做項目的匹配度。具體而言,大家可以看下職位介紹里列的技能點,這些技能點應該在之前的面試里都已經聊過。這時你可以問,接來下我會進哪個項目組?做哪個項目?其中會用到哪些框架和技術?
? ? 當面試官解釋好之后,你就可以“順口”說,xx技術或框架(這可以是之前沒充分展示的)我之前在項目里用過,我做了xx(一定是亮點),可以再介紹下優化后的效果,再說下體會。
? ? 要點二,展示自己吃苦耐勞的能力,同時也可以展示下責任心。比如可以問,你們加班多不多?會不會到客戶現場?會不會出差?
? ? 不論面試官如何回答,你也可以“隨口”說,其實在項目比較緊的情況下,首先得保證進度和質量,在之前的項目里,有段時間確實進度比較緊,我就去和項目經理多申請了些任務,然后通過加班,按時按質完成了任務。
? ? 要點三,展示自己學習能力。比如可以問,在這項目里,會不會“調研新技術”?如果項目經理說沒,那就別繼續說了。如果有,那么你就可以說,在之前的項目里,我們需要用到xx技術,但誰也沒太多的經驗,在項目經理的帶領下,我用了一些時間做了調研,最后項目組根據我的調研后寫的代碼,成功地把這技術應用到項目里。
? ? 要點四,展示自己的職業發展規劃和這個項目的需求是一致的,同時展示自己的穩定性。比如可以問,如果我在這個項目里做得好,我可以得到哪些提升的機會?
? ? 當面試官說完后,你也可以“隨口”一說,這也是我期望的發展方向。或者也可以說,如果我有幸面試成功,我也打算沉浸到這個項目里,好好幾年,如果有機會,我也打算向高級開發或架構師發展(請注意,這個發展方向最好和項目組的期望一致)。
? ? 要點五,進一步展示自己溝通交流和團隊協作的能力,之前面試官一定考察過,這里可以再強調一下。比如可以問,這個項目組有哪些成員?一般是怎么構成的?
? ? 這時面試官就會和你介紹,這個項目有一位項目經理,一位架構師,x位后端開發,x位前端開發,x位測試。這時你就可以說,這和我之前的公司很相似,在之前的項目里,我做的是后端,我的體會是,在項目組里一定得多交流多溝通才能把項目做好,靠一個人是不行的,比如有需求或進度上的問題,我會及時和項目經理交流,如果發現bug,我也會及時和測試人員交流。
? ? 再次強調,出于誠信的原則,這階段大家介紹的情況一定得是真實的。
? ? 在這個階段,大家也可以問些比較關心的問題,比如后繼的面試流程,但別什么都不問,這樣面試官可能會感覺你沒準備過,也不在乎這個崗位。也別問些能輕易從網上能找到的資料,比如這個公司主營業務是什么,這樣會讓招聘方感覺你之前因為不在乎這個機會,所以沒了解過這個公司的情況。也最好別問工資(或和應聘者切身福利有關)的事,一方面技術面試官(或后繼的項目經理)未必能做主,另一方面會給他們留下比較功利的印象,關于這些可以等到通過面試后和人事具體地談。
4 準備用英文回答問題,以求以備無患
? ? 一般來說,國內公司會要求候選人有“讀英語文檔”的能力,而外企則會要求候選人能在純英語環境下工作,即不僅能看英文文檔,能用英文郵件交流,而且還能用英語和國外的同事開會交流。??
? ? 面試的時間有限,一般不會讓候選人當場翻譯英文文檔,而是會考察英語的口頭交流能力。
? ? 有些公司會全程用英語面試,這要求就高了,一般的公司(包括一些外企),則是大部分用中文面試,中間夾雜著一些英文問題。這里給出些常見的英語問題點。
? ? 1 用英語介紹最近的項目。2 用英文做自我介紹。3 用英語介紹自己的興趣愛好。4 用英語介紹你自己最擅長的技術點。5 用英語介紹下你的優缺點。6 用英語介紹上家公司,并敘述離職原因。這些都可以事先準備,面試時,發音可以稍微不標準,但力求流利,而且說得量需要適當。
? ? 準備時,大家可以根據問題點先把要回答的英語句子寫下來,多練習幾遍,這樣在面試時就能有信心地展示準備好的成果。
? ? 講個我們聽說過的笑話,小A被臨時抽調去為一個日本項目組面試,其中需要考察候選人的日語,但問題是小A不懂日語,時間又比較緊,又找不到其它面試官。在日本項目組的允許下,小A采用如下的面試方式,讓候選人用日語介紹自己,并介紹上個項目。
? ? 雖然小A聽不懂,但如果候選人說不上或不說,日語評定是“不及格”,如果能說得上,但磕磕巴巴,而且說得量又少,屬于及格,如果發音標準而且流利,那么就屬于良好或優秀了。
? ? 從這個笑話里大家可以得到如下的啟示:
? ? 第一,說不說有著本質的差別,不說一定是不及格。
? ? 第二,內容盡量符合要求,不求措辭精美,用比較簡單的表達方式即可。因為面試官考察重點不是內容,而是發音(至少能保證聽懂)、流利程度(有信心流利地說,盡量別磕磕巴巴)和說的語句的數量(別太少,也別太啰嗦)。
? ? 第三,說的時候可以目視面試官,并用手勢等方式互動,以此來展示自己說英語非常有信心。而別低著頭或用其它方式暴露出自己信心不足。
5 準備些常見刁鉆問題的回答,別現場想
? ? 面試官有時會問些刁鉆的問題,對于這類問題,大家應當事先準備好。如果等面試時被問到時再臨時想,未免會措手不及,而且一旦回答不好,輕者面試失分,重者可能直接導致面試失敗。
? ? 問題一,你有哪些缺點?
? ? 大家別說沒缺點(說出來沒人信),也別說主觀上的缺點,比如粗心辦事拖拉等,可以往“好心辦壞事”方面說,甚至還可以適當展示自己的一些優勢。比如可以說,之前在項目里,我可能比較心急,總想讓項目一天內就做好,所以總會加班來力求按質提前完成任務,這樣就讓其他成員感覺壓力過大了,不利于團隊建設。
? ? 最后還得提一句,自己已經意識到這個缺點了,正在改進或已經改正了。比如可以這樣說,后來項目經理和我溝通過這個問題,讓我定時和組員分享些技術點,以求大家一起進步,當我做了幾次分享后,整個項目組的進度都提升了。
? ? 問題二,你自己感覺,在之前的項目里,你有哪些失誤?
? ? 這里大家也可以往“好心辦壞事”方面說,應當盡量避免說可能導致項目有重大損失的失誤,比如寫代碼得過且過,或不注重單元測試。
? ? 大家可以按如下說辭的思路來回答這個問題。在之前寫代碼時,我總會盡量在代碼里使用設計模式以求提升代碼的可維護性,后來經過項目經理的幫助,我意識到了應當注重進度和質量的平衡,應當只在可能會經常變更的模塊里使用設計模式。
? ? 或者可以說,在之前遇到問題時,我和測試人員溝通時,總會說些技術相關的術語,這就導致了溝通效率不高。后來我也注意到了,和他們溝通時,應當盡量注重功能點的實現方式,現在和他們溝通起來就沒什么問題了。
? ? 問題三,如果你和項目經理或同事工作上有分歧,你一般會怎么處理?
? ? 在項目里,遇到分歧是很正常的,但要讓面試官感覺遇到分歧你不會回避,而是會主動溝通,在溝通時也不是一味強求別人接受你的觀點,而是通過協商得出一個大家都能接受的方案。
? ? 對此大家可以舉例說明,在xx項目里,在xx功能的實現上,我和項目經理有分歧,我主張用連接池,項目經理主張用一般的連接即可,沒必要用連接池。對此,我會主動和項目經理溝通,說出我主張的理由,同時也聽下項目經理的理由,最后大家討論出了一個解決方案。
? ? 問題四,你期望的團隊工作氛圍是什么樣的?
? ? 遇到這種問題,如果你的期望和招聘公司的情況不一致,招聘方可能就會懷疑你未必能做久。所以在回答這類問題時,應盡量少加些自己主觀的愿望,比如別說,我希望團隊能定時出去活動,或希望工作的氛圍比較寬松。這樣一說,一旦招聘方項目壓力比較緊,而你卻希望寬松,那么成功應聘的可能性就降低了。
? ? 對此大家可以說些不大容易被挑錯的答案。比如可以說,我希望在團隊里,遇到技術難點,大家能一起協商解決,遇到有什么好的點子,也可以和大家一起分享,如果項目進度比較緊,我也愿意一起加班。
? ? 問題五,你是否有失敗的經歷?
? ? 這里面試官不在乎結果,更關注于你處理問題的心態(得積極些)和措施(應盡最大努力)。所謂失敗,就是沒達到預期目標,這里大家可以把預期目標設置高些(對自己嚴格要求),而且可以展示出是在窮盡一切可能后才遺憾地失敗,同時說下失敗后的補救措施。
? ? 這里給個我們之前聽到的回答,在之前的項目里,一段程序消耗的內存過大,峰值達到2個G,我就去優化,(中間省略一些積極的優化措施),最后雖然減少1個G,但離開預定的500M的目標還有差距。在和項目經理確認后,最終我們不得不給這段程序分配了更多的內存空間。
?
? ??
總結
以上是生活随笔為你收集整理的以资深面试官的角度告诉大家面试前可以做的准备的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 沪深A股分析数据机构持股信息API接口(
- 下一篇: 分析LogFilter