小红书 AI Native 产品研发工程师一面面经

小红书 · AI Native 产品研发工程师 · 一面 · 2026-04

《面试题目》

  1. 请做自我介绍,并介绍最近一段实习工作。
  2. 风控系统是否涉及隐私计算或敏感数据处理?你具体负责什么?
  3. 举例说明一次特征优化或链路优化,效率提升了多少?
  4. 短信热数据保留多久?是存纯文本还是经过处理?
  5. 列式存储 Doris 与行式存储 MySQL 各有什么优势?
  6. 为什么冷数据存 Doris,而不是成本更低的对象存储?
  7. 介绍线程池相关的优化工作。
  8. 三个模型调用是否为外部服务?结果是否存在串行依赖?
  9. 线程池死锁是如何发生的?怎样定位和解决?
  10. Java 线程池有哪些核心参数?线程池满后如何处理任务?

《参考解析》

  1. 存储选型:MySQL 适合事务和按行查询;Doris 面向分析型聚合和列裁剪;对象存储成本更低但交互查询能力弱。选择取决于查询频率、延迟目标和成本,而不是冷热标签本身。
  2. 线程池参数:核心参数包括核心线程数、最大线程数、存活时间、任务队列、线程工厂和拒绝策略。任务通常按“核心线程—队列—扩容到最大线程—拒绝”处理。
  3. 死锁排查:通过线程 Dump 查看等待关系和锁依赖,确认是否存在任务在同一受限线程池中提交子任务并同步等待;可通过拆分线程池、消除阻塞等待或调整任务依赖解决。
  4. 并发模型调用:无数据依赖的调用应并发执行,有依赖时才串行;同时要设置超时、隔离并发量并记录每个上游的耗时和错误。