大家在面試時,哪怕准備再充分,也不都可能一帆風順。請記住:面試回答不好是很正常的,尤其在你剛開始面試的時候。
所以你一定要有良好的心態:面試成了最好,不成的話面試官是免費給你一次鍛煉的機會,而且免費告訴了你一些面試題,你也是賺的。但如果你一方面被在面試中表現不好,同時另一方面什么都不做,那么我可以說,哪怕面試十次也不會提高,而且即使你進了公司,你的薪資待遇也是被嚴重低估的。
在本文里,就將結合本人面試官的經驗,告訴大家一些可以操作的做法。
1 坦誠相對,說明你的擅長點,讓面試官給次機會
我遇到過個別候選人,他技術點知道一點,並非什么都不知道,屬於可上可下的。比如項目是要SSM框架,但他在這方面只有學習經驗,沒商用項目經驗,但他JDK,數據庫可以,他就直說,SSM不行,但亮出他的長處,比如舉例說明他學習能力很強,或者很能吃苦,溝通能力可以,然后表達出強烈想入職的願望,我一般都會給出“技術可以(或技術勉強可以),能參加后繼面試”的評語。
大家在面試的時候,回答問題好壞自己能估計出來,如果太差,屬於一問三不知的,即使說這種話也沒用,但如果你感覺回答的時候並非一無是處,就可以找機會說出這種話。
我列出一些可以作為補救的因素。
補救因素 |
可以列出的證據 |
雖然沒有XX,(比如SSM框架方面),項目經驗,但在平時學習過,自己動手寫過代碼。 |
我看過XX書,自己了解過這種技術,或者了解過同類技術,同時說出對這種技術的了解點 |
學習能力很強,有強烈的學習新技術的願望。 |
畢業設計的技術我不知道,但我用了很短時間就掌握了,或者以前在公司里我屬於什么也不懂的,但我肯問,用了XX時間久知道了。 或者,最近比較熱門的XX技術,雖然我項目里用不到,但我自己已經學過了,然后說說你的學習情況。 |
肯吃苦,能加班,能出差,能適應大壓力下的環境 |
列出以前公司加班,壓力大的一些情況 |
很擅長和別人溝通,在項目里遇到不熟悉的,肯問別人 |
在以前公司的時候,遇到問題我不會積壓,有需求上的問題找XXX,技術上不懂會找XX,遇到有Bug能找Test |
事先了解到這個公司的項目背景,然后說自己知道這方面的知識 |
比如XX公司做雲計算的,你即使沒項目經驗,甚至也沒有動手寫代碼的經驗,但你可以說,了解過這方面的知識,知道開發流程,知道入手點 |
說明你對Java里某個技術點研究特別深入,肯鑽研 |
比如很了解Java的內存管理,說明你是通過看文檔或者看底層代碼自己研究說,那么面試官想想即使你沒他需要的技能,但有自己的一套研究方法,肯鑽研,也會適當考慮。 |
說明你的責任心,穩定性比較強,肯在一個崗位上很鑽研下去 |
這個比較好說,大家可以結合自己的情況自行說明 |
2 通過展示你以前的亮點,讓面試官相信你的潛力和能力
如果你屬於工作經驗少於3年的,面試官其實對你不會要求太苛刻,其實更會關心你的學習能力,工作責任心,承受壓力的情況,責任心,穩定性,剛才提到的補救措施你一定要有證據說明,你得用事實講話,畢竟空口無憑。
下面我舉出一些我面試過程中聽到的別人說出的一些亮點,大家可以舉一反三靈活掌握。
1 我雖然對您剛才說到的SSM技術了解不深入(事實上他是還是會在項目經理搭建好框架的基礎上開發,還能知道一點,如果一點也不知道,說了也沒用),但我對MVC框架了解過,我以前做過的項目是用Jsp+Servlet3.0+JDBC實現的,也單獨用過Spring的框架,所以我很快能上手。(我會適當問他JSP+servlet+JDBC里MVC的流程,如果他能說上來,我就會在評語上寫“了解基本的SSM,了解MVC框架,知道MVC的開發方式”,但如果他不額外說明,或許我就會寫,“只會在項目經理搭建好的基礎上了解SSM,不了解框架細節”,這樣即使他通過我的技術面試,后繼的項目經理看到評語也不會對他有太多的好感)
2 最近的項目里我沒用到SSM,最近的項目我是在做前台,這個是在一年前用到的(這個有些危險了,最好是在半年前用過這個技術或者相關類似技術,不過話說回來,你即使最近沒用SSM,但在簡歷上說用過,只要你能回答出基本問題,我也沒法核實),但我對SSM框架了解很深,我知道Spring里MVC的底層實現,感覺Spring的MVC有一定的缺陷,也在商業項目里搭建過SSM,所以我能很快上手。(這樣我會細問他提到的SSH的底層細節,如果他確實對底層細節了解不錯,那么我會寫上“最近一年沒用過SSM,但對SSM底層有一定的了解”,否則的話,我僅僅會寫“最近沒用過SSM,SSM的項目經驗僅限於一年前”,大家可以比對一下兩個評語之間的差別)。
3 (我是為一個保險項目招人)我沒有 SSM方面的經驗,以前都是用Jsp+servlet3.0+JDBC這套模式開發的,(這是大實話,不過如果他面試前好好准備的話,不該說出這種話出來),但我以前做過保險相關的項目,客戶是XX,實現了保險項目里的XX流程,而且我知道一些背景的業務。(這樣我會把決定權交給二面的經理,否則的話,我將直接寫“不了解SSH,沒法通過面試”)。
4 我對Java技術了解一般,(確實一般,只會用語法,不會融會貫通),這是因為我在上個項目里壓力很大,需要直接和客戶交流,我需要直接和客戶交流,直接了解需求,自己開發,自己測試,最后打個Jar包給客戶,所以我感覺我的綜合能力很強。(我會關於這方面問點細節問題,比如怎么打jar包,測試的時候怎么做的,如果確實能說上來,我會在評語上寫“Java能力一般,但知道整個開發的流程,能獨立地完成某個模塊的任務”,否則我只會寫“Java能力很一般,不了解一些深入的知識點”)。
5 雖然我沒有商業項目的經驗(是個應屆畢業生,簡歷上的項目被我問出是畢業設計或者是課程設計項目,但他如果直接把這些技術寫成在讀書時在外面公司里做的,我是沒法核實的),但我自學能力比較強,我學習的時候走了不少彎路,但我現在很了解JDBC和Spring IOC的底層實現,我知道最近熱門的一些技術,所以你們公司的一些技術我能很快上手。(我會在評語上寫,“沒商業項目經驗,但學習能力很強,請后繼面試官斟酌”,這總比“沒商業項目經驗,不建議通過面試”的評語要好)
4 記下所有的面試題,回家后准備好,迎接下次面試
當你感覺你成功應聘這個崗位的希望有些渺茫時,你需要做如下的事情:
1 記錄下所有的技術面試題,回家查資料,為下次同樣問題做准備。
請記住,這里一定請觸類旁通,比如被問倒了Java多線程方面的知識點,那么最好把相關Java高並發的知識點都看下。
2 找出沒成功的原因,比如這個崗位需要有項目經驗的,你所描述的項目經驗最終被認為是非商業項目,那你就要更新項目描述,下次說的時候讓你的項目聽起來更像商業商業項目,如果是因為你其中針對項目框架數據庫等問題沒回答好從而讓面試官認為這個不是商業項目,你就得去找一個真實的項目,看看這些技術在項目里是怎么實現的。
不要說一些沒什么工作經驗的,即使一些工作經驗5年以上的資深者,在剛開始換工作的幾家面試公司里,未必能回答好,因為他即使做了很多准備,也不知道當前面試會問些什么,所以面試前你要做好“不成功”的准備,成了最好,一旦沒成,積累經驗,下次你就成了。
5 你發現你基礎差,不知道怎么應對面試時的對策
我大概在2016年6月輔導過一個人面試,他上海一個非著名學校計算機系研究生剛畢業,雖然有碩士學歷,雖然有4年工作經驗,但是讀研前不是做計算機的方面的工作,是電腦銷售之類的工作,我第一次給他做模擬面試的時候,他的Java技能估計還不如平均水平,不了解Java內存管理,多線程,集合,數據庫方面僅僅會用最基本的,(你想,讀研3年,一年要寫論文,其實也就2年學習,而且學的僅僅是課本上的基本語法,沒Java工作經驗的,能好到哪里去?能寫出一個能成功運行的SSM代碼就不錯了)。
我給他的建議是:
1 用最多一周時間,惡補Java,數據庫等各方面知識點,不知道的硬背,盡可能多了解一些細節。
2 自己從網上找一個或多個SSM的項目,不論是商用的還是學習的都行,如果找不到,出錢到淘寶之類的地方買一個,找到后先配置運行通過,然后逐一看Spring,Mytibas的做法,這個工作需要在1周內完成,加上第一點的工作,最多在10天內完成。
3 更新簡歷,把第二點學到的項目寫到簡歷里。
4 准備一些亮點,比如自己搭建過SSM,數據庫方面知道索引,知道SQL調優,知道Java內存管理等等,亮點越多越好。
10天后再找他面試,他也很爭氣,至少能像模像樣說出項目經驗和一些基本技能,我再對他說,你去了解一下測試,設計數據表,需求調研的實施要點,同時到網上多找些面試題准備一下,給你2天時間。
2天以后我看他大致可以,讓他去面試,剛開始找些小公司練手,他去了3家面試,第一家大概有一半問題沒回答上,第二家在框架,數據庫高級應用,Java復雜知識方面沒答好,第三家回答就不錯(因為該問的他都知道了),要了工資8千(信心不足,要少了),當場就成了。
一個0基礎的人都能這樣,只要你做好充分的准備,也一定能成。
本博文的內容摘自Java Web輕量級開發面試教程