美团Java后端一面二面面经
《面试题目》
- Agent 项目深挖(上下文压缩相关)
- HashMap 底层原理,ConcurrentHashMap 有什么不同?
- Java 的垃圾回收机制
- TCP 流控原理
- 了解 MySQL 吗,讲一下
- 日常学习工作怎么使用 AI 工具的
- 说一件你做的失败的事情
- 手撕:顺时针遍历矩阵(螺旋矩阵)
《参考解析》
- HashMap vs ConcurrentHashMap 核心差异:HashMap 线程不安全,多线程并发写可能导致数据丢失、死循环(JDK7)等问题;ConcurrentHashMap 通过 CAS+synchronized(JDK1.8)细粒度锁保证并发安全,同时保留了接近 HashMap 的性能,是并发场景下的标准替代方案。
- TCP 流控(流量控制)原理:TCP 利用滑动窗口机制实现流控——接收方在 ACK 报文中携带自己当前的接收窗口大小(Window Size),通知发送方还能接收多少数据,发送方据此动态调整发送速率,避免发送速度超过接收方处理能力导致丢包,这与拥塞控制(针对网络链路拥塞)是两个不同但相关的机制。
- 顺时针遍历矩阵(螺旋矩阵):维护上下左右四个边界(top/bottom/left/right),按”从左到右→从上到下→从右到左→从下到上”的顺序遍历当前边界内的元素,每遍历完一条边就收缩对应边界,直到 top>bottom 或 left>right 停止,时间复杂度 O(m×n),是矩阵类问题的经典边界收缩解法。