网易一面(数据中台—java)

面经

写面经,攒人品

  1. 项目介绍
  2. redis分布式锁怎么实现?
  3. 还有其他的实现思路?具体怎么实现?(数据库,zk)
  4. redis分布式控制抢单,可不可以用数据库乐观锁?
  5. 数据库乐观锁怎么实现?
  6. redis哨兵模式讲一下?
  7. 哨兵和机器间如何通信(ping,pong)?
  8. 哨兵如何选举leader?
  9. mvcc讲一下?
  10. mvcc的目的?原理?场景?
  11. 数据库隔离级别的作用?场景
  12. redo log,undo log,bin log分别说一下?
  13. 这些是在什么阶段产生的?
  14. mysql模块说一下?那些产生什么日志?
  15. mysql索引讲一下?从你自己知道的角度讲?
  16. 聚簇索引和非聚簇索引的区别?
  17. shiro讲一下?
  18. shiro怎么存储session?
  19. 你们用shiro怎么存的(token)?
  20. rocketmq和kafka的区别?
  21. rocketmq怎么保证消息只会被一台机器消费?
  22. jvm调优过没?
  23. 系统优化过没?
  24. 线程之间是如何通信的?
  25. jvm垃圾回收器有哪些?
  26. jvm垃圾回收算法有哪些?
  27. 多线程怎么通信的?
  28. 如何3个线程按照指定abc的顺序打印10000万次?
  29. notify和notifyAll的区别?
  30. 可以指定某个线hex唤醒吗?
  31. 项目中有什么印象深刻的?(异步获取结果)
  32. 用过大数据方面的东西没?(没有)
  33. 最近有在看什么书?
  34. 有什么想了解的?

解答

Redis分布式锁怎么实现?

还有其他的实现思路?具体怎么实现?(数据库,zk)

redis分布式控制抢单,可不可以用数据库乐观锁?

  可以,效率并且比分布式锁搞,控制抢单行为本质上数据库的比较并修改操作。

数据库乐观锁怎么实现?

  通过增加时间戳字段,或者增加版本号字段实现。在更新数据的时候进行对增加的时间戳字段或版本号字段进行比较,如果相同则进行更新,不同则不更新。一种更大范围的比较并交换思路。

redis哨兵模式讲一下?

哨兵和机器间如何通信(ping,pong)?

rocketmq和kafka的区别?

  rocketmq和kafka的区别