美团JAVA面经,贼麻烦的面试

1. 布隆过滤器;缓存空结果;参数校验。
2. 延迟双删;基于binlog监听;设置合理缓存过期时间兜底。
3. RDB。AOF
4. RDB更快。
5. 单线程处理命令 + I/O多路复用。单线程避免锁竞争;I/O多路复用使单线程高效管理大量连接,仅当socket就绪时处理IO。
6. 读未提交、读已提交、可重复读、串行化
7. 可重复读。解决脏读、不可重复读;通过MVCC和间隙锁减少幻读发生。
8. 默认 B+树。
9. 红黑树的二叉搜索树,树高较高;范围查询需中序遍历效率低;节点存储利用率较低。 B+树的更矮胖;叶节点链表结构使范围查询/全表扫描极高效;节点存储更多键。
10. 使用二级索引查询时,若所需列不在该索引中,需根据索引中存储的主键值,回到聚集索引 树中查找完整行数据。额外磁盘IO是主要性能损耗。
11. 查询:连接器、查询缓存、分析器、优化器、执行器、返回结果。更新:额外涉及事务开启、写undo log、执行器调引擎修改内存数据、写redo log、写binlog、提交事务。
12. 更新:写undo/redo,改内存,写binlog,提交redo;两阶段提交。
13. 继承Thread类,实现Runnable接口,实现Callable接口,使用线程池提交任务。
14. 核心线程数、最大线程数、存活时间、时间单位、工作队列、线程工厂、拒绝策略。
15. CountDownLatch要求子线程主动存结果到共享集合后countDown(),主线程await()阻塞等待;CyclicBarrier由线程在await()前存结果,最后到达的线程触发汇总;而线程池通过主线程收集Future并调用get()阻塞获取结果。
16. start() 启动新线程,run()普通方法调用。
17. 数组+ 链表/红黑树。
18. 非线程安全。
19. JDK8 ConcurrentHashMap:改用 synchronized 锁单个桶 + CAS + volatile,替代 JDK7 分段锁,并发度更高。
20. MQ 消息可靠:依赖生产者可靠投递(含重试)、Broker 持久化与高可用、消费者手动 ACK 与幂等处理三方协同保障。
21. 消费者幂等性:通过唯一约束(如 DB/REDIS 记录消息 ID)防止重复处理,确保多次消费结果一致
22. 用过什么java框架?
23. 微服务之间怎么相互调用
24. RPC怎么从A服务调用B服务
25. RabbitMQ怎么调用其他服务
#java##java面试##java后端##面试求职#
全部评论
佬咱们这是暑期还是日常,咱们是什么时候投的大概投完多久约面啊
1 回复 分享
发布于 05-22 15:19 辽宁
这么多八股文啊
点赞 回复 分享
发布于 05-24 16:17 河南

相关推荐

05-24 20:05
已编辑
重庆市清华中学 Java
【Day1 HR线下面 15min】1.自我介绍一下2.简单介绍一下简历上面的三个项目,以及简单介绍自己负责的模块3.学校工作室项目的职责,怎么安排项目进行的4.我看你简历上写了自己的公众号,可以给我展示一下吗5.今天是从学校出发的吗?今天来公司通勤时间是多久?是翘课来的吗?(是的…)明天有没有课?6.最早多久可以到岗?7.感觉自己的能力有什么突出的地方?有什么不足的地方?8.HR简单介绍完待遇与部门规模业务后,反问:进去后我是主要写什么项目【Day2 技术线上面 20min】1.自我介绍2.实习与工作室项目使用技术栈,项目组情况,自己负责的部分,自己的项目最满意的地方?项目有没有部署过?是怎么部署的?3.AI使用情况,那么既然你使用过ClaudeCode,前段时间ClaudeCode源码泄漏事件有了解吗?聊一点ClaudeCode源码4.既然有用到SpringAI,介绍一点SpringAI源码(扯了一点ChatMemory)5.Mysql关联查询用什么?做过哪些优化手段?6.如果跟AI聊天出现幻觉,该怎么解决7.如果你现在在做项目,与AI的会话超过了最大的上下文,可以怎么处理?8.介绍一下RAG(这里结合了自己的项目)9.Spring中的AOP介绍一下10.单例模式介绍一下11.JVM加载子类时,父类是怎么加载的12.怎么写自定义注解13.简单介绍一下自动投简历,避免被平台反爬虫的措施14.linux查看文件的指令
查看22道真题和解析
点赞 评论 收藏
分享
评论
8
26
分享

创作者周榜

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