自我介紹
本人三年開發,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失之交臂,所以一定要重視起來。另外提醒一點,充分複習,是消除你緊張的心理狀態的關鍵,但你複習充分了,自然面試過程中就要有底氣得多。
以上內容中所有的學習資料、面試資料,均可以免費提供,希望大家金三銀四面試順利,拿下自己心儀的offer!
答案獲取方式
關注+轉發後,私信關鍵詞 【面試資料】即可獲得詳細答案鏈接!
重要的話講兩遍,轉發、轉發後再發私信,才可以拿到哦!
閱讀更多 java互聯網架構 的文章