兩年Java開發工做經驗面試總結

動機:java

最近換了個公司,從三月底開始面,面到四月底,面了有快二十家公司。我是一個喜歡總結經驗的人,每通過一場面試,我在回來的路上都會仔細回想今天哪些問題能夠答的更好,或者哪些問題是本身以前沒遇到過的,或者是哪一個知識點今天又問了等等。四月中旬的時候,我就在構思要寫一篇面經,主要是想着可能對那些跟我相同處境的人有點幫助,再者就是稍微記錄下這爲期一個月的面試過程。linux

我的介紹:面試

首先介紹下我面試時的自身條件狀況,我把本身的狀況分爲優點和劣勢來講可能更有利於大家比較自身狀況。ajax

劣勢:算法

15年7月畢業後開始到上海工做,面試的時候是17年3月到4月,一年多的經驗,勉強算兩年經驗。分析:一年多經驗我認爲是比較尷尬的,處於一個不上不下的位置,不少公司比較喜歡招三年經驗的,或者直接招應屆生來培養。 畢業於一個非985/211,勉強上一本的高校。分析:這個相對影響較小,由於有工做經驗後,公司對學校的要求就沒那麼高了,只要是本科就基本沒問題,可是仍是有個別叼毛公司只要985/211。 前一家公司是傳統電信行業,加入項目組時,項目已經上線有段時間了,咱們的任務就是有需求就開發,有bug就優化,其餘時間就聊騷,各幹各的,工做一年多跟在養老同樣,用一句話說就是編程5分鐘,扯淡2小時,項目經驗嚴重不足,沒開發過很難的需求。分析:這一點是最傷的,公司招有經驗的就想看你都幹了些什麼牛批的東西,結果你告訴面試官我寫的需求都是垃圾。 優點:sql

大學時拿過比較多的獎,校級優秀學生,市級優秀畢業生,省級ACM二等獎等。分析:大學的榮譽對一個有工做經驗的人來講,公司不必定會看重,可是可能會對面試官產生微妙的影響,特別是ACM獎,我碰到過有的面試官也是搞過ACM的,有共同的話題聊起來老是比較容易的,可是也要注意不能把這一欄篇幅寫的過於多,只能看成點綴用,我當時是放在簡歷最後一欄,簡要的寫了最主要的幾個獎。 良好的溝通交流能力。分析:這個能力不會是關鍵性的,可是能夠加分。 較強的學習能力和邏輯思惟能力。分析:有些公司和麪試官仍是比較看重一我的的學習能力的,經驗表明着你如今在什麼級別,而學習能力則表明着你未來能到達什麼級別。 學習過程:數據庫

看了個人優劣勢介紹,你會發現個人優點相對於個人劣勢來講,簡直不值一提。我本身對此也有清晰的認識,所以從過完年以後,我就開始抓緊空閒時間學習。學習的過程以下:編程

1.看面試題後端

正常人第一步確定都會看面試題,我也不例外,在看的過程當中,我發現有些文章寫的不錯,對我幫助不小值得推薦,以下:設計模式

Java面試題全集(上)不少基礎的東西,建議先看。 各大公司Java後端開發面試題總結 面試心得與總結—BAT、網易、蘑菇街 關於Java面試,你應該準備這些知識點 2.深刻學習

在看面試題的過程,你會遇到一些本身沒接觸過的或者之前沒深刻學習過的知識,例如最常問的HashMap內部實現原理,這就促使你得開始去看JDK的源碼或者是學習一些新的東西。看源碼是很重要的一步,起步很難,可是會讓你收益良多,看源碼的過程若是碰到沒法理解的地方,能夠百度看下別人的理解。我學習源碼的過程當中,看過幾我的的關於源碼的文章寫的很不錯,以下:

五月的倉頡 zhangshixi的Core java系列 個人公衆號:JoonWhee 3.熟悉項目

找出本身工做以來開發過的最叼的功能,將整個功能的流程和涉及的東西吃透(這邊有個小捷徑,若是你以爲項目中別人作的某個功能很牛逼,你能夠把這個功能吃透,面試時能夠拿出來說)。項目是面試中必問的環節,通常是以一個功能點爲基礎展開問,所以你必須對這個功能有很深的認識,不能有模糊的地方。若是有時間,能把涉及到的知識點也搞懂最好。

4.作面試題

有很多公司是有面試的,若是你沒有準備過,很容易在各類小地方犯錯,建議去一些面試題網站多作些題目,我本身是用的牛客網。

5.學習記錄

把本身天天的學習時間和學習內容記錄下來,可讓本身更有動力的學習,學習是一個枯燥的過程,你必須讓本身時刻保持有動力。

投簡歷、約面試環節

1.在哪些網站投?

拉勾網、BOSS直聘、獵聘網。

2.是否該海投?

投簡歷分爲兩個狀況。

沒有社招面試經驗:建議採起海投的方式,只要職位要求跟本身比較匹配均可以投,累計面試經驗。這個環節能夠把投簡歷的網站增長兩家:智聯和無憂。 自認爲社招面試經驗已經足夠:投那些職位匹配、公司滿意的職位。公司評價能夠去看準網、百度、知乎等查詢。 3.一天約幾家面試合適?

最理想的狀況爲2家面試,上午通常在10點左右,下午通常在2點左右。建議把理想的公司放下午,由於下午的時間比較充足,可讓公司更充分的瞭解你。我開始面的時候,每次都是上午面的很差,下午面的不錯。

4.投簡歷常常沒下文?

我當初也沒想到簡歷篩選這關有這麼難,多是個人簡歷確實亮點很少,再者HR不少都不是行內人,所以他們看得最直接的就是你上家的公司和你畢業的學校,若是你不是從牛逼的公司/學校出來,可能會碰到和我同樣的狀況,應對的辦法就是多投。

5.是否該裸辭?

我一開始是邊上班邊投,而後利用調休時間,或者請假去面試。後來,面試機會愈來愈多,請假太頻繁了,本身都很差意思了,而且本身也已經有足夠的信心,這個時候我選擇了裸辭。裸辭還有一個緣由是,在面試過程當中你會發現,有的公司要人要的緊,若是你的辭職流程過長可能會致使你錯過這個公司。

6.注意事項

面試前一天把路線和時間算好,最好別遲到。 背個書包,帶好簡歷、充電寶、紙巾、雨傘。 面試環節

1.筆試常見的問題?

面試常見的問題上面給的面試題連接基本都有。我只提幾點:

寫SQL很常考察group by、內鏈接和外鏈接。 手寫代碼:手寫代碼通常考單例、排序、線程、消費者生產者。我建議排序算法除了冒泡排序,最好還能手寫一種其餘的排序代碼。試想:若是通常面試者都寫的冒泡排序,而你寫的是快速排序/堆排序,確定能給面試官留下不錯的印象。 2.面試流程?

讓你自我介紹 問Java基礎知識 問項目 情景問題,例如:你的一個功能上了生產環境後,服務器壓力驟增,該怎麼排查。 你有什麼想問面試官的 3.面試常問的知識點?

1)集合相關問題(必問):

HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底層實現。 HashMap和Hashtable的區別。 ArrayList、LinkedList、Vector的區別。 HashMap和ConcurrentHashMap的區別。 HashMap和LinkedHashMap的區別。 HashMap是線程安全的嗎。 ConcurrentHashMap是怎麼實現線程安全的。 2)多線程併發相關問題(必問):

建立線程的3種方式。 什麼是線程安全。 Runnable接口和Callable接口的區別。 wait方法和sleep方法的區別。 synchronized、Lock、ReentrantLock、ReadWriteLock。 介紹下CAS(無鎖技術)。 volatile關鍵字的做用和原理。 什麼是ThreadLocal。 建立線程池的4種方式。 ThreadPoolExecutor的內部工做原理。 分佈式環境下,怎麼保證線程安全。 3)JVM相關問題:

介紹下垃圾收集機制(在何時,對什麼,作了什麼)。 垃圾收集有哪些算法,各自的特色。 類加載的過程。 雙親委派模型。 有哪些類加載器。 能不能本身寫一個類叫java.lang.String。 4)設計模式相關問題(必問):

先問你熟悉哪些設計模式 而後再具體問你某個設計模式具體實現和相關擴展問題。 5)數據庫相關問題,針對Mysql(必問):

給題目讓你手寫SQL。 有沒有SQL優化經驗。 Mysql索引的數據結構。 SQL怎麼進行優化。 SQL關鍵字的執行順序。 有哪幾種索引。 何時該(不應)建索引。 Explain包含哪些列。 6)框架相關問題:

Hibernate和Mybatis的區別。 Spring MVC和Struts2的區別。 Spring用了哪些設計模式。 Spring中AOP主要用來作什麼。 Spring注入bean的方式。 什麼是IOC,什麼是依賴注入。 Spring是單例仍是多例,怎麼修改。 Spring事務隔離級別和傳播性。 介紹下Mybatis/Hibernate的緩存機制。 Mybatis的mapper文件中#和$的區別。 Mybatis的mapper文件中resultType和resultMap的區別。 7)其餘遇到問題:

介紹下棧和隊列。 IO和NIO的區別。 接口和抽象類的區別。 int和Integer的自動拆箱/裝箱相關問題。 常量池相關問題。 ==和equals的區別。 重載和重寫的區別。 String和StringBuilder、StringBuffer的區別。 靜態變量、實例變量、局部變量線程安全嗎,爲何。 try、catch、finally都有return語句時執行哪一個。 介紹下B樹、二叉樹。 ajax的4個字母分別是什麼意思。 xml全稱是什麼。 分佈式鎖的實現。 分佈式session存儲解決方案。 經常使用的linux命令。

一些經驗:

先投一些普通公司,等面出了心得再去投理想的公司。 不熟悉的技術不要主動提。 對於那種實習期6個月還打8折的公司,除非你沒有其餘選擇了,不然不要去。 小公司喜歡在薪水上壓你,開的時候適當提升。 不要去參加招聘會,純粹是浪費時間。 把面試看成一次技術的交流,不要太在乎是否能被錄取。 公司通常面完就決定是否錄取了,讓你回去等消息這種狀況通常沒戲,不管你本身以爲面的有多好。 儘可能少經過電話面試,效果很差。 在面試的日子裏,要保持天天學習,不管是學習新東西仍是複習舊東西。 拿到offer了,問問本身這個公司讓本身100%滿意了嗎,若是不是,請繼續努力找更好的。 經過面試官能夠大概判斷這家公司的狀況。 拉勾投的簡歷不少會被篩掉,可是拉勾仍是面試機會的最主要來源。 理想的公司能夠多投幾回,我有好幾回都是第一次投被篩掉,多投幾回就過的經驗。 問到本身有深刻研究過的知識,抓住機會好好表現,不要輕易放過。

一、具備1-5工做經驗的,面對目前流行的技術不知從何下手,

須要突破技術瓶頸的能夠加。

二、在公司待久了,過得很安逸,

但跳槽時面試碰壁。

須要在短期內進修、跳槽拿高薪的能夠加。

三、若是沒有工做經驗,但基礎很是紮實,對java工做機制,

經常使用設計思想,經常使用java開發框架掌握熟練的,能夠加。

四、以爲本身很牛B,通常需求都能搞定。

可是所學的知識點沒有系統化,很難在技術領域繼續突破的能夠加。

  1. 羣號:高級架構羣 Java進階羣:180705916.備註好信息!送架構視頻。

6.阿里Java高級大牛直播講解知識點,分享知識,

多年工做經驗的梳理和總結,帶着你們全面、

科學地創建本身的技術體系和技術認知!

相關文章
相關標籤/搜索