Java开发岗:本硕211毕业一年,大厂面试最终拿下美团offer!献上我的面经+Java核心知识点(秋招适用)
自我介紹
本人三年開發,985碩士,211本科,專業都是軟件工程,一直投的是Java后臺開發,只投過一次網易的測試,技術不是太牛,但是比較努力。實驗室沒有項目,so項目經驗是0,在去年這個時候看到實驗室師兄找工作的艱難,因此開始復習的時間比較早。
復習經歷寫在文末
關于復習最后悔的是leetcode沒有刷,有時間一定要刷,有時間一定要刷,有時間一定要刷,對解題思路很有幫助。因為沒有項目經驗,就在網上找了一個項目,對于項目中的問題一定要很熟,用到的技術不僅要會用,還要理解底層,反正每次都會被問,感覺面試官對什么高并發的東西挺感興趣的。
我主要是想找成都的公司,但是最開始海投的時候,不管公司在哪里,我都投了,反正投的公司有幾十家,我認為多面幾家公司可以多增加一點面經。多關注一些技術群,有很多內推信息(很多公司內推可以免筆試,這是很爽的!!),我的前兩個offer都是內推的(美團和攜程),因為美團是成都的,自己也比較滿意,所有后面很多公司的面試都沒有去,但是建議還投的時候還是都投,先拿一個心里有底。
排名按面試時間
面了3面技術,面hr (在池子中泡了3個多月,最后還是gg了)。
一面
這是我秋招的第一次面試,別提多緊張了,聲音都在發抖,自我介紹都不知道說什么。。。
自我介紹(說的很亂)
序列化的底層怎么實現的
synchronized的底層怎么實現的
tomcat集群怎么保證同步
了解nosql嗎?redis?
怎么解決項目中超賣的問題
int的范圍
有什么想問的?
二面
清楚的記得二面是在晚上7點左右,剛走到教研室樓下,看見是杭州的電話,頓時激動了,然后一接,果然是阿里,因為下面很吵,我就一口氣跑到5樓,然后喘著粗氣進行自我介紹。。尷尬
問了項目中超賣的問題怎么解決
你熟悉什么數據結構
說說**,我說了快拍實現的過程,相當于口述代碼,然后問了復雜度
int的范圍,我說的是2的-31次方到2的31次方-1,面試官說具體點,我就不知道了
樂觀鎖vs悲觀鎖
gc
concurrenthashmap分段鎖的細節
設計模式怎么分類,每一類都有哪些
并發包里了解哪些
b樹,b+樹,b*樹
字節與字符的區別
三面
一二面只隔了2,3天,三面和二面隔了2周,當時一直以為自己掛掉了,接到電話也很突然。
自我介紹
項目
知道哪些服務器?答:JBoss,Apache,weblogic。問:區別?
Java有什么后端技術
springIOC優點
jdk動態代理 vs cglib動態代理,他們底層分別怎么實現的
synchronizedMap知道嗎?他和concurrenthashmap分別使用于什么場景?
https過程?公鑰能用公鑰解嗎?在客戶端抓包,看到的是加密的還是沒加密的?當時亂猜的加密,面試官說不對,是沒加密的
描述一下java線程池。
怎么保證redis和db中的數據一致
設計模式怎么用到項目中?
類加載
hr面
不記得3面和hr面之間間隔多久了,也是晚上6,7點收到的電話。
自我介紹
有什么優點?
有什么缺點?
項目中遇到的困難?怎么解決
意向城市 時間已經過去太久了,只記得這么多,可能有些問題不是阿里面試官問的,但都是在面試過程中遇到的,希望能幫到更多的人。
攜程(offer)
內推-只有一次視頻面。
鏈表的定義
怎么實現鏈表翻轉
怎么判斷鏈表是否有環
二叉平衡樹,怎么用一維數組存儲
講講jvm分區
講講jvm gc
怎么求數組的最大子序列和
final關鍵字4種用法
sleep用法
await關鍵字
線程池
spring ioc,aop以及其優點
棧和堆的定義
現在記得的只有這么多了。
美團
成都提前批(收到offer)。
在河畔上看到的內推消息,然后就發了郵件,3、4天后,收到郵件讓去公司面試,在天府三街附近。
一面
先給了一個A4紙,上面寫滿了題,然后就做題。做完題就自我介紹,說項目,問項目里的東西(自己一定要對項目里用的東西很熟,還要明白底層原理,我用了redis,面試官就問了redis怎么實現),然后就問java基礎,面了40分鐘吧,然后就讓我在外面等,過了一會,二面面試官來了。
試卷題目,只記得部分
一、簡答題
1.瀏覽器訪問一個網址的時候都有哪些過程(還要了解DNS查找的過程)
2.tcp三次握手,四次分手
3.線程池
4.你了解的設計模式(面試官說什么單例模式就不用說了)
二、編程題
1.二分查找
2.樹的中序遍歷
三、智力題
給你一個5L和3L桶,水無限多,怎么到出4L
二面
面試官問我覺得一面面的怎么樣,我。。。。然后就看我做的試卷,我竟然連二分查找都寫錯,面試官說不對,然后我改了改就好了,然后面試官就問還有什么可以優化的地方嗎?我只說出來一個。。然后又是自我介紹,說項目,問項目,問基礎。差不多也是40分鐘。
三面
過了幾天,收到3面郵,應該是部門boss,也是自我介紹,然后出了兩個題。
1)一個n*n的矩陣,按副對角線打印
2)4個瓶蓋換1瓶酒,要和150瓶酒,他自己最少多少瓶?然后問了職業規劃。感覺有1個小時。
hr面
北京的電面,就隨便聊聊。
58現場面試(offer)
兩面技術,一面hr,然后就讓我回來了。
技術一面
1.自我介紹
2.根據58筆試題,看著問的 服務器之間怎么通信,寫了一個鏈表反轉,項目中nginx怎么配置的,什么硬件條件可以實現多線程,什么情況下多線程才能發揮作用,mysql索引底層是什么,b 樹和hash應用場景 技術二面 講項目,什么是樂觀鎖,以后的規劃。
hr面
1.項目流程
2.項目中遇到的問題,怎么解決
3.自己最大的缺點
4.喜歡和什么樣的人合作,不喜歡和什么樣的人合作
5.了解58嗎
6.找工作有區域限制嗎?家人支持嗎
7.講了講學生活動,一個活動怎么組織的
8.有其他公司offer嗎?
?中興(一面掛)
所有人在一個大廳里面,很多面試官,每個人兩個面試官。
1.自我介紹
2.手撕代碼1)怎么寫多線程2)1,2,3,4組成的不重復三位數,都用代碼寫出來
3數據庫會不會,我說可以,他問會什么,我說索引,然后讓寫sql,讓我建一個表,我說這種我都是百度的,然后讓我寫了兩個查詢
4.問項目
5.會linux嗎?答不怎么用,會常用命令
6.愿不愿意轉測試,答不愿意,問看不起測試嗎?答不是,只是自己喜歡研發
7.意向城市,答成都,只有成都嗎?答,嗯
?滴滴(二面掛,現場面)
一面
1.一來就手撕代碼,給你三個string s1,s2和s3,判斷s3能不能由s1和s2組成,s1和s2內部元素相對位置不能變,比如a 和bc,可以組成的有abc bac bca,我寫的暴力的,在面試官的指導下改為了動態規劃,不過最后還有不對的地方
2.自我介紹
3.hashcode和equals區別
4.實現一個類,要求要放在hashset里
5.你了解哪些設計模式?我說了一些,然后讓寫了一個單例,我用枚舉寫了一個,感覺面試官不懂,說再寫一個,然后寫了一個雙重檢查的
6.你還有什么要問的?
二面
1.說項目,被批的很慘
2.寫了四次分手的圖,然后問若客戶端和服務器之間,1s會發生5000到6000次短鏈接,會發生什么問題
3.手撕代碼,不斷優化,最后應該是對了
4.你有什么問的嗎?
招銀網絡(offer,現場面)
一面
自我介紹
問項目
用過log4j嗎?把他輸出到數據庫用過嗎?
一致性hash,怎么解決hash沖突
除了寫代碼,有什么愛好
怎么保證寫的代碼出錯少
寫自己項目中類的函數聲明
有沒有遇到什么有印象的bug
二面
項目,沒什么好說的,反正問的很深,被懟死了。
hr面
自我介紹;得過哪些獎;家是哪里;選公司的標準;抗壓的能力;父母是做什么的,具體一點;父母對于你找工作的意見。
對開發工作的要求,我本來說的不想做android,后來我問他們公司業務時,聽hr的意思就是,如果一個項目用c寫,你就用c,如果用c#,你就用c#,如果是ios,你又用iso,具體用什么語言都不確定的,然后我就說我什么都愿意做。。。。就醬。
華為(offer,現場面)
一面
1.自我介紹
2.自己實現一個鏈表,寫了以后也不說對不對
3.說項目,問了很多,還讓畫框架圖
4.寫生產者消費者代碼,我用的阻塞隊列
5.說我不適合研發,讓轉測試或資料
6.說發的論文的算法
二面
1.自我介紹
2.平時怎么提高自己的編程能力,我說刷題,他問頻率,我說不忙的時候一天一次,然后他說既然刷那么多次,怎么筆試成績還這么低。。。感覺自己給自己挖了一個坑
3.意向城市
4.自己的缺點,怎么改進
5.項目中遇到的最大的困難
6.在課題中遇到的最大困難
7.你們4人合作項目是怎么分工的
8.你有什么想問的
?貝貝網
一面
1.自我介紹
2.java同步機制有哪些
3.equals和hashcode區別和聯系
4.進程和線程講講
5.equals和==區別
5.代碼題,沒讓寫,只說了思路,有n個長方形,每個的長寬為x,y,從下往上堆,要求上面的長寬小于下面的長寬,求最多可以堆幾層
6.在瀏覽器輸入一個網址到得到頁面的過程,越詳細越好
二面
1.自我介紹
2.問項目,問的很深,還有什么可以改進的
3.同1面的6題
4.進程vs線程
5.平時怎么學習
6.寫sql
hr面
hr和二面在一起,先二面然后hr面
1.你本來不是杭州人,愿意來杭州工作嗎?為什么
2.有關注杭州其他企業嗎
3.周末平時干什么
4.還有什么問題
面試前我是如何“啃”書復習,刷題提升的
面試前一段時間我不斷找資料學習,也通過很多渠道和朋友要到一份美團架構師寫的Java面試寶典(284篇)我把美團架構師給我的一份Java面試寶典啃完了,從而還找了Java后端以及一些大廠的面試場景和面試題不斷刷題提高自己的眼界
Java核心面試寶典復習知識
這本Java核心知識把每個知識點解析的很深,對大家應該很有幫助,它把大部分的Java知識集結在一起深入的解析出來(非常建議大伙看一看)
這本文檔覆蓋了JVM、鎖、并發、Java反射、Spring原理、微服務、Zookeeper、數據庫、Redis、數據結構、算法、大數據等大量知識點。
Java部分:Java基礎,集合,并發,多線程,JVM,設計模式
數據結構算法:Java算法,數據結構
開源框架部分:Spring,MyBatis,MVC,netty,tomcat
分布式部分:架構設計,Redis緩存,Zookeeper,kafka,RabbitMQ,負載均衡等
微服務部分:SpringBoot,SpringCloud,Dubbo,Docker
求來的大廠面試場景(為了學習提升可以沒臉沒皮,啊哈哈哈)
我針對這些大廠的面經場景也找了很多題刷,對自身的提升也是非常大(還特意要了份面試答案)
面試答案
既然是要面試,那么就少不了刷題,實際上面試前,哪兒也去不了,我自己是刷了不少面試題的,所以在面試過程中才能夠做到心中有數,基本上會清楚面試過程中會問到哪些知識點,高頻題又有哪些,所以刷題是面試前期準備過程中非常重要的一點。
根據自身面試經歷整理以及不斷收集的(珍藏版)
相關的電子書、底層源碼
阿里巴巴面試必備知識想進大廠的朋友們可以獲取看看(對面試進大廠幫助很大)
對于大廠面試,我最后想要強調的一點就是心態真的很重要,是決定你在面試過程中發揮的關鍵,若不能正常發揮,很可能就因為一個小失誤與offer失之交臂,所以一定要重視起來。另外提醒一點,充分復習,是消除你緊張的心理狀態的關鍵,但你復習充分了,自然面試過程中就要有底氣得多。
最后,由于篇幅有限,以上內容中所有的學習資料、面試資料,有需要的小伙伴可以私信【面試】即可!感謝支持!!希望大家面試順利!!
總結
以上是生活随笔為你收集整理的Java开发岗:本硕211毕业一年,大厂面试最终拿下美团offer!献上我的面经+Java核心知识点(秋招适用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 超过ChatGPT3达到ChatGPT4
- 下一篇: 简单实现一个虚拟形象系统