您好,登錄后才能下訂單哦!
推薦閱讀:
- 面試機會不等人,資料看精不看多!史上最全Java技術(shù)資料合集!
- 2019年中總結(jié),400道一線大廠高頻精選面試題合集(JVM+Spring+RabbitMQ+Mybatis+Redis+分布式+微服務(wù))
- 整理完今年的阿里、騰訊、網(wǎng)易等公司的面試后,我有一個重要發(fā)現(xiàn)
1. 自我介紹
2. 說項目,項目問的非常深(本人提到之前做過的一篇關(guān)于FULL GC的問題定位和優(yōu)化的項目以及一個多并發(fā)的項目)
2.1 對于自己產(chǎn)于過項目的系統(tǒng)定位是否清楚?
2.2 對于系統(tǒng)的各個模塊是否清楚?
2.3 每個接口的tps?
2.4 對于上下游系統(tǒng)的依賴?
2.5 對于使用到的中間件、框架是否清楚?
3. 你覺得你做的項目中最有亮點的事情?
4. memcache redis同類中間的差異、優(yōu)缺點?使用注意點有哪些?
memcache可以存儲的數(shù)據(jù)類型只有字符串類型,而redis可以存儲字符,list,sorted List,hash數(shù)據(jù)類型的數(shù)據(jù);
memcache不支持數(shù)據(jù)持久化,redis支持RDB,AOF持久化;
memcache不支持集群,redis支持redis-cluster集群
5. redis分布式鎖說說
我提到了redis的setnx()方法,以及使用redis的KV結(jié)構(gòu),lock作為key,key對應(yīng)的value使用map結(jié)構(gòu),map中使用請求requestId作為map的key,過期時間作為map的value,獲取鎖使用cas算法,比較時間是否過期來獲取鎖和釋放鎖
6. TCP,UDP
7. 多并發(fā)項目的并發(fā)量,有沒有壓測過,以及QPS,請求的消息量太大,使用自己創(chuàng)建的任務(wù)隊列會不會使內(nèi)存爆?
8. Redis集群主從數(shù)據(jù)同步
主從集群實現(xiàn)了數(shù)據(jù)的讀寫分離,主服務(wù)器負責讀寫,偏重寫,從服務(wù)器只負責讀。主服務(wù)器啟動之后向從服務(wù)器發(fā)送日志文件,從服務(wù)器根據(jù)日志文件進行數(shù)據(jù)的更新,之后如果主服務(wù)器有寫操作,也會向從服務(wù)器發(fā)送相應(yīng)的寫操作
9. Zookeeper實現(xiàn)選舉的原理
zk的選舉過程中其起始所有結(jié)點的狀態(tài)為looking,當某個結(jié)點的選票超過所有結(jié)點數(shù)的一半,該結(jié)點就會成為leader,結(jié)點狀態(tài)為leading,其他結(jié)點會成為followers,結(jié)點狀態(tài)為following。選舉的依據(jù)是(sid,zxid)數(shù)據(jù),sid代表結(jié)點的ID,zxid代表事務(wù)ID,選舉過程中每個結(jié)點第一輪選舉會選舉自己作為leader,將(sid,zxid)發(fā)送給其他結(jié)點,其他結(jié)點收到數(shù)據(jù)(sid,zxid)與自身的數(shù)據(jù)做比較,如果zxid比自身zxid的要大,則直接選舉當前結(jié)點;如果小于,堅持選舉自己;如果zxid相等,比較sid哪個大,大者作為leader。
10. 說說分布式(我說的是Dubbo)
11. 數(shù)據(jù)庫事務(wù),分布式數(shù)據(jù)一致性如何實現(xiàn)?
讀者可以了解一下ZAB協(xié)議,我大概就是圍著ZAB協(xié)議說的
12. SpringIOC,SpringAOP
我簡單說了說IOC,AOP的原理,以及原理依賴的模式
13. 數(shù)據(jù)庫事務(wù)的隔離級別
四大隔離界別:Uncommitted-read Commited-read Repeated-read Serializable分別針對數(shù)據(jù)庫臟讀,不可重復讀,虛讀問題
14. 談?wù)凴PC
RPC遠程調(diào)用,說了說原理,使用到的組件,以及RPC主要的任務(wù):序列化,傳輸數(shù)據(jù),方法調(diào)用(方法對應(yīng)的ID)
15. 算法題:筆試題-最短路徑問題(這道題是通過的)
某物流派送員p,需要給a、b、c、d4個快遞點派送包裹,請問派送員需要選擇什么的路線,才能完成最短路程的派送。假設(shè)如圖派送員的起點坐標(0,0),派送路線只能沿著圖中的方格邊行駛,每個小格都是正方形,且邊長為1,如p到d的距離就是4。隨機輸入n個派送點坐標,求輸出最短派送路線值(從起點開始完成n個點派送并回到起始點的距離)。
我的做法是使用排列算法,將所有的情況排列出來,計算最短路徑
1. 自我介紹
2. 懟項目,各個角度刁難
3. FULL GC問題排查工具
我做項目時其實沒有使用什么工具,就是用Linux命令TOP,TOP交互命令 1,H;jsatck,jstat以及JVM的相關(guān)參數(shù)和JVM日志的查看
4. 從事開發(fā)遇到最具有難度的問題
5. Spring事務(wù),嵌套事務(wù)
這道題其實我是被問懵了,我回答得相當不好,一直回答事務(wù)隔離那一塊,面試完我總結(jié)了一下有關(guān)Spring事務(wù)相關(guān)知識點
6. 面向接口編程的好處是什么
問的問題太抽象,我回答不好,面試官說不夠完善
7. 數(shù)據(jù)庫兩個insert同時操作同一張表,第一個線程操作一半,問第二個線程會發(fā)生什么?
我回答的稀巴爛,下來查了一下,大概就是說這里涉及到的鎖是間歇鎖,讀者可以看看相關(guān)知識
8. 說說死鎖
舉個例子,兩個線程1和2,兩個鎖a和b,線程1拿到a鎖后申請要b鎖,而同時線程2已經(jīng)拿到b鎖,要申請a鎖,兩個線程之間陷入僵持狀態(tài)
二面技術(shù)面之后,就是HR,這個就不多說了。整體螞蟻金服的面試感受,面試官很專業(yè),要求基礎(chǔ)知識很熟悉,面試之前一定要準備后再去面試。LeetCode題目也要刷。
切記面試前一定要刷題和準備,簡歷上的項目不熟悉的千萬不要寫上去,寫上去的項目備好2-3個技術(shù)方案。
碼字不易,覺得有幫助的可以幫忙點個贊,讓更多有需要的人看到
又是一年求職季,在這里,我為各位準備了一套Java程序員精選高頻面試筆試真題,來幫助大家攻下BAT的offer,題目范圍從初級的Java基礎(chǔ)到高級的分布式架構(gòu)等等一系列的面試題和答案,用于給大家作為參考,需要面試資料的可以 免費獲取
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。