面灵AI

字节AI应用开发面试题解

时间
2026-08
来源
牛客网

《面试题目》

  1. 开场自我介绍
  2. 面试官您好,我叫 XXX,目前主要方向是后端开发,同时也做过一些 AI Agent 相关实践。
  3. 技术栈上,我主要使用 Java / Spring Boot / MySQL / Redis / RocketMQ,也接触过 Python、AI 编程工具和大模型应用开发。
  4. 项目方面,我做过高并发业务场景,比如优惠券抢券、限流、缓存、分布式锁,也做过 RAG、测试 Agent 这类 AI 应用。后端这块我比较关注系统稳定性、性能优化和工程落地;AI 这块我更关注怎么把模型能力接入真实业务流程,比如工具调用、上下文管理、Prompt 约束、测试评估和结果校验。
  5. 今天也希望能结合项目经历,把我对基础知识和工程实践的理解讲清楚。
  6. 进程和线程之间有什么区别?
  7. 进程是资源分配的基本单位,线程是 CPU 调度的基本单位。
  8. 一个进程有独立的地址空间、文件句柄、堆栈等资源;同一个进程里的多个线程共享进程资源,比如堆内存、全局变量、文件描述符,但每个线程有自己的栈和程序计数器。
  9. 所以进程之间隔离性更强,创建和切换成本更高;线程更轻量,但共享内存也会带来线程安全问题。
  10. 进程间通信有哪些

《参考解析》

  1. Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
  2. MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。
  3. 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。