金山办公java开发面试

  1. 懒汉式下如何保证线程安全?
  2. 说一下CMS垃圾回收器和G1收集器的特点,和收集过程。
  3. Redis 线程模型?持久化方案?
  4. 请说一下zookeeper中leader的选举算法,即fastleaderelection算法
  5. 内存模型,堆和栈都有什么?答:简单说了下
  6. 说说TCP 协议,三次握手、四次挥手,详细一些,握手过程中可能出什么问题?
  7. 你说你熟悉并发编程,那么你说说Redis锁有哪些种类,以及区别
  8. 项目用到的jvm是什么版本,java8的新特性比如Stream项目用到了吗?
  9. 各种缓存 memcache,MongoDB,EhCache,Guava,Caffeine 等等,使用场景
  10. MySQL 平滑水平扩容方案?
  11. Request请求头里具体的字段,有什么含义?
  12. 游戏排名,可以使用什么数据结构
  13. 缓存击穿有哪些方案解决
  14. String a = “abc”;和String b = new String(“abc”);是不是一样的?为什么?他们对应的内存空间分别是什么?
  15. Mysql的索引优化接触过没,一条update的语句执行过程
  16. 说说java线程池的工作流程?
  17. 说一下项目,遇到过什么问题是怎么解决的?如何防止sql注入的?
  18. 简单说一下堆和栈的区别?
  19. 对一个用户的帖子按照发帖时间进行存储,该使用哪种redis类型
  20. socket通信做过吗? 你项目中用的什么协议通信的?tcp协议通信中io有几种方式,之间有什么区别?
  21. 说说NIO?Selector上都能注册一些什么事件?知道Channel读、写数据是怎么实现的吗?
  22. 熟不熟悉垃圾回收算法?如何判定一个对象是否应该回收?
  23. 机智题:烧完一整根香需要30分钟,怎么样得到15分钟的计时,怎么样得到7.5分钟的计时
  24. 数据库脏读和幻读 分别对应哪个隔离级别?