腾讯面经-腾讯后端开发岗面经-05
- 时间
- 2026-04
- 来源
- 牛客网
《面试题目》
- MySQL索引优化?慢查询?
- 你一般是怎么使用MySQL的?是否操作过建表之类的?用过explain吗?
- Redis用过吗?
- 手撕:你用过AI写项目吗?具体怎么做?用过代码编辑器内嵌的AI吗?
- 如果让你设计普罗米修斯的监控指标会涉及哪些?考虑业务层吗?应用层指标呢?
- 在实际使用中,你觉得换新模型需要更换提示词吗?
- 在加载预设提示词过程中你可能会遇到什么问题?比如提示词超长怎么办?如何检测过敏词?
- 提示词也分情况对吧,系统预设提示词,用户输入提示词,切分超长提示词导致语义不完整怎么办?
- SSE协议是什么?
- 如何做的RAG?是从0开始吗?
- 谈谈对openclaw的理解
- skills在解决什么问题?在解决什么问题?
- react架构的实现方式、是用框架搭建还是?
- 如果输入问题、深圳南山区到高铁站的路线和人流量情况,同时追问React架构的具体流程?
- 手撕:Rabbaitmq的特性、死信队列等
- stdio、sse、其中流式sse涉及到协议http、http各个版本的区别?
- TCP基于字节流传输的问题、粘包、http协议(基于TCP)是否存在这样的问题?
- mysql事务和redis事务的区别?
- lua脚本的实现原理?
- redis的IO模型?
- 手撕:算法题:数组中第k个最大元素
- JWT鉴权,具体怎么实现的,讲一下原理
- 手撕:订单超时自动取消功能 怎么实现的(rabbitmq死信队列
- 手撕:垃圾回收算法有哪些
- 手撕:Java基础,数组与链表的区别,时间空间复杂度
- 手撕:无手撕算法
- 讲一下实习做了什么
- 实习中服务的 QPS 有多少,做过压测吗?
- 手撕:1 字符串匹配
- 手撕:2 设计一个快照数组
- 手撕:完讨论代码的问题,char 和 string, 问了一维 vector
数组 C++里面会有什么优化? - 出现了慢查询怎么定位?
- 为什么用redis作为缓存?为什么它快?
- 除了你说的基于内存和单线程和多路复用还有什么快的原因?
- 产品上线后,有一天发生缓存雪崩了导致sql宕机服务宕机,怎么立马解决?
- 手撕:代码题:经典的几十亿个int值去重问题
- 手撕:jvm的垃圾回收算法有哪些,区别或者优缺点
- 手撕:算法: 删除链表的倒数第n个节点
- 从实习业务里学到了关于Redis的什么?
- Redis挂了怎么办?
- Redis的哨兵机制怎么投票的?
- 除了投票有最新数据的节点还有其他参考吗?
- Redis的多路复用是什么?
- epoll相比其他的好在哪里?
- 为什么epoll用红黑树不用其他的平衡树?
- 介绍一下你的项目,主要做了什么?有什么难点?
- 项目中为什么同时用MySQL和ES?只用一个不行吗?
- 两个数据库的数据是一样的吗?
- 如何保证MySQL和ES的数据一致性?具体实现过程是怎样的?
- 可以理解为数据从MySQL同步到ES,ES是为了搜索,对吗?
- 手撕:简历中提到的RabbitMQ死信队列是用来做什么的?
- 项目中的Agent是如何实现的?用了什么框架吗?
- 能介绍一下一个Agent循环的基本流程吗?
- 那你说你这里用的ReAct范式,能大概讲一下吗?
- 在RAG项目中,你是如何设计分块的?
- 是用LangChain框架吗?你们用的Embedding模型是哪个?
- 你提到了混合检索(关键词+向量),具体是怎么把这两种策略结合使用的?
- 手撕:你还对模型做了LoRA微调,能大概讲一下LoRA这个算法吗?
- 原模型的参数量大概有多大?
- 讲一下HTTP和HTTPS的区别。
- (针对HTTPS)它使用了对称加密还是非对称加密?
- 讲一下进程和线程的区别。
- 你听说过协程吗?
- 你平时用AI编程工具吗?
- 手撕:找出数组中重复的元素
- 手撕:本地队列挂在 P 还是 M
- 手撕:AI 生成代码和人工 review 的关系
- 手撕:数据结构栈和队列区别
- 介绍一下实习时候k8s是怎么用的
- 服务监控做过吗?
- MySQL索引有了解吗?底层数据结构? 事务隔离级别?
- 项目中用Redis做了什么?
- 询问我AI工具对于传统开发会有什么影响?
- 手撕:AI coding在一个大型系统里面代码质量,可维护性,Bug等等有遇到过吗?
- SDN,网络路由协议等等了解吗?
- 手撕:两道编程题: 不用写说思路即可
- 进程与线程的区别是什么?
- C++11 协程(coroutine)的用户态线程是怎么实现的?
- 什么是 Reactor 模型?
- Reactor 模型底层是如何实现的?
- IO多路复用中 epoll 上层有哪些封装?LT 和 ET 的区别?
- 负载均衡中如何用 Round Robin 实现带权重的任务分配?
- 手撕:操作系统内存淘汰算法有哪些?随机淘汰有什么好处?
- 手撕:rand5变成rand3或者rand7
- Java项目展开说说
- 有用过什么样的编程框架(maven)有用过spring吗 讲一下
- 在 AI Agent 项目中,如何实现和管理多轮对话的上下文(Memory)?
- 当对话轮数过多导致上下文窗口不足时,有哪些解决策略?
- 面对一个全新的开源组件或前沿技术(如 Agent 框架),你的学习路径是什么?
- REACT、COT、Action 三种 Agent 架构的区别是什么?各自适用于什么场景?
- REACT 模型适合解决什么问题?Action 模型的特点是什么?
- Java 运行时内存区域(线程私有与共享)是如何划分的?程序计数器的作用是什么?
- Java 内存模型(JMM)中线程内存与主内存如何同步?
- ConcurrentHashMap 与 HashMap 的区别是什么?
- HashMap 的扩容机制是怎样的?
- 线程和进程的区别是什么?
- CPU 或内存使用异常时,如何进行线上排查?
- 数据库查询变慢时如何定位问题?
- MySQL 中有哪些索引类型?它们的区别是什么?
- TCP 中客户端 ESTABLISHED 而服务端 LISTEN 可能是什么问题?
- TCP 四次挥手的过程是怎样的?
- TCP 连接异常断开(如断电)会发生什么?如何判断连接是否存活?
- 你项目里用到了美团leaf,那你说一下分布式id常见的实现方案(熟练吟唱)
- 延迟双删基于什么考虑的?
- Zset也属于比较重的数据结构,频繁操作Zset压力过大怎么解决?
- RAG切片方案有哪些?
- 如果团队合作时,方案冲突了怎么解决?
- 手撕:力扣162. 寻找峰值、说思路(二分法秒了)
《参考解析》
- 这类问题建议结合自己的项目经历和岗位要求准备具体案例,突出思考过程而非死记结论,面试官更看重解决问题的逻辑。
- 介绍项目时应说明背景、个人分工、遇到的技术难点及解决方案,并量化收益(性能提升、成本下降等),便于面试官追问细节。
- 算法题先明确边界条件与不变量,再选择合适的数据结构;双指针、哈希表、递归/迭代是常见工具,目标是把复杂度控制在线性或对数级别。
- 进程是资源分配的基本单位,线程是CPU调度的基本单位,协程是用户态的轻量级调度单位,切换成本远低于线程,但需要语言/运行时支持。
- 红黑树是内存内的平衡二叉树,追求单点操作的对数复杂度;B+树针对磁盘/索引场景做了扇出优化,减少IO次数,更适合范围查询和顺序扫描。
- 回答AI相关问题时应结合具体项目说明如何设计Prompt、评估效果以及处理边界情况(如幻觉、超时),并展示对模型能力边界的清晰认知。
- CPU飙高排查一般先用top/htop定位进程,再用jstack/pstack抓线程栈,结合火焰图找到热点方法,常见原因是死循环、频繁GC或锁竞争。