紙上得來終覺淺,絕知此事要躬行java
——2017春季Java後端研發工程師面試心得程序員
收穫offer:上海漢得+北京中科軟+成都百詞斬+成都諾基亞研發中心+清華大學計算機研究所等offer、阿里一面猝、京東三面經過,進入備胎池,呵呵~)面試
本人徐佳慶,做爲大三汪一枚,從2017年2月15日,開始了的屬於本身的實習求職之路,哈哈。截至到今天,已經有將近三個月了。在這段求職的日子裏,本汪真的是飽經了摧殘,酸甜苦辣嚐了個遍。redis
說到底,將來仍是迷茫呢,想一想剛入學時的暗下決心,「我必定要去BAT!」,如今經歷了這些,恍然又證明了「理想很豐滿,現實很骨感」的「千古名言」,讓人不得不去痛定思痛,看清本身,給本身一個合理的定位。算法
好了,廢話很少說了,切入正題,就以我印象最深入的一次面試經驗和你們聊起吧,走起!spring
【京東】sql
筆試:數據庫
這個筆試原本是能夠不參加的,由於咱們實驗室王兵老師,幫我找了在京東一位的師姐,幫忙內推(tips:和導師搞好關係,省去了筆試,會爲你帶來很大便利),可是聽說是系統有了啥子問題,不能走內推渠道了,只好從新參加筆試了。(寶寶心裏是拒絕的!)京東的筆試,總體不難,選擇題考的比較全面也比較深入,涉及到了java基礎、操做系統、計算機網絡、數據結構和數據庫,說實在的很基礎,只要平時學紮實了,後面複習到位了,就沒毛病!本次的編程題不是很難,這個只要你們平時抓住基礎,也就不會有太大問題。說到這裏,仍是推薦你們在牛客網多去刷刷題,你敢怒刷編程2000道,BAT都在向你招手呢,哈哈,實話。編程
一面:後端
一面的地點是在成都的向陽大廈,又是五星級賓館。其實當時,我去的時候,基本就沒有抱有太大的但願,由於受到過阿里面試官的一面摧殘後,我就慢慢對這些大企業的面試充滿了一種畏難情緒。可是此次有點不同,比我先去的一位同班同窗,面試了京東的一面,我聽他給個人轉述,不是特別難,而後本身就鼓起勇氣,告訴本身,去試試看。。。
一面的面試官是個小姐姐,不是我在這裏亂講,聲音真的好甜奧,哈哈。剛開始就是自我介紹,大概就是2分鐘。其實在這兩分鐘的過程當中,她是在瀏覽你的簡歷,而後根據你的簡歷進行發問。我記得,當時,她先問了個人項目,而後在簡歷上對應的位置上進行標註,表示你會使用什麼技術。而後,第二遍的時候,她會根據你的技術點,對你進行更爲深刻的發問。一面,她問到了這些:
(1)我項目中使用sql server和asp.net作了油井安全預警系統,她就問了我在項目中多條件的複雜查詢是如何實現的,從前臺設計說到後端的數據庫表的設計?
(2)談下servlet原理以及其生命週期?
(3)監聽器和過濾器的區別和應用場景?
(4)Spring mvc的特色?
(5)Spring IOC 和AOP?
(6)Spring 註解的實現原理,形參列表和返回值如何獲取?
(7)談談ArrayList和LinkedList?
(8)你作過推薦系統,那你的推薦系統是如何設計的?算法是如何設計的?
(9)Jdk 和 JRE的區別和聯繫?
(10)collection和collections的區別?
(11)數據庫事務的特性以及數據庫事務的隔離級別?
(12)談下nosql?
(13)Bootstrap的設計理念?
(14)說下collection的繼承樹?
(15)jvm垃圾回收機制,深刻到內存的分配?
(16)指望的工做城市?
一面完畢,小姐姐讓回去等待通知,結果,當天晚上8點就等到了二面的邀請,哦耶~
二面:
說實在的,面二面的時候,內心壓力仍是挺大的,感受二面的人,明顯沒有面一面的人多了,仍是刷下去很多的人。二面的面試官,是個40歲左右的男性,一看就很老練,也不笑,一臉嚴肅的樣子,(唉,這個時候就不能提一面的小姐姐,哼~)。你們都知道,二面,俗稱「壓力面」,這一面果真名不虛傳,二面中的問題更加深入和尖銳,感受本身總體面的還行,可能細節上不是很好。二面,仍是基於項目進行深刻並會進一步展開。
(1)你作過數據挖掘的項目,數據清理的工做是怎麼作的?
(2)hibernate和mybatis的區別?
(3)你都知道哪些設計模式?設計模式的好處的什麼?
(4)spring mvc中用到了工廠方法模式,該模式和傳統的工廠方法模式有什麼區別和聯繫?
(5)手寫快速排序算法?時間複雜度?和冒泡排序的對比?
(6)緩存用過嗎?memcached和redis的區別和聯繫?
(7)負載均衡瞭解過嗎?
(8)談下static關鍵字?
(9)談下final關鍵字?
(10)指望的工做城市?
整體,二面問的更加接地氣,問的更深刻了,可能本身的回答不夠完備,也可能本身的答案並非面試官想要的,因此二面感受面的很日常。此後,面試官讓回去等待HR面的電話通知。
三面:
二面結束後的次日,接到了來自北京京東商城的HR的三面的通知,主要包括:
(1)自我介紹?3分鐘左右
(2)戶籍是哪裏的?
(3)拿的獎學金?
(4)作過的印象最深入的項目?最大的收穫是什麼?
(5)能不能保證明現3個月以上?
(6)比較下手頭的offer?(實際上是經過你的比較,她去獲取你的求職的意向和基本的職業傾向)
三面完畢,仍是讓等啊(心塞~)HR說的是一週以內給答覆。然鵝,在第八天的時候收到了感謝信,感謝信,感謝信,唉,只能說盡力咯!
好了,下課!
其餘的還有不少具體的面試知識點,因爲時間關係,就不在枚舉,有須要的同窗,加我QQ:3072966990,咱們詳細聊下吧,嘿嘿。
總結:
下面,我總結幾點,提供給你們參考:
(1)簡歷上的項目必定要寫清楚項目的背景、你在項目中所承擔的角色,這樣面試官才方面根據你的功能點進行發問,不然他連你要作的什麼東西都搞不清楚,你還期望他問你技術的細節?
(2)回答問題必定要有邏輯,對方若是問的比較寬泛,好比:「你怎麼看XXX」、「談談你對XXX的認識」,這樣的發問,必定要理順思路再回答,從概念、原理、應用、相同點、不一樣點、優點劣勢等角度分析。這樣,面試官會以爲你思考問題有邏輯。
(3)對本身不會的東西,必定要勇敢說「不知道」,在程序員的世界裏只有0和1,你給面試官整模棱兩可的東西,會給你的印象減分的。
我的感覺:
紙上得來終覺淺,絕知此事要躬行。本身和那些大牛仍是有很大的差距的,不管是基礎知識,仍是在前沿的知識上,都須要進一步的努力,去提高本身。
回頭想一想,三個月的奮戰,本身又不只僅是爲了找一份滿意的工做,重要的是,本身在複習的過程當中,進一步理順了做爲一個java後端研發工程師的學習路線,鞏固了基礎的專業知識,夯實了須要具有的基本技術能力,這即是一種收穫!
是否是必須進了BAT纔算的上是人生的成功?我想未必!只要有一顆熱忱的心,慢慢在本身的工做崗位,在程序人生的道路上摸爬滾打,總會「柳暗花明又一村」!(哈哈,聽我絮絮不休咧,等待社招再戰!)
分享人:14軟件卓越 徐佳慶