前言
本人985碩士,211本科,專業都是軟件工程,一直投的是java後臺開發,只投過一次網易的測試,技術不是大牛,但是比較努力。實驗室沒有項目,so項目經驗是0,在去年這個時候看到實驗室師兄找工作的艱難,因此開始複習的時間比較早。
我主要是想找成都的公司,但是最開始海投的時候,不管公司在哪裡,我都投了,反正投的公司有幾十家,我認為多面幾家公司可以多增加一點面經。多關注一些技術群,有很多內推信息(很多公司內推可以免筆試,這是很爽的!!),我的前兩個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)
內推-只有一次視頻面。
現在記得的只有這麼多了。
美團
成都提前批(收到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面
北京的電面,就隨便聊聊。
招銀網絡(offer,現場面)
一面
- 自我介紹
- 問項目
- 用過log4j嗎?把他輸出到數據庫用過嗎?
- 一致性hash,怎麼解決hash衝突
- 除了寫代碼,有什麼愛好
- 怎麼保證寫的代碼出錯少
- 寫自己項目中類的函數聲明
- 有沒有遇到什麼有印象的bug
二面
項目,沒什麼好說的,反正問的很深,被懟死了。
hr面
自我介紹;得過哪些獎;家是哪裡;選公司的標準;抗壓的能力;父母是做什麼的,具體一點;父母對於你找工作的意見。
對開發工作的要求,我本來說的不想做android,後來我問他們公司業務時,聽hr的意思就是,如果一個項目用c寫,你就用c,如果用c#,你就用c#,如果是ios,你又用iso,具體用什麼語言都不確定的,然後我就說我什麼都願意做。。。。就醬。
滴滴(二面掛,現場面)
一面
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,現場面)
一面
1.自我介紹
2.自己實現一個鏈表,寫了以後也不說對不對
3.說項目,問了很多,還讓畫框架圖
4.寫生產者消費者代碼,我用的阻塞隊列
5.說我不適合研發,讓轉測試或資料
6.說發的論文的算法
二面
1.自我介紹
2.平時怎麼提高自己的編程能力,我說刷題,他問頻率,我說不忙的時候一天一次,然後他說既然刷那麼多次,怎麼筆試成績還這麼低。。。感覺自己給自己挖了一個坑
3.意向城市
4.自己的缺點,怎麼改進
5.項目中遇到的最大的困難
6.在課題中遇到的最大困難
7.你們4人合作項目是怎麼分工的
8.你有什麼想問的
以上就是參加的所有面試總結,總而言之,作為技術人員就要保持終生學習的態度,讓學習力成為核心競爭力,才能不被時代所淘汰,高效的時間支配能讓你變得更加優秀。
----------
無論是對於剛入行工作還是已經工作幾年的java開發者來說,面試求職始終是你需要直面的一件事情。首先梳理自己的知識體系,針對性準備,會有事半功倍的效果。我們往往會把重點放在技術上,而忽略了人事部分,實際上人事面試也會影響到最終的結果,把每一個環節做好,最終的結果自然不會差。在這總結一些java面試中常問的面試問題,由於過多答案文字已總結成文檔
如果對本次分享的這些面試+筆記+書籍感興趣,可以轉發+私信 “筆記” 免費獲取,小編會一一回復!
閱讀更多 Java領域佼佼者 的文章