快手高级Java四轮面试题:设计模式+红黑树+Java锁+Redis等
快手Java一面(一個(gè)小時(shí)十分鐘)
1.自我介紹
2.說說B+樹和B樹的區(qū)別,優(yōu)缺點(diǎn)等?
3聊聊Spring,主要IOC等等
4多線程JUC包下的一些常見的類,比如CountDownLatch、Semaphore等
5.鎖的概念,鎖相關(guān)的關(guān)鍵字,volatile,synchronized。還比較了ReentrantLock與synchronized。
6.你了解哪些收集器?CMS和G1。詳細(xì)談?wù)凣1的優(yōu)點(diǎn)?什么時(shí)候進(jìn)行Full GC呢?
7.Spring中涉及的一些設(shè)計(jì)模式
8.算法題:無序數(shù)列中求第k大的數(shù)(維護(hù)最小堆,然后依次遍歷,與堆頂比較)
9.MySQL創(chuàng)建索引的原則,好處
10. 怎么實(shí)現(xiàn)一個(gè)線程安全的計(jì)數(shù)器?
快速java二面(四十多分鐘)
1. 設(shè)計(jì)模式:講了單例,工廠方法,抽象工廠,策略模式,觀察者模式,代理模式,還順便講了下spring動(dòng)態(tài)代理的實(shí)現(xiàn)原理
2. 線程池有哪些參數(shù)?分別有什么用?如果任務(wù)數(shù)超過的核心線程數(shù),會(huì)發(fā)生什么?阻塞隊(duì)列大小是多少?
3. HashMap的底層數(shù)據(jù)結(jié)構(gòu)
4. 紅黑樹的具體結(jié)構(gòu)及實(shí)現(xiàn),紅黑樹與查找樹的區(qū)別體現(xiàn)
5. 接著聊ConcurrentHashMap,底層實(shí)現(xiàn)
6. HashMap哈希函數(shù)的認(rèn)識(shí),JDK1.8采用的hash函數(shù)
7. 數(shù)據(jù)庫(kù)索引,索引底層的實(shí)現(xiàn),B+樹的結(jié)構(gòu)以及與普通查找樹的優(yōu)點(diǎn)
9. TCP三次握手四次揮手,四次揮手過程中服務(wù)端的哪幾種狀態(tài),哪幾種包
10. 已經(jīng)有一個(gè)查詢好友的接口,設(shè)計(jì)一個(gè)微信朋友圈,可以實(shí)現(xiàn)發(fā)表朋友圈,添加評(píng)論,查看評(píng)論等功能。主要是設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)
快手Java三面(50分鐘:主要分布式這塊)
快手JavaHR面:
常規(guī)的面試流程了,主要就是自己優(yōu)缺點(diǎn),以及未來的職業(yè)發(fā)展,以及薪資這塊。
你可能也喜歡:
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
總結(jié)
以上是生活随笔為你收集整理的快手高级Java四轮面试题:设计模式+红黑树+Java锁+Redis等的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android组件化方案及组件消息总线m
- 下一篇: Logan:美团点评的开源移动端基础日志