字节跳动后端开发实习生二面面经

字节跳动 · 后端开发实习生 · 二面 · 2026-06

《面试题目》

  1. 自我介绍
  2. 项目一:介绍下项目背景,有什么亮点
  3. 讲下你感觉比较重要的东西
  4. 讲下知识入库的过程
  5. 举一个没用 RAG 和用 RAG 之后的例子
  6. 为什么要用 ReAct
  7. 项目二:重点讲下项目中有哪些问题,是怎么解决的
  8. AI 扩图的过程
  9. Java 反射机制及其使用场景
  10. 手撕:用 SQL 打印菱形图案

《参考解析》

  1. 为什么选用 ReAct 范式:ReAct(Reasoning + Acting)让模型在每一步交替进行”思考(Reasoning)“和”行动(Acting,即调用工具)“,相比直接一次性生成答案,能让模型先规划再执行、在执行后根据观察结果调整下一步策略,特别适合需要多步骤、依赖外部工具/知识获取信息的复杂任务,可解释性和纠错能力也更强。
  2. Java 反射机制应用场景:反射能在运行时动态获取类信息、创建对象、调用方法/访问属性,典型应用包括框架底层实现(Spring 的依赖注入、MyBatis 通过反射填充 SQL 结果到实体类)、注解处理、动态代理,以及通用工具类(如对象拷贝、序列化框架)。
  3. SQL 打印菱形图案:核心思路是借助递归 CTE(WITH RECURSIVE)或数字辅助表生成行号序列,利用 REPEAT/LPAD 等字符串函数按行号计算每行需要的空格数和字符数,上半部分字符数递增、下半部分递减,通过 UNION ALL 拼接上下两部分结果。