美团Java面经
1.MySQL的事务
2.MySQL四种隔离级别
3.MySQL是如何解决不可重复读这个问题的
4.MYSQL的存储引擎包括哪些?InnoDB和MYISAM有什么区别?
5.了解索引吗?如果给你一个联合索引a和b,用where条件查询,什么情况下,索引会失效,什么情况不失效?
6.如果执行了一条命令,"select count(*)from…",使用哪个引擎更快,为什么?
手撕算法:K个一组翻转链表
7.mysql的B+树数据结构说了一下B+树的特点就是只有叶子结点存储数据,非叶子结点只存储指针和key,叶子结点之间用指针连接,B+树可以减少树高,减少IO次数7、JVM分代回收答了堆分为新生代和老年代,新生代又分为eden 区和两个s区(可以补充大小比例是8:1:1),新生成的对象放进eden区,当eden区满了,就会开始分代回收,(可以补充采用的是复制算法),在经过十五次 minor gc还是没有被清除的对象会被放进老年代。
8.OOM出现的场景我回答了常见于运行时间很长的程序,老年代的对象一直没有被清理,就会导致OOM。(可以回答内存泄漏,程序中的对象没有被正确释放,导致内存不断被占用,未释放的资源,未清理的缓存。或者说频繁的full gc,全局垃圾回收,会导致大量的暂停时间,影响程序性能,或者说内存溢出,分配了大量的内存没有释放,递归导致栈溢出等都可以说)
#软件开发笔面经##牛客创作赏金赛#