微信java开发面经

  1. MySQL索引的实现,innodb的索引,b+树索引是怎么实现的,为什么用b+树做索引节点,一个节点存了多少数据,怎么规定大小,与磁盘页对应。
  2. Linux环境下,如何更改文件名同时将它移到其它指定目录?
  3. 实践中如何优化 MySQL:SQL 语句及索引的优化、数据库表结构的优化、系统配置的优化、硬件的优化
  4. Mysql要加上nextkey锁,语句该怎么写
  5. Docker 的基本架构和使用场景?
  6. 如何用工具分析jvm状态(visualVM看堆中对象的分配,对象间的引用、是否有内存泄漏,jstack看线程状态、是否死锁等等)
  7. 写出三种以上MySQL数据库存储引擎的名称
  8. HashMap和concurrentHashMap的区别从currentHashMap底层是用什么锁实现的(可重入锁)
  9. 有一个IP地址(192.168.0.1),请写出其32位无符号整数形式。
  10. 说一下快排的过程,写一下伪代码
  11. Spring的Controller是单例的吗?多线程情况下Controller是线程安全吗?
  12. 线程和进程,线程怎么通信,进程间怎么通信
  13. HashMap 如果一直 put 元素会怎么样?hashcode 全都相同如何?equals 方法都相同如何?
  14. 在一个游戏里每秒更新一次参与者分数排序,用什么排序算法最好,为什么?
  15. 说说快排的具体算法 不用递归怎么做 快排的复杂度呢
  16. HTTP2.0、thrift。
  17. 简述tcp的三次握手与四次挥手?以及为什么四次挥手会有time_wait状态?
  18. 缓存击穿有哪些方案解决
  19. 那怎么判断一个一个数是不是2的幂次方,讲思路,写代码
  20. countdownlatch功能实现
  21. 流量控制算法了解吗?介绍下
  22. 存储引擎有innodb和myisam,就不用说它们的区别了,如果是存储日志,用什么存储引擎比较合适
  23. 多线程你写过吗 有哪些应用场景
  24. 如何只使用(传输层)TCP/IP协议,传输数据?