微盟 | Java一面 | 45min
- 自我介绍
- 直接八股文开问。平衡二叉树了解吗?左旋右旋怎么做?红黑树呢?(只知道平衡二叉树的原理,左旋右旋不清楚)
- 数据结构了解一些吧!栈和队列的区别是什么?什么时候会用到这些数据结构(写算法的时候用到)
- 操作系统了解吗?进程的调度算法有哪些?如果对于优先级抢占式调度算法,在都处于同一优先级的多个进程中,其中一个进程运行了太久怎么办?(不知道)
- 线程的状态?线程什么时候处于就绪状态?阻塞状态呢?
- 知道CPU的多级缓存吗?为什么要这样设计?
- 如果在多核CPU里面,多个线程对缓存的数据操作,会出现什么问题?怎么解决?怎么保证数据的一致性
- 数据的线程安全了解吗?什么是线程安全问题?怎么解决?
- volatile修饰的变量在多个线程同时执行自增操作会发生什么?怎么解决
- 浅拷贝和深拷贝有什么区别?
- TreeMap和HashMap的区别是什么?
- 对于hash冲突,有什么解决办法吗?
- 怎么设计一个hash函数?(直接按照HashMap的hash思想说了一遍)
- TreeMap和HashMap的查询效率分别是什么情况?
- 快排的平均时间复杂度是多少?最坏和最佳的情况呢?
- 问问项目吧!RocketMQ的consumer你用的什么模式?
- Redis的数据一致性怎么做的?
- Redis的数据类型了解哪些
- 项目是单机还是多机架构?你怎么认为Redis的集群模式?为什么要有集群?
- 平时都有对技术做总结吗?都看过什么书?
- JVM里面的STW知道吗?这是什么情况?
- MySQL的索引了解吗?底层是什么数据结构?为什么不设计成Hash?
- 索引什么时候会失效?最左前缀了解吗?
- SQL的执行计划了解吗?(SQL执行顺序?哦哦是explain)
- mysql的隔离级别了解吗?每个隔离级别各解决了什么问题
- 行锁和表锁是什么?行锁怎么实现的?
- mysql的读写锁了解吗?(一时间没反应过来,直到面试官说共享排他才想起来)什么时候会触发排它锁
- 来道算法题吧!反转字符串!
反问:
- 公司的业务
- 部门分配
- 面试流程