涂鸦智能
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
- 时间:8月09日
- 形式:一面,45分
- 面试官没怎么问八股,主要沿着设备消息问
- 设备离线后指令怎么处理?
- 同一设备消息乱序怎么办?
- 消息重复上报怎么去重?
- MQTT的QoS怎么选?
- 百万连接下服务怎么拆?
- Kafka分区数怎么调整?
- Netty的线程模型是什么?
- 手写阻塞队列。
- 乱序消息这题我答按时间戳排序,面试官马上问设备时间不准怎么办。后来改成服务端给同一设备维护递增序号,短暂缺号先等待,超时后记录异常再继续消费。阻塞队列用ReentrantLock和两个Condition写,忘了在中断时恢复状态,被提醒后补上了。
《参考解析》
- 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。