校招 高德地图 / 后端-Java / 一面

[面试日期] 2024-08-03 [面试时长] 未知
[学校背景] 未知 | 未知 [学历背景] 未知
[发布人] 面试之星官方收录
1. 自我介绍 2. 除了Java,之前学过什么(C++、Linux) 3. 表中十个字段,你主键用自增ID还是UUID,为什么(我回答了自增和UUID的优缺点) 4. 为什么自增ID更快一些,UUID不快吗,它在B+树里面存储是有序的吗(我回答是有序的,然后从索引长度上说UUID更慢一些) 5. 查询数据时,到了B+树的叶子节点,之后的查找数据是如何做(面试官想问到一个数据页上之后的查询过程,但是我不太懂呀。。) 6. 你说你会MySQL,那它有哪些存储引擎(InnoDB和MyISAM) 7. InnoDB的四种隔离级别,你平常做项目和实习用的什么隔离级别(默认的) 8. 可重复读有没有幻读的问题?(MySQL没有,其他有) 9. MySQL的锁讲一下(按锁的粒度讲了一遍) 10. 设计一个行级锁的死锁,举一个实际的例子(有思路,但是不好描述) 11. 我看你写到了MyBatis,#和$有什么区别(主要是SQL注入的问题) 12. 你说到了SQL注入,那你给我设计出一个SQL注入,具体说表中的字段,然后SQL语句是怎样的(有印象,但是自己说不来) 13. 你用Redis做了什么 14. 本地缓存和Redis缓存的区别(没了解过) 15. Redis的Key过期了是立马删除吗(回答了定期删除和惰性删除两种策略) 16. Redis的大Key问题(答出来了) 17. 大Key问题的缺点(答出来了) 18. 你刚才说,大Key性能不好,那如果有一个接口,存的是大Key,QPS比较低,另外有10个接口,QPS非常高,那有什么影响(答出来了) 19. 那为什么key不是大key但QPS非常高的接口,对性能影响没那么大(答出来了) 20. ZSet的底层数据结构,查询的时间复杂度是多少 21. Redis的持久化(AOF和RDB) 22. RDB是怎样做的?(答出来了) 23. RDB的写入策略,按时间写入和每次都写入的区别,优缺点(答出来了) 24. 你平常是怎么使用RDB和AOF的 25. Bean的生命周期(答出来了,主要分几个过程,细致介绍了一遍) 26. Bean是否单例? 27. Bean的单例和非单例,生命周期是否一样 28. 你刚才说的Bean生命周期,是单例的还是非单例的 29. Spring容器里存的是什么 30. Bean注入和xml注入最终得到了相同的效果,它们在底层是怎样做的 大概就记得这么多了...,算法题也没有。 面试官喜欢一直追着一个问题问到你不会为止,不过不怪人家,还是自己太菜了,以后继续努力吧。
AI 推荐面试题