支付寶一面(基礎(chǔ)面)
1.介紹一下自己。
2.項(xiàng)目參與的核心設(shè)計(jì)有哪些
3.ArrayList和linkedList底層
4.HashMap及線程安全的ConcurrentHashMap,以及各自優(yōu)劣勢
5.Java如何實(shí)現(xiàn)線程安全
6.Synchronized和Lock哪個(gè)更好?
7.HashMap中的get()方法是如何實(shí)現(xiàn)的?
8.HashMap可以用在哪些場景?
9.JVM,垃圾回收機(jī)制,內(nèi)存劃分等
10.SQL優(yōu)化,常用的索引?
11.還有什么問題需要問的。
支付寶二面(問了死鎖,線程,項(xiàng)目入手)
1.沒有自我介紹,直接問做過哪些Java開發(fā)相關(guān)的項(xiàng)目。
2.對哪些技術(shù)比較熟悉?
3.多線程狀態(tài)圖,狀態(tài)如何流轉(zhuǎn)?
4.死鎖,死鎖原因
5.樂觀鎖、悲觀鎖?
6.樂觀鎖如何保證線程安全?
7.用過線程池嗎,對應(yīng)的好處,如何用?
8.0兩個(gè)10G的文件,里面是一些url,內(nèi)存只有1G,如何將這兩個(gè)文件合并,找到相同的url?
9.1000個(gè)多并發(fā)線程,10臺機(jī)器,每臺機(jī)器4核的,設(shè)計(jì)線程池大小。
10.說一下自己的優(yōu)點(diǎn)。
支付寶三面(現(xiàn)場面,主要從解決問題,分布式問起)
1.jvm性能調(diào)優(yōu)都做了什么
2.數(shù)據(jù)庫性能調(diào)優(yōu)如何做
3.分布式系統(tǒng)原理:CAP,最終一致性,冪等操作等
4.高并發(fā)情況下,我們系統(tǒng)是如何支撐大量的請求的
5.集群如何同步會(huì)話狀態(tài)
6.常用NOSQL,有做過比較?
7.什么情況會(huì)出現(xiàn)雪崩,以及如何應(yīng)對?
8.負(fù)載均衡的原理
9.負(fù)載均衡算法有哪些?了解Nginx的分流?
10.如何解決高并發(fā)?
11.數(shù)據(jù)庫事務(wù)屬性
12.問了redis、分布式緩存、中間件,項(xiàng)目的使用場景里的細(xì)節(jié)。
13.帶領(lǐng)的有技術(shù)挑戰(zhàn)的項(xiàng)目,挑戰(zhàn)在哪里,怎么設(shè)計(jì)來解決?
面試總結(jié):
java的基礎(chǔ)知識點(diǎn),主要圍繞在集合類和多線程等:ArrayList、linkedList、HashSet、HashpMap的數(shù)據(jù)結(jié)果,以及如何擴(kuò)容、以及ConcurrentHashMap相關(guān)的多線程安全等。
JVM的內(nèi)存分配、幾個(gè)常見的垃圾回收算法以及原理、還有對應(yīng)的JVM優(yōu)化參數(shù)需要牢記。
網(wǎng)絡(luò):TCP的三次握手等網(wǎng)絡(luò)都必問,重點(diǎn)掌握網(wǎng)絡(luò)協(xié)議。
Redis:作為分布式緩存的主力,基本也是BAT每次必考,重點(diǎn)是Redis的數(shù)據(jù)結(jié)構(gòu)、內(nèi)存、算法、持久化,以及與別的緩存memcached的優(yōu)劣勢。
多線程:狀態(tài)流轉(zhuǎn)、多線程的實(shí)現(xiàn),以及與高并發(fā)的區(qū)別等。
Spring框架問得是最多的,BAT非常喜歡問,重點(diǎn)掌握。
最后就是分布式架構(gòu)設(shè)計(jì)
常用的分布式架構(gòu)設(shè)計(jì)方案:單點(diǎn)登錄、分布式緩存、存儲、消息的選型,還有就是數(shù)據(jù)庫端的優(yōu)化方案(需要提前了解)。
最好能提前了解深入一個(gè)類似秒殺這樣的項(xiàng)目,如果面試官問到類似的項(xiàng)目,你能把設(shè)計(jì)思路講出來,這對你的面試結(jié)果是很大的加分項(xiàng)。
以上就是天津卓眾教育java培訓(xùn)機(jī)構(gòu)的小編針對“技術(shù)開發(fā)面試,支付寶Java筆試題”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java筆試題