美团后端实习一面
面了1个小时左右,问了很多,因为我简历上写了会用java和mysql,所以主要问的还是java+数据库。
1.自我介绍
2.介绍一下项目
3.项目数据集是哪来的,数据集里面有什么,存储在哪里。
4.mysql索引的B+树有什么特点,存储在哪里,为什么可以顺序查找(这里我没搞懂面试官到底想问什么),设置了一个(A,B)索引,查B能不能用,为什么。
5.final关键字
6.java的内存模型,不是jvm的内存模型
7.泛型的好处,为什么不直接用object,有什么区别。
8.有没有用过线程池
9.mysql实现了可重复读,那么是怎么实现其他的隔离级别
比如delete from table是怎么实现隔离,加了什么锁,行级锁?表级锁?
10.怎么实现幻影读,怎么加锁,
11.大体介绍一下集合框架,特点,Arraylist和linkedlist的特点及应用场景
12.hashmap使用了什么数据结构,使用链表和红黑树的区别
13.hashmap是怎么减少冲突的
14.hashmap在什么情况下扩容
15.hashmap阈值是由什么确定的。
16.有哪些线程安全的map,synchronize和lock的区别
17.volitale关键字可不可以实现i++的线程安全,工作内存,主内存
18.有没有用过开源框架,像spring mvc
19.说说知道哪些设计模式,相比于面向过程,这些设计模式有什么好处
20.写一下单例模式的饿汉式、懒汉式,实现线程安全,为什么在那里加synchronize
21.枚举
算法题
1.一个数组里面有重复的数,怎么找到个数为奇数的数
2.两个有序的数组,找到中位数
#美团##实习##Java工程师##面经#