高德 一面

#发面经攒人品#📍面试公司:高德  
🕐面试时间:一面
💻面试岗位:Java开发实习生  
❓面试问题:  
1. 请简述一下什么是死锁?你如何避免 Java 程序中的死锁?  
2. 你了解什么是 SpringBoot 的自动配置吗?它是如何实现的?  
3. 你能讲一下 Redis 中的持久化机制吗?有哪几种持久化方式?  
4. 在一个高并发的系统中,如何使用 MQ(消息队列)解决生产者消费者问题?  
5. 你在项目中遇到过 SQL 性能瓶颈吗?如何优化过慢的 SQL 查询?  
6. 请解释一下 Java 中的 volatile 关键字及其使用场景。  
7. 假设有一个需求,需要从多个数据源获取数据,并合并返回,如何实现?  
🙌面试感想:提到了不少常见的框架和技术栈,需要思路清晰、能够举一反三。
全部评论
volatile场景:双检锁单例,像导航确认“您是否在高速上”
点赞 回复 分享
发布于 2025-09-19 13:54 陕西
死锁避免?建议学高德导航——提前规划路线不堵车
点赞 回复 分享
发布于 2025-09-19 13:54 辽宁

相关推荐

2025-12-22 17:15
门头沟学院 Java
1. 实习介绍2. HashMap底层数据结构- 链表树化的条件:当链表长度大于8且map容量超过64时,链表会进行树化。- 这样设计的原因:主要是结合内存开销和性能进行综合考虑。- 若key一直有冲突该如何处理?3. 介绍ConcurrentHashMap4. 说下CAS和synchronized锁的区别?5. Java的垃圾回收机制?6. 项目介绍- 数据存储是否为单表存储?表的数据上限是多少?能否存储一亿条数据?- 当单表超过5kw行或者容量超过2GB时,需考虑分库分表。- 订单表数据量较大时,如何选择分库分表键?是否了解分库分表?- 分库可以解决并发量大的问题,但数据库的连接数量有限,若进行分库,用户如何知晓请求该发送到哪台机器上?- 分表是将订单、物流、商品、会员等数据分别存放在独立的数据库中。7. MySQL底层数据结构?为什么采用B+树?为何不使用B树?8. 了解MySQL聚簇索引吗?有哪些方式可以避免回表操作?-  select id, name from table where name ='ls'  -- 不回表-  select * from table where name ='ls'  -- 回表9. 了解MVCC吗?它可以解决哪些问题?在不同隔离级别下,MVCC的处理方式有何差异?10. Redis在项目中的使用场景11. Redis除了实现分布式锁,还能有哪些应用?- 如何利用Redis进行限流?具体如何实现?
点赞 评论 收藏
分享
评论
1
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务