美团一面和二面
4.14美团一面
一面的小姐姐人特别好
1 介绍项目
2 项目中的难点,你又是怎么解决的
缓存和数据库的一致性
3 对springboot的理解
4 redis数据类型,数据结构,应用场景
5 redis的缓存淘汰机制
6 redis设置过期时间的命令
7 项目中redis怎么用的
8 mysql的mvcc解决了什么问题,mvcc的实现原理
9 mysql的B+树介绍一下,为什么不用二叉排序树?
10 对象的序列化和反序列化以及应用场景
11 stringbuffer和stringbuilder的区别
12 平时如何使用多线程的?
13 mysql如何使用索引的,索引优化策略,最左前缀原理,索引失效的场景
14 JVM的内存结构
15 JVM双亲委派
16 JVM垃圾回收算法
17 TreeMap和HashMap的底层区别,HashMap扩容机制,负载因子。
18 包装类的自动装箱和拆箱
19 算法题 判断二叉平衡树 ,返回链表倒数第k个结点;
20 反问
2 项目中的难点,你又是怎么解决的
缓存和数据库的一致性
3 对springboot的理解
4 redis数据类型,数据结构,应用场景
5 redis的缓存淘汰机制
6 redis设置过期时间的命令
7 项目中redis怎么用的
8 mysql的mvcc解决了什么问题,mvcc的实现原理
9 mysql的B+树介绍一下,为什么不用二叉排序树?
10 对象的序列化和反序列化以及应用场景
11 stringbuffer和stringbuilder的区别
12 平时如何使用多线程的?
13 mysql如何使用索引的,索引优化策略,最左前缀原理,索引失效的场景
14 JVM的内存结构
15 JVM双亲委派
16 JVM垃圾回收算法
17 TreeMap和HashMap的底层区别,HashMap扩容机制,负载因子。
18 包装类的自动装箱和拆箱
19 算法题 判断二叉平衡树 ,返回链表倒数第k个结点;
20 反问
4.18美团二面
1 写一个 sql语句查询某一个字段中重复的数据,比如 1,2,3,2,1,1,那么就需要查出1和2
2 你的项目为什么要用springboot,springboot如何解决依赖循环
3 有了基本数据类型,为什么还要包装类
4 redis的RDB内存快照底层调用了什么函数,redis持久化机制RDB和AOF的选择策略
5 redis为什么快,为什么是单线程而不用多线程,为什么广泛应用redis做缓存
6 static关键字相关的一系列问题
7 JVM类加载到哪里,加载的详细过程
8 synchronized 的加锁过程以及原理
接下来全是mysql
9 MySQL事务,隔离级别,默认的隔离级别,mvcc
10 一个表,a为主键,b上有二级索引
b字段上面的数有 1,2,3,4,5,6,100,101,102,103,1001,1002,1003
update table set b = 1002 where b=102 语句的执行过程,主要是考察需不需要回表
顺带着回答聚集索引和非聚集索引,索引的概念和B+树实现
11 用户1 update b = 1002 where b =102
用户2 select * from table where b = 1002
用户1未提交,用户2会不会阻塞住,为什么
12 用户2 select * from table where b = 1002
用户1 update b = 1002 where b =102
用户2 select * from table where b = 1002
第二次查询时查到的是几行数据,为什么
13 用户2 select * from table where b = 1002
用户1 update b = 1002 where b =102
用户2 update table set b=100000 where b=1002
第二次update时改了几行数据,为什么
2 你的项目为什么要用springboot,springboot如何解决依赖循环
3 有了基本数据类型,为什么还要包装类
4 redis的RDB内存快照底层调用了什么函数,redis持久化机制RDB和AOF的选择策略
5 redis为什么快,为什么是单线程而不用多线程,为什么广泛应用redis做缓存
6 static关键字相关的一系列问题
7 JVM类加载到哪里,加载的详细过程
8 synchronized 的加锁过程以及原理
接下来全是mysql
9 MySQL事务,隔离级别,默认的隔离级别,mvcc
10 一个表,a为主键,b上有二级索引
b字段上面的数有 1,2,3,4,5,6,100,101,102,103,1001,1002,1003
update table set b = 1002 where b=102 语句的执行过程,主要是考察需不需要回表
顺带着回答聚集索引和非聚集索引,索引的概念和B+树实现
11 用户1 update b = 1002 where b =102
用户2 select * from table where b = 1002
用户1未提交,用户2会不会阻塞住,为什么
12 用户2 select * from table where b = 1002
用户1 update b = 1002 where b =102
用户2 select * from table where b = 1002
第二次查询时查到的是几行数据,为什么
13 用户2 select * from table where b = 1002
用户1 update b = 1002 where b =102
用户2 update table set b=100000 where b=1002
第二次update时改了几行数据,为什么
14 反问
二面的面试官完全就是现场出题,写了很多sql,而我完全没写,唯一叫我写的一条sql语句我还没写出来,后面他还写给我看,我sql练少了,感觉还是
挺有难度的,然后面试官直接说我没写过sql。。。后面mysql原理部分基本都答出来了,发个面经攒人品,求过求过!!