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?