京東4面(Java研發):事務隔離+樂觀鎖+HashMap+秒殺設計+微服務

一面(基礎面:約1小時)

  • 自我介紹,主要講講作了什麼和擅長什麼
  • springmvc和spring-boot區別
  • @Autowired的實現原理
  • Bean的默認做用範圍是什麼?其餘的做用範圍?
  • 索引是什麼概念有什麼做用?MySQL裏主要有哪些索引結構?哈希索引和B+樹索引比較?
  • Java線程池的原理?線程池有哪些?線程池工廠有哪些線程池類型,及其線程池參數是什麼?
  • hashmap原理,處理哈希衝突用的哪一種方法?
  • 還知道什麼處理哈希衝突的方法?
  • Java GC機制?GC Roots有哪些?
  • Java怎麼進行垃圾回收的?什麼對象會進老年代?垃圾回收算法有哪些?爲何新生代使用複製算法?
  • HashMap的時間複雜度?HashMap中Hash衝突是怎麼解決的?鏈表的上一級結構是什麼?Java8中的
    HashMap有什麼變化?紅黑樹須要比較大小才能進行插入,是依據什麼進行比較的?其餘Hash衝突解決方式?
  • hash和B+樹的區別?分別應用於什麼場景?哪一個比較好?
  • 項目裏有個數據安全的,aes和md5的區別?詳細點

二面(問數據庫較多:)

  • 自我介紹
  • 爲何MyISAM查詢性能好?
  • 事務特性(acid)
  • 隔離級別
  • SQL慢查詢的常見優化步驟?
  • 說下樂觀鎖,悲觀鎖(select for update),並寫出sql實現
  • TCP協議的三次握手和四次揮手過程?
  • 用到過哪些rpc框架
  • 數據庫鏈接池怎麼實現
  • Java web過濾器的生命週期

三面(綜合面;約一個小時)

  • 自我介紹。
  • ConcurrentHashMap 在Java7和Java8中的區別?爲何Java8併發效率更好?什麼狀況下用HashMap,什麼狀況用ConcurrentHashMap?
  • 加鎖有什麼機制?
  • ThreadLocal?應用場景?
  • 數據庫水平切分,垂直切分的設計思路和切分順序
  • Redis如何解決key衝突
  • soa和微服務的區別?
  • 單機系統演變爲分佈式系統,會涉及到哪些技術的調整?請從前面負載到後端詳細描述。
    設計一個秒殺系統?

四面(HR面)

1.你本身最大優點和劣勢是什麼
2.平時碰見過什麼樣的挑戰,怎麼去克服的
3.工做中碰見了技術解決不了的問題,你的應對思路?
4.你的興趣愛好?
5.將來的職業規劃是什麼?程序員

以上就是京東4面面試題,但願對即將面試的程序員有所幫助。web

相關文章
相關標籤/搜索