1. 程式人生 > >鵝廠面試----問題總結

鵝廠面試----問題總結

阿里常見面試題:
1、開發中java用了比較多的資料結構有哪些?
2、談談你對HashMap的理解,底層的基本實現原理,HashMap怎麼解決碰撞問題?
這些資料結構中是執行緒安全的嘛HashTable是執行緒安全的嘛,接著問你有沒有執行緒安全的map,接下來問你concurrent包
3、對JVM熟不熟悉?簡單說說類的載入過程,裡面執行的哪些操作?問了GC和記憶體管理,平時在tomcat裡面有沒有進行過
相關的配置
4、然後問了httpo協議,get和post的基本區別,接著tcp/ip協議,三次握手,視窗滑動機制
5.開發中用了哪些資料庫?然後回答mysql,儲存引擎有哪些?然後問了悲觀鎖和樂觀鎖的問題使用場景、分散式叢集實現原理
6、然後問了我springmvc和mybatis的工作原理有沒有看過底層原始碼。
7、redis基本的儲存型別、事務、使用場景。

京東金融面試:
1.Dubbo超時重試、Dubbo超時時間設定
2、如何保障請求執行順序
3、分散式事務與分散式鎖(扣款不要出現負數)
4、分散式session的設定
5、執行某操作,前50次成功,第51次失敗,a 全部回滾 b前50次提交,第51次拋異常,ab場景如何分別設定Spring(事務的傳播特性)
6、Zookeeper有哪些作用
7、JVM的記憶體模型
8、資料庫垂直與水平拆分
9、Mybastis如何分頁,如何設定快取,MySQL如何設定分頁
10、熟悉IO嗎?與NIO的區別,阻塞與非阻塞的區別
11、分散式session的一致性
12、分散式介面的冪等性設計(不能重複扣款)

美團一面經驗:
1、最近做的比較熟悉的專案是哪些,畫一下專案技術框架圖
2、JVM老年代和新生代的比例
3、YGC和FGC發生的具體場景
4、jstack、jmap、jtuil分別的意義?如何線上排查JVM的相關問題
5、單機上一個執行緒池正在處理服務如何突然斷電怎辦?(正在處理和阻塞佇列裡的請求怎麼處理?)
6、使用無界阻塞佇列會出現什麼問題?
7、介面如何處理重複請求?
8、具體的處理方案是什麼?
9、如何保證共享變數修改時的原子性?
10、設計一個對外服務的介面實現類,在 1,2,3這三個主機(對應不同的IP)實現負載均衡和順序輪詢機制(考慮併發)

滴滴面試經驗:
自我介紹
技術特點
興趣是什麼 優勢是什麼?
Dubbo的底層實現原理,zookeeper是什麼?
concurrentMao的機制,TreaaMap、Volatile關鍵字
快速排序、廣度優先搜尋(佇列實現)

總結:
1、效能調優、演算法資料結構
2、高併發下資料安全、介面冪等性、原子性等
3、分散式下協同、已經鎖的處理
4、資料庫的分庫分表i、專案之間的垂直拆分
出現頻率較高的技術點有:
HashMap
JVM
Dubbo
MyuBatis
Zookeeper
http tcp/ip