tiktok后端开发一面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 发票校验具体做了什么,信息如何提取?
- 为什么使用 QLExpress,如何实现基本表达式和运算符优先级?
- CLI 编程 Agent 从用户指令到返回结果经历哪些流程?
- Agent 执行中断后如何恢复并避免重复执行?
- 用户确认写操作后,如何保证执行对象与确认时一致?
- 工具注册信息应放在什么位置,工具很多时如何筛选?
- 如何提高大模型缓存命中率并降低调用成本?
- 上下文过长时如何压缩,长期记忆如何分类和召回?
- Plan Mode 与执行模式在权限上有什么区别?
- AQS、CAS 的基本原理和 ABA 问题是什么?
- 线程池有哪些拒绝策略?
- Redis 的数据结构、RDB/AOF 和 6.0 多线程机制如何工作?
- JVM 垃圾回收算法有哪些?InnoDB B+ 树有什么特点?
《参考解析》
表达式引擎通常先做词法分析,再用递归下降或 shunting-yard 处理括号和优先级。Agent 应把每次工具调用记录为可恢复状态,确认后的参数生成不可变快照,执行时禁止再次让模型改写。工具系统可用索引和权限过滤缩小候选集,稳定的系统提示词有利于缓存。AQS 以 state 和 CAS 管理同步队列,ABA 可用版本号解决;线程池拒绝策略需按业务选择。Redis 命令执行主线程为主、网络读写可多线程,RDB 是快照、AOF 是追加日志;InnoDB 用 B+ 树降低磁盘访问次数。