美团 3.22 Java 一面
面试官人很好,面试很舒服
1.自我介绍
2.实习项目细问(问了很久)
3.Redis了解吗,跳表的结构细说
4.Redis还用过哪些?底层原理?(说的底层数据结构)
5.为什么了解Redis底层结构?因为遇到相关问题才细究还是兴趣?(兴趣)
6.==和equals区别
7.Hashcode和equals区别?有了equals判断相等,为什么还要hashcode,hashcode意义是什么(盲猜hashcode更快,加速比较判断,hashcode能更快过滤不相等的值)
8.接口和抽象类(支支吾吾)
9.Java和C++继承区别?多继承?
10.垃圾回收有哪些算法?
11.分代收集和垃圾回收算法的联系(比如young代就可以用标记-复制)
12.JVM的分区知道吗?(因为刚刚问的是垃圾回收,我说是不是eden s0 s1区这种?他说不是,回去了解一下。后知后觉复盘想起来可能是问我JVM的内存结构(运行时数据区那玩意?)?)
13.数据库隔离级别有哪些?
其他忘了,想起来再补
手撕
1.数据库一道题
(一个表 a 有 id,product_id,status(0无效 1有效), price,以及其他字段。
求 product_id=200 且 最大price 的 id
select id
from a
where product_id=200 and status=1 and price in (
select price
from a
where status=1 and product_id=200
order by price DESC
limit 0, 1)
)好像是这个sql,写的很丑,面试官提示了几次才写对的(细节漏了好多)
还根据这个sql问了问题
A.根据这sql你怎么建索引(我说的 product_id, status, price 联合索引)
B.只给product_id建索引如何?(忘了怎么答的了)
C.给status建索引如何?(只知道不行,具体为啥没打出来(重复字段太多,频繁回表))
2.二叉树层序遍历(简单题,注意要一层一层走,我一开始用dfs被让重做)
3.二维数组,左上到右下的路径数(简单题)
反问:
1.觉得我咋样(面试官:不可说 我:.............)
2.有什么建议(细一点,应该指我写sql漏了一些细节,以及层序遍历没看题,直接dfs,而不是一层层走)
3.多久出结果(1-2周,还要跟HR商量,问有几面?分人,可能G,可能2,可能3,可能直接HR了)
(感觉没问啥八股,题目很简单。。。)
许愿二面
------------------------------------------------------------
发二面了,27号二面
#面经美团#