hr 約面試時已經說了他們招的是對 ElasticSearch 比較熟的工程師,然后我只是使用過而已,算不上太熟,不過也去面試了。。。下面記錄下面試問題吧:
ES 相關問題
- 上份工作中從事的 ES 相關項目的架構以及自己在這個項目中擔任的角色?
- ES 里面的數據量有多大(樓盤數據多少條)?
- ES 服務的 QPS 是多少?每天的請求量有多少?
- 數據錄入到 ES 是怎么做到的?怎么建立的索引?
- ES 的全量和增量怎么做的?
代碼題
- 代碼題:輸出兩個非遞減數組的交集?這個沒什么難度
Java 相關問題
- JVM 內存結構?大體架構有幾層(不是細分到年輕代、老年代)?手動畫一下?
- JVM 方法區持久代會溢出嗎?
- 為啥 Java 語言里面要有反射?反射是什么?(==》反射用多了最終會導致持久代溢出)
- 動態代理怎么解釋?(==》動態代理用多了最終會導致持久代溢出)
- 持久代里面除了存儲類信息還存儲了啥?1. 類信息 2. 常量池 3. 靜態常量
- 一個類的靜態字段和實例字段分別存儲在什么位置?
- 棧溢出?什么時候會發生棧溢出?
- 你有遇到過內存溢出的情況嗎?如果內存溢出了怎么定位問題?一般怎么分析內存溢出后生成的堆轉儲文件?
- JDK 自帶的工具:jstack、jmap 等,你有用過嗎?
- JAVA 里面都有什么鎖?
- Synchronize 是可重入鎖嗎?分別都是鎖在什么上面?
- HashMap 實現原理?HashTable-》HashMap、ConcurrentHashMap相關?HashMap put方法執行過程?得到 key 的hash值后怎么確定它在哈希數組中的索引位置?
- 如果我們自定義的對象作為HashMap 的key的話,要重寫什么方法?equals 和hashcode?