面試總結-2019
電話面試:java
- hashmap的實現原理;
- 併發狀況下資源共享問題;
- Session和cookie的區別,這二者的做用;
- http和https的區別;
- 悲觀鎖和樂觀鎖,分別用這兩種鎖設計數據庫(併發update數據庫場景);
- 負載均衡的策略;
- 數據庫鏈接不足,可能形成的緣由?怎麼分析?
- 分佈式系統中的session存儲問題
電話面試:面試
- 設計一個秒殺系統;
- Redis是單線程仍是多線程的?Redis可支持的最大併發是多少?
- 如何實現分佈式鎖?
- Jvm內存結構如何劃分?哪些是線程共享的區域,哪些是線程獨佔的區域?
- 死鎖是如何產生的?如何避免死鎖?
- Redis的內存穿透是什麼?如何避免?
- 說一說本地對接項目和打印項目,工做中有什麼亮點?
- 最近在看什麼書?有哪些收穫?
- 對敏捷開發的理解?
- wait和sleep的區別?
- 哪些場景下須要用到MQ?
- 說一下springMVC的請求流程?
- B+樹和B樹有什麼區別?
- 單例模式怎麼寫?應用場景有哪些?其餘的設計模式的應用場景又有哪些?
- Kafka有什麼特色?
- 線程都有哪些狀態?各個狀態間是如何轉換的?線程的方法怎麼用?
yield(),join()等redis
- zk的負責均衡策略有哪些?是怎樣實現負載均衡的
- 線程池的核心參數有哪些?逐個線程進來是怎麼處理的?
- zk有什麼特性?
- 說一說redis緩存穿透和緩存雪崩是什麼意思?如何避免?
- Java8比起java7有什麼新的特性?
- 如何結束一個線程?
電話面試:算法
- Hashmap在併發狀況下爲何會出現死鎖(擴展時)?
- Lock和synchronized的區別是什麼?Lock的哪些特性是synchronized沒有的?
- 分佈式服務治理框架設計時須要考慮哪些東西?
- ConcurrentHashMap和hashtable的區別是什麼?
- 建立線程池有哪些方式?
- 分佈式系統中,某幾臺機器cpu佔用率很高,如何排查問題?
- 是否是分段鎖是什麼意思?
- 簡單說一下廣播事件是什麼?
- Jvm的垃圾回收分爲幾代?新生代又怎麼劃分?哪些對象能夠做爲可達性分析算法的根節點?
- Jvm的持久代是在堆上仍是在方法區?
- Zookeeper掛掉,整個分佈式系統會不會掛掉?
- redis內存滿的時候,如何清除最近不多使用的key?
- 有一個10G的文件,每行記錄一個關鍵詞,假設很不少關鍵詞在文件中是重複的。如今有一個內存2G,磁盤很大的電腦。如何統計出現次數最多的前10的關鍵詞及其在文件中出現的次數?
- 假設有10個整型的數組,如何新啓10個線程,分別計算每一個數組中數字的總和,而後在計算10個數組總的和?
- Java中多線程的包下有哪些類?future和task如何使用?
- 進程和線程的區別是什麼?進程間是如何通訊的?
- 有100有序的整數,如何隨機地打亂順序(相似於撲克牌洗牌的操做)?
- 分佈式鎖的代碼實現?
- ArrayList的代碼實現?
- 算法:基於用戶定位找出距離用戶最近的5家酒店;
- 畫一下美團點餐的技術架構。
- http轉netty;
- 各類中間件和CAP定理是如何對應的(佔據了CAP中的哪些)?
- Kafka中,若是消息的消費者消費失敗,後續如何處理?會不會所以致使消息阻塞?
- 調用system.gc()方法,會當即執行垃圾fullGC嗎?
- 多個線程操做hashMap會有什麼現象?
歡迎關注本站公眾號,獲取更多信息