作者原創說明:本文自博客園發表以后,無數次被各種CSDN和其它平臺參考,有人還信誓旦旦地加入了原創說明,
那么怎么判斷本文是本人的原創呢?
1 第一看時間,本文于博客園的發布時間是這個:https://www.cnblogs.com/JavaArchitect/p/7586949.html
posted on 2017-09-24 13:04 hsm_computer 閱讀(70478) 評論(31) ,大家可以對比下其它文章的發表時間,
2 第二,本文其實是摘自我的書,《Java Web輕量級開發面試教程》,https://item.jd.com/14861686043.html,出版社的認證,可謂是最好的原創證明,
好,正文開始,
///
在面試時,經過寒暄后,一般面試官會讓介紹專案經驗 ,常見的問法是,說下你最近的(或最拿得出手的)一個專案,
根據我們的面試經驗,發現有不少候選人對此沒準備,說起來磕磕巴巴,甚至有人說出專案經驗從時間段或技術等方面和簡歷上的不匹配,這樣就會造成如下的后果,
1 第一印象就不好了,至少會感覺該候選人表述能力不強,
2 一般來說,面試官會根據候選人介紹的專案背景來提問題,假設面試時會問10個問題,那么至少有5個問題會根據候選人所介紹的專案背景來問,候選人如果沒說好,那么就沒法很好地引導后繼問題了,就相當于把提問權完全交給面試官了,
面試時7份靠能力,3份靠技能,而剛開始時的介紹專案又是技能中的重中之重,所以本文將從“介紹”和“引導”兩大層面告訴大家如何準備面試時的專案介紹,
-------------------------------------------------------------------------------------------------
1 在面試前準備專案描述,別害怕,因為面試官什么都不知道
面試官是人,不是神,拿到你的簡歷的時候,是沒法核實你的專案細節的(一般公司會到錄用后,用背景調查的方式來核實),更何況,你做的專案是以月為單位算的,而面試官最多用30分鐘來從你的簡歷上了解你的專案經驗,所以你對專案的熟悉程度要遠遠超過面試官,所以你一點也不用緊張,如果你的作業經驗比面試官還豐富的話,甚至還可以控制整個面試流程(筆者在面試方面成精后也經常干這種事情,大家一定也能行),
|
| 你 | 面試官 |
| 對你以前的專案和技能 | 很了解 | 只能聽你說,只能根據你說的內容做出判斷 |
| 在面試程序中的職責 | 在很短的時間內防守成功即可 | 如果找不出漏洞,就只能算你以前做過 |
| 準備時間 | 面試前你有充足的時間準備 | 一般在面試前用30分鐘閱讀你的簡歷 |
| 溝通程序 | 你可以出錯,但別出關鍵性的錯誤 | 不會太為難你,除非你太差 |
| 技巧 | 你有足夠的技巧,也可以從網上找到足夠多的面試題 | 其實就問些通用的有規律的問題 |
既然面試官無法了解你的底細,那么他們怎么來驗證你的專案經驗和技術?下面總結了一些常用的提問方式,
| 提問方式 | 目的 |
| 讓你描述作業經驗和專案(極有可能是最近的),看看你說的是否和簡歷上一致 | 看你是否真的做過這些專案 |
| 看你簡歷上專案里用到的技術,比如框架、資料庫,然后針對這些技術提些基本問題 | 還是驗證你是否做過專案,同時看你是否了解這些技術,為進一步提問做準備 |
| 針對某個專案,不斷深入地問一些技術上的問題,或者從不同側面問一些技術實作,看你前后回答里面是否有矛盾 | 深入核實你的專案細節 |
| 針對某技術,問些專案里一定會遇到的問題,比如候選人說做過資料庫,那么就會問索引方面的問題 | 通過這類問題,核實候選人是否真的有過專案經驗(或者還僅僅是學習經驗) |
2 準備專案的各種細節,一旦被問倒了,就說明你沒做過
一般來說,在面試前,大家應當準備專案描述的說辭,自信些,因為這部分你說了算,流利些,因為你經過充分準備后,可以知道你要說些什么,而且這些是你實際的專案經驗(不是學習經驗,也不是培訓經驗),那么一旦讓面試官感覺你都說不上來,那么可信度就很低了,
不少人是拘泥于“專案里做了什么業務,以及代碼實作的細節”,這就相當于把后繼提問權直接交給面試官,下表列出了一些不好的回答方式,
| 回答方式 | 后果 |
| 我在XX軟體公司做了XX門戶網站專案,這個專案做到了XX功能,具體是XX和XX模塊,各模塊做了XX功能,客戶是XX,最后這個專案掙了XX錢 | 直接打斷,因為業務需求我不需要了解,我會直接問他專案里的技術 |
| (需要招聘一個Java后端開發,會Spring MVC) 最近一個專案我是用C#(或其他非Java技術)實作的,實作了……或者我最近做的不是開發,而是測驗……或者我最近的專案沒有用到Spring MVC | 提問,你最近用到SSH技術的專案是什么時候,然后在評語上寫:最近XX時間沒接觸過SSH |
| 在畢業設計的時候(或者在讀書的時候,在學習的時候,在XX培訓學校,在XX實訓課程中),…… | 直接打斷,提問你這個是否是商業專案,如果不是,你有沒有其他的商業經驗,如果沒商業專案經驗,除非是校招,否則就直接結束面試 |
| 描述專案時,一些關鍵要素(比如公司、時間、所用技術等)和簡歷上的不匹配 | 我們會深究這個不一致的情況,如果是簡歷造假,那么可能直接中斷面試,如果真的是筆誤,那么就需要提供合理的解釋 |
在避免上述不好的回答的同時,大家可以按下表所給出的要素準備專案介紹,如果可以,也請大家準備一下用英語描述,其實剛畢業的學生,或者作業經驗較少的人,英語能力都差不多,但你說了,這就是質的進步,
| 要素 | 樣式 |
| 控制在1分鐘里面,講出專案基本情況,比如專案名稱,背景,給哪個客戶做,完成了基本的事情,做了多久,專案規模多大,用到哪些技術,資料庫用什么,然后酌情簡單說一下模塊,重點突出背景,技術,資料庫和其他和技術有關的資訊, | 我在XX公司做了XX外匯保證金交易平臺,客戶是XX銀行,主要完成了掛盤,實盤成交,保證金杠桿成交等功能,資料庫是Oracle,前臺用到JS等技術,后臺用到Java的SSH,幾個人做了X個月,不需要詳細描述各功能模塊,不需要說太多和業務有關但和技術無關的,如果面試官感興趣,等他問, |
| 要主動說出你做了哪些事情,這部分的描述一定需要和你的技術背景一致, | 我做了外匯實盤交易系統,掛單成交系統,XXX模塊,做了X個月 |
| 描述你在專案里的角色 | 我主要是做了開發,但在開發前,我在專案經理的帶領下參與了業務調研,資料庫設計等作業,后期我參與了測驗和部署作業, |
| 可以描述用到的技術細節,特別是你用到的技術細節,這部分尤其要注意,你說出口的,一定要知道,因為面試官后面就根據這個問的, 你如果做了5個模塊,寧可只說你能熟練說上口的2個, | 用到了Java里面的集合,JDBC,…等技術,用到了Spring MVC等框架,用技術連接資料庫,
|
| 這部分你風險自己承擔,如果可以,不露聲色說出一些熱門的要素,比如Linux,大資料,大訪問壓力等,但一旦你說了,面試官就會直接問細節, | 這個系統里,部署在Linux上,每天要處理的資料量是XX,要求是在4小時,1G記憶體是的情況下處理完5千萬條資料,平均訪客是每分鐘XXX, |
面試前,你一定要準備,一定要有自信,但也要避免如下的一些情況,
| 要避免的情況 | 正確的做法 | 原因 |
| 回答很簡單,問什么答什么,往往就用一句話回答 | 把你知道的都說出來,重點突出你知道的思想,框架 | 問:你SSH用過嗎? 答:用過, 問:在什么專案里用到? 答:一個保險專案 問:你做了哪方面的事情? 答:開發 我直接不問了 |
| 說得太流利 | 適當停頓,邊思考邊說 | 讓面試官感覺你在背準備的東西,這樣后面問題就很難 |
| 專案介紹時什么都說, | 就說些剛才讓準備的一些,而且要有邏輯地說 | 會讓面試官感覺你思路太亂 |
| 別太多介紹技術細節,就說你熟悉的技術 | 技術面點到為止,等面試官來問 | 你說到的所有技術要點,都可能會被深問,面試官一般會有自己的面試節奏,如果你在介紹時就太多說技術細節,很有可能被打斷,從而沒法說出你準備好的亮點, |
3 不露痕跡地說出面試官愛聽的話
在專案介紹的時候(當然包括后繼的面試),面試官其實很想要聽一些關鍵點,只要你說出來,而且回答相關問題比較好,這絕對是加分項,我在面試別人的時候,一旦這些關鍵點得到確認,我是絕對會在評語上加上一筆的,
下面列些面試官愛聽的關鍵點和對應的說辭,
| 關鍵點 | 說辭 |
| 能考慮到代碼的擴展性,有參與框架設計的意識 | 我的專案XX保險專案,用到SSH技術,資料庫是Oracle,(這個是鋪墊),開發的時候,我會先和專案經理一起設計框架,并參與了框架的構建,連接資料庫的時候,我們用到了DAO,這樣做的理由是,把SQL陳述句封裝到DAO層,一旦要擴展功能模塊,就可以不用做太多的改動, |
| 有調優意識,能通過監控發現問題點,然后解決
| 在開發階段,我就注意到記憶體的性能問題和SQL運行的時間問題,在壓力測驗階段,我會通過xx工具來監控記憶體和資料庫,發現待提升的代碼點,然后通過查資料來優化,最后等專案上線后,我們會部署監控系統,一旦發現記憶體和資料庫問題,我們會第一時間解決, |
| 動手能力很強,肯干活,會的東西比較多,團隊合作精神比較好 | 在專案里,我不僅要做開發的作業,而且需要自己測驗,需要自己根據一些日志的輸出到資料庫或Java端去debug,當我開好一個模塊時,需要自己部署到Linux上測驗, 或者,一旦遇到問題,如果是業務方面的,我會及時和專案經理溝通,如果是技術方面的,我會自己查資料,如果是測驗方面的,我會及時和測驗的人溝通, |
| 責任心比較強,能適應大壓力的環境 | 被問“你如果在專案里遇到問題怎么辦?” 回答:遇到問題我先查資料,如果實在沒法解決,不會拖,會及時問相關的人,即使加班,也會在規定的時間內解決, |
| 有主見,能不斷探索新的知識 | 在專案里,我會在保證進度的前提下和專案經理說我的想法,提出我的解決方案,在開發程序中,我會先思考一下,用一種比較好的方式,比如效率最高的方法實作, 另外你要找機會說出:平時我會不斷看一些新技術(比如大資料Hadoop),會不斷深入了解一些框架和技術的實作底層, |
4 一定要主動,面試官沒有義務挖掘你的亮點
我去面試人家的時候,往往會特別提問:你專案里有什么亮點?或者你作為應聘者,有什么其他加分項能幫你成功應聘到這個崗位,即使這樣問,還有些人直接說沒有,
我這樣問已經是處于角色錯位了,作為面試者,應當主動說出,而不是等著問,但請注意,說的時候要有技巧,找機會說,通常是找一些開放性的問題說,
比如:在這個專案里用到了什么技術?你除了說一些基本的技術,比如Spring MVC,Hibernate,還有資料庫方面的常規技術時,還得說,用到了Java記憶體管理,這樣能減少對虛擬機記憶體的壓力,或者說用到了大資料處理技術等,也就是說,得找一切機會說出你拿得出手的而且當前也非常熱門的技術,
或者找個相關的問題做擴展性說明,比如被問到:你有沒有用到過一對多和多對多?你除了說基本知識點以外,還可以說,一般我還會根據需求適當地設定cascade和inverse關鍵字,隨后通過一個實際的案例來說明合理設計對你專案的幫助,這樣就能延伸性地說明你的技能了,相反如果你不說,面試話一定會認為你只會簡單的一對一和一對多操作,
面試的時候,如果候選人回答問題很簡單,有一說一,不會擴展,或者用非常吝嗇的陳述句來回答我的問題,那么我一般會給機會讓他們深入講述(但我不敢保證不是每個面試官都會深入提問),如果回答再簡潔,那么也會很吝嗇地給出好的評語,
記住:面試官不是你的親戚,面試官很忙,能挖掘出你的亮點的面試官很少,而說出你的亮點是你的義務,
我在面試別人程序中,根據不同的情況一般會給出如下的評語,
1 回答很簡答,但回答里能證明出他對框架等技術確實是做過,我會在評語里些“對框架了解一般,不知道一些深層次的知識(我都問了多次了你都回答很簡答,那么對不起了,我只能這么寫,或許你確實技術很強,那也沒辦法,誰讓你不肯說呢?)”,同時會加一句“表達能力很一般,溝通能力不強”,這樣即使他通過技術面試,后面的面試他也會很吃力,
2 回答很簡單,通過回答我沒法驗證他是在專案里做過這個技術,還是僅僅在平時學習中學過這個技術,我就會寫“在簡歷中說用過XX技術,但對某些細節說不上來,沒法看出在專案里用到這個技術”,如果這個技術是職務必需點,那么他通過面試的可能性就非常小,
3 回答很簡單,而且只通過嗯啊之類的虛詞回答,經過提醒還這樣,我會敷衍幾句結束面試,直接寫“技術很薄弱,沒法通過面試”,
4 雖然通過回答能很好地展示自己的技能,但邏輯調理不清晰,那么我會讓他通過技術面試,但會寫上“技能很好,但表達能力一般(或有待提高),請后繼面試經理斟酌”,這樣通過后繼綜合面試的機會就一般了,畢竟綜合面試會著重考察表達能力交往能力等非技術因素,
不管怎樣,一旦回答簡單,不主動說出你的擅長點,或沒有條理很清楚地說出你的亮點,就算我讓你通過面試,也不會寫上“框架細節了解比較深,資料庫應用比較熟練”等之類的好評語,你即使通過技術和后面的綜合面試,工資也是比較低的,
5 一旦有低級錯誤,可能會直接出局
面試程序中有些方面你是絕對不能出錯,所以你在準備程序中需要尤其注意如下的因素,下面列了些會導致你直接出局的錯誤回答,
| 錯誤型別 | 導致的后果 |
| 前后矛盾,后面的回答無法證明你的專案描述,比如一開始說用到了Spring MVC,后面沒法說出最基本的實作,比如不知道Spring有哪些類,或者沒法說出專案的細節, | 我會懷疑這個專案的真實性,我就會進一步問:資料庫用什么,資料量多少?多少人做了多少時間,一旦再出現明顯漏洞,比如一個小專案用到非常多的時間,那么就不僅僅是技術問題,而是在面試程序中企圖“蒙混過關”的性質了, |
| 專案里一定會用到的基本概念性問題都回答不上,Spring的依賴注入概念是什么,怎么用的,或者Hibernate的一對多怎么實作 | 一旦被我發現概念不知道,我就會通過更多問題確認,如果被我確認很弱,這就相當嚴重,因為技術能力差和技術沒用過是兩個截然不同的狀況,技術沒用過會導致直接出局, |
| 面試時說出的作業經驗和簡歷上的不一致 | 我會直接懷疑簡歷是編的,我會讓候選人解釋,即使是說簡歷寫錯了,我也會問比較深入的問題來核實他的技能和能力, |
| 簡歷上的技能描述和回答出來的明顯不一致,比如明明是只會簡單的Linux,但吹得天花亂墜 | 我會通過一些比較深的問題核實其他技能,找出其他方面吹噓的水分, 所以建議,你可以適當夸張,但別過分,比如你在專案里沒搭建框架但平時學習時搭建過,你可以寫“XX專案的框架是你搭建的”,但你不能說你是一個架構師,非常了解專案的底層, |
| 讓面試官感覺你不穩定,很浮躁,比如說話不莊重,或者面試時打扮非常不正規,就穿背心來, | 即使你技術再好,這個會可能導致你直接出局, 我對油嘴滑舌的候選人一般會直接寫上不好的評語,這樣很難過后面專案經理的面試, 我還遇到一個人,簡歷上作業是半年一換,我問他為什么經常換,他直接說是待遇問題,這個人我是直接Fail掉, |
| 明說不能加班,不能出差 | 其實雖然有這一問,但公司里未必真的會加班會出差,但 聽到這類回答,說明這個人不能承受大壓力的作業,或者責任心不強,大多數公司是不會要這種人的, |
6 引導篇:準備些加分點,在介紹時有意提到,但別說全
在做專案介紹的時候,你可以穿插說出一些你的亮點,但請記得,不論在介紹專案還是在回答問題,你當前的職責不是說明亮點而是介紹專案,一旦你詳細說,可能會讓面試官感覺你跑題了,
所以這時你可以一筆帶過,比如你可以說,“我們的專案對資料要求比較大,忙的時候平均每小時要處理幾十萬條資料”,這樣就可以把面試官引入“大資料”的方向,
你在面試前可以根據職位的需求,準備好這種“一筆帶過”的話,比如這個職位的需求點是Spring MVC框架,大資料高并發,要有資料庫調優經驗,那么介紹以往專案時,你就最好突出這些方面你的實際技能,
再給大家舉個例子,比如Java虛擬機記憶體管理和資料庫優化是絕大多數專案都要遇到的兩大問題,大家都可以在敘述專案經驗時說,在這個專案里,我們需要考慮記憶體因素,因為我們的代碼只允許在2G記憶體環境中運行,而且對資料庫性能要求比較高,所以我們經常要監控優化記憶體和資料庫里的SQL陳述句,這樣當面試官深入提問時,就能拋出自己準備好的虛擬機記憶體優化和資料庫優化方面的說辭,
實在不行,你也可以說“我除了做開發,也做了了解需求,測驗和部署的作業,因為這個專案人手比較少,壓力比較大”,這樣你也能展示你有過獨擋一面的經歷,
我在面試程序中,一旦聽到有亮點,就會等到他說好當前問題后,順口去問,一般技術面試最多辦半小時,你把時間用在回答準備好的問題點上的時候,被問其他問題的時間就會少了,
7 你可以引導,但不能自說自話
我面試的時候,也會遇到些有準備的人,其實如果你真的想應聘的話,一定要事先準備,這點我能理解,甚至贊同,你只要別露出太明顯的痕跡,我不會寫上“似乎有準備,沒法考察真實技能”這種話,更何況未必每個面試官都能感覺出你準備過, 但你不能憑著有準備而太強勢,畢竟面試是面試官主導的,
我遇到個別面試的人,他們說話太多,一般會主動擴展,比如我問他資料庫用什么,他不僅回答資料庫是什么,自己做了什么,甚至順便會把大資料處理技術都說出來,
其實過猶不及,我就會重點考察你說的每個細節,因為我懷疑你說的都是你從網上看的,而不是你專案中用到的,我甚至會直接威脅:“你先和我說實話這個技術你真在專案里用到,我后面會重點考察,一旦被認為你專案里沒做,這個性質就是蒙混過關了”,往往這些人會主動坦白,
不過話說回來,他如果僅僅說,資料量比較大,但點到為止,不繼續說后面的話,我就會深入去問,他自然有機會表達,同時請注意,一般在面試程序中,一旦你亮出加分點,但面試官沒接嘴,這個加分點可能就不是專案必備的,也不是他所關注的,當前你就可以別再說了,或者等到你提問題的時候再說,
8 不是結尾的總結
到這里,我們已經給出了介紹專案的一些技巧,這些技巧都是從 Java Web輕量級開發面試教程和Java核心技術及面試指南里摘錄的,
兩句話,第一,面試前一定要準備,第二,本文給出是的方法,不是教條,大家可以按本文給出的方向結合自己的專案背景做準備,而不是死記硬背本文給出的一些說辭,
當大家介紹好專案背景后,面試才剛剛開始,哪怕你說得再好,哪怕你把問題引導到你準備的范圍里,這也得應付Java Web(比如Spring MVC,ORM等)、Java Core(多執行緒、集合、JDBC等)和資料庫等方面的問題,
那么本文的價值體現在哪呢?如果引導不好,你根本沒機會展示自己的能力,這就是本文給出的方法價值所在,說句自夸的話,本文給出的一些方法和說辭不是拍腦袋想出來的,而是從面試上百個候選人的經歷中抽取出來的,其中有不少血淚,也有不少人成功的途徑,這篇文章多少對大家(尤其是經驗不滿3年的初級程式員)有幫助,這也是本文申請放入首頁的理由,
這不是結尾,我們還將在合適的時候寫一些關于“如何應對常見問題”或“如何快速提升自己能力”等方面的博文,
請大家關注我的公眾號:一起進步,一起掙錢,在本公眾號里,會有更多精彩文章,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/260980.html
標籤:其他
上一篇:金三銀四助力面試-手把手輕松讀懂HashMap原始碼
下一篇:低代碼,想說愛你不容易
