腾讯面经-腾讯后端开发岗面经-02
- 时间
- 2026-06
- 来源
- 牛客网
《面试题目》
- 介绍一下两段实习
- 实习经历中很痛苦的一个点在哪?如何处理的?
- 如何构建nl2sql?
- 上下文工程和知识库之间的关系?
- 如何构建一个好的知识库?
- 什么场景用得到向量数据库?
- 如何理解语义?举个例子?
- weak_ptr存在的原因;什么是循环引用,你能现场写一个吗?
- RAII是什么?你知道它是哪几个单词的缩写吗?RTTI呢?
- mysql:什么是索引覆盖?什么是回表?
- redis为什么快?
- redis是单线程吗?那redis有地方用多线程吗?
- redis怎么保持集群一致性?你知道raft吗?
- redis集群出故障了怎么办?
- 手撕:去重数组中的重复元素;
- 手撕:线程池的参数、工作流程,为什么大于核心线程数后加入队列而不是扩充线程池
- 手撕:滑动窗口限流怎么实现的,为什么不使用计数器
- 手撕:删除链表某个节点;
- 手撕:LRU;
- 手撕:Java的垃圾回收算法有哪些?
- 如果在线上业务的GC突然增多,你会如何排查?
- TCP 和 UDP 的区别?
- 基于UDP的网络视频场景下,如果用户因为网不好导致视频质量不好,如何优化?
- 什么是慢查询?
- 如果要将数据库的上百万条数据一起取出,你会如何优化查询?
- Redis有慢查询吗?
- Redis的大key,如果是在线上的,如何保证用户体验的同时安全地将其删除?
- 手撕:现场看代码,python语法问题
- 手撕:打家劫舍
- 介绍一下synchronized关键字
- 介绍一下java的内存模型
- 介绍一下jvm的组成
- 介绍一下java的垃圾回收机制
- 手撕:怎么学算法的
- 手撕:字符串接口
- 设计一个 TCP 客户端和服务端
- 手撕:动态规划在业务开发中的使用场景
- 手撕:JVM 的内存划分、GC 算法和垃圾回收器(CMS、G1、ZGC)
- 手撕:HDFS 中 NameNode 的 fsimage 和 edit log
- 手撕:看你硕士毕业论文的方向是模型算法,为什么会选择测试开发?
- 说一个你喜欢玩的游戏,其中发现哪些bug和可以优化的地方?
- 手撕:如果你是开发,如何编写这种衰减函数的代码?具体说说
- 有自己了解过游戏引擎之类吗?它们会怎么实现这种功能?
- 那你认为测试需要了解这些游戏底层引擎是如何实现功能?在什么程度下需要了解?说说规划?
- 有涉及到测试大模型的幻觉,意图等吗?
- 手撕:讲讲前端代码缺陷检测的流程?
- 准确率提升从哪些方面进行优化的?
- 手撕:babel parser这个工具是否了解过底层的代码链?比如说它对应的AST格式
- 对于解析前端函数的工具选型如何考量的?有哪些方法,自己有结合AI了解不同框架的实现原理与效果?
- 手撕:对于使用babel parser有统计过代码的解析率吗?后续可能涉及到一些修改会导致一些图数据库中对于方法的保存有异常这种情况?
- 手撕:代码题:数组中一个数出现1次,其他数出现k次,返回那个出现一次的数
- 手撕:链表倒数第 k 个节点
- 手撕:右视图
- 手撕:数组中能组成三角形边的数量
- 手撕:很多服务很多告警信息如何处理(消息队列解耦、优先级处理)
- 手撕:消息队列的理解,可能出现什么问题以及如何解决(消息丢失、消息积压、保证有序性)
- 手撕:378. 有序矩阵中第 K 小的元素
- 手撕:ai coding 50min 实现一个前后端全栈的ai聊天功能应用
- 这个应用的核心技术点是什么?要怎么设计才能把它做好?
- 大规模使用这个应用的话,后端业务要怎么处理?
- 讲讲多服务器怎么提高性能?(按照分层架构 一层层讲如何水平扩展)
- 讲讲单服务器怎么提高性能?
- 数据库怎么做优化?
- 高性能时候日志该怎么处理?日志有什么瓶颈吗?
- 怎么防止日志最终落盘被打乱?
- 写入内存池的时候,想要多线程在里面写要怎么办到?
- 高并发时候想对所有用户问题消息做一个统一的计数该怎么处理?
- 同9,如果不考虑外部组件,在内存里直接改要怎么改?
- 问我ai最近的趋势是什么?讲讲对harness的定义
- 一个最小的agent有什么机制?有什么功能?
- agent最小执行单元是个loop,这个loop是如何执行的?
- 问我大二能不能实习?能不能长期实习?
- 问我看过什么书?问我csdn(蚌埠住了)问我怎么学习的?
- 手撕:上来手撕一道kmp 自测三遍
- 手撕:测完问你next数组怎么设计的?为什么这么设计?
- 手撕:开始看第一个项目 问项目里op_type字段的枚举怎么设计的?为什么这么设计?
- 线程池workers是怎么赋值的?怎么负责的?承担的工作是什么?
- 为什么不考虑用unordered_map?而用map?
- 你觉得什么时候一定要用到unique_ptr?什么场景下?
- 了不了解面向对象的分析及设计这门学科?了不了解单例模式,工厂模式,代理模式?
- 简单讲讲你认为的分布式事务,高并发业务,以及容器化编程
- 手撕:广告日志作弊点击过滤(同一用户同一广告一分钟内三次点击算作弊,过滤作弊记录)
- 手撕:赛马问题(64 匹马 8 条赛道,找最快 3 匹,最少比赛次数)
- 手撕:手写 HashMap(实现 put、get 方法)
- 详细讲一下你的后端项目
《参考解析》
- 这类问题建议结合自己的项目经历和岗位要求准备具体案例,突出思考过程而非死记结论,面试官更看重解决问题的逻辑。
- 回答AI相关问题时应结合具体项目说明如何设计Prompt、评估效果以及处理边界情况(如幻觉、超时),并展示对模型能力边界的清晰认知。
- 进程是资源分配的基本单位,线程是CPU调度的基本单位,协程是用户态的轻量级调度单位,切换成本远低于线程,但需要语言/运行时支持。
- 算法题先明确边界条件与不变量,再选择合适的数据结构;双指针、哈希表、递归/迭代是常见工具,目标是把复杂度控制在线性或对数级别。
- LRU的核心是维护访问顺序,常见实现是哈希表+双向链表,做到O(1)的读写与淘汰;Linux内核用近似LRU(多级链表冷热分区)避免维护严格顺序带来的开销。
- CPU飙高排查一般先用top/htop定位进程,再用jstack/pstack抓线程栈,结合火焰图找到热点方法,常见原因是死循环、频繁GC或锁竞争。
- 介绍项目时应说明背景、个人分工、遇到的技术难点及解决方案,并量化收益(性能提升、成本下降等),便于面试官追问细节。