搜狗java二面面经

  1. Redis 数据结构有哪些?如何实现 sorted set?这种数据结构在极端情况下可能有什么问题?二叉平衡树?
  2. JVM分为哪些区,每一个区干吗的?
  3. JVM如何调优、参数怎么调?
  4. zookeeper的某个机器挂了,整个集群如何处理
  5. 如果有一个登陆请求,特别慢,怎么排查
  6. 系统设计题:一个推送场景,50条内容,定时推送,先推5%用户,一段时间后再找出效果最好的几条,推给所有用户。设计相关库表,系统模块,需要可以落地,有伪代码
  7. ThreadPoolExcutor的源码看过吗? 没有特别仔细的看,但是他的原理是巴拉巴拉
  8. 如何定位链表尾部前面的第k个节点,写一下
  9. Redis hash的实现
  10. MySQL数据主从同步是如何实现的?
  11. 说说稳定的排序和不稳定的排序
  12. jdk有研究过吗?我:研究过一点hashmap。 那你说一下哈希碰撞怎么解决的?我:忘了,大概记得1.8之后是尾插。(好尴尬) 已知有100个元素,那么hashmap默认容量应该是多少?我:100/0.75=132 所以取2的指数幂256(不知道算对没)
  13. 索引有哪些存储方式,“like”查询在什么时候能够用上索引
  14. Mysql要加上nextkey锁,语句该怎么写
  15. ApplicationContext 的初始化过程?初始化过程中发现循环依赖 Spring 是如何处理的。
  16. 分布式锁,redis缓存,spring aop,系统架构图,MySQL的特性
  17. 锁,死锁的形成条件,锁的底层实现,AQS的实现,如何实现公平锁和非公平锁,CAS的实现
  18. 如果程序运行缓慢如何查找到哪里出了问题?
  19. JDK1.7当中HashMap中线程不安全问题有那些?原因分别是什么?
  20. java都有哪些加锁方式(synchronized、ReentrantLock、共享锁、读写锁等)
  21. 给你一个mysql配置文件,用你认为最佳的编程语言解析该文件?