岗位题目
后端开发相关面试题第 6 页
Java 中实现多线程有哪些方式?
Java 中实现多线程有哪些方式?这道腾讯牛客题的关键是围绕“Java 线程与多线程实现方式”讲清概念、机制、取舍和边界。Java 实现多线程可以从 Thread、Runnable、Callable/Future、线程池和 CompletableFuture 等方式回答。更底层看,Java 线程通常映射到操作系统原生线程,由 JVM 负责创建、调度协作、栈管理和状态维护。
数据库性能优化通常从哪些方向入手?
数据库性能优化通常从哪些方向入手?这道腾讯牛客题的关键是围绕“数据库性能优化方向”讲清概念、机制、取舍和边界。数据库性能优化要从定位、SQL/索引、表结构、事务锁、连接池、缓存、架构扩展和硬件参数多层看。先用慢查询日志、监控和执行计划定位瓶颈,再决定是改 SQL、加索引、拆表、调连接池还是做缓存/读写分离。
关系型数据库和非关系型数据库有什么区别?
关系型数据库和非关系型数据库有什么区别?这道腾讯牛客题的关键是围绕“关系型数据库与 NoSQL 对比”讲清概念、机制、取舍和边界。关系型数据库强调结构化 schema、SQL、表关系、Join 和 ACID 事务,典型如 MySQL/PostgreSQL;非关系型数据库按模型分为 KV、文档、列族、图数据库等,更强调灵活 schema、水平扩展和特定访问模式。
Redis 主从复制的原理是什么?
Redis 主从复制的原理是什么?这道腾讯牛客题的关键是围绕“Redis 主从复制原理”讲清概念、机制、取舍和边界。Redis 主从复制通过从节点向主节点发起 PSYNC,同步主节点数据和后续命令流。首次或断点不可用时做全量同步,主节点生成 RDB 发送给从节点;断线重连且 backlog 足够时可做部分重同步。
业务中为什么会引入 Redis?适合哪些典型场景?
业务中为什么会引入 Redis?适合哪些典型场景?这道腾讯牛客题的关键是围绕“Redis 典型业务场景”讲清概念、机制、取舍和边界。业务引入 Redis 通常是为了低延迟访问和高吞吐状态管理。典型场景包括高频读缓存、计数器、排行榜、会话、分布式锁、限流、去重、延迟任务和轻量消息队列。
Redis 访问变慢时如何排查和优化?
Redis 访问变慢时如何排查和优化?这道腾讯牛客题的关键是围绕“Redis 访问变慢排查”讲清概念、机制、取舍和边界。Redis 变慢要按客户端、网络、Redis 命令、数据结构、内存、持久化和系统资源逐层排查。不能只说扩容或加机器,先要确认慢在连接、排队、执行、返回还是下游依赖。
Java 线程是如何实现的?
Java 线程是如何实现的?这道腾讯牛客题的关键是围绕“Java Thread 到 OS 线程实现”讲清概念、机制、取舍和边界。现代 HotSpot 中 Java Thread 通常映射到操作系统原生线程,JVM 内部有 JavaThread/OSThread 等结构承接 Java 层 Thread 对象和 OS 调度实体。
Redis 如何保证消息可靠性?
Redis 如何保证消息可靠性?这道腾讯牛客题的关键是围绕“Redis 消息队列可靠性边界”讲清概念、机制、取舍和边界。Redis 可以做轻量消息队列,但可靠性取决于使用 Pub/Sub、List 还是 Streams。Pub/Sub 基本不保存离线消息,List 需要自己设计确认和重试,Streams 支持 consumer group、pending list 和 ACK,更适合需要可靠消费的场景。
HTTPS 中 TLS/SSL 的握手和加密原理是什么?
HTTPS 中 TLS/SSL 的握手和加密原理是什么?这道腾讯牛客题的关键是围绕“HTTP、HTTPS 与 TLS 安全链路”讲清概念、机制、取舍和边界。HTTP 是明文应用层协议,HTTPS 是 HTTP 运行在 TLS 之上。TLS 通过证书链验证服务器身份,通过密钥交换协商会话密钥,后续数据主要用对称加密传输,同时用完整性校验防止篡改。
TCP 连接关闭过程是什么,半关闭状态下还能否通信?
TCP 连接关闭过程是什么,半关闭状态下还能否通信?这道腾讯牛客题的关键是围绕“TCP 四次挥手与半关闭”讲清概念、机制、取舍和边界。TCP 关闭是双向独立关闭的过程,典型四次挥手是主动方发送 FIN,对端 ACK;对端也准备关闭时发送 FIN,主动方 ACK 后进入 TIME_WAIT。半关闭表示一端已经关闭发送方向,但仍可接收对端数据。
数据库中如何使用 MD5 哈希存储字段?有哪些安全风险?
数据库中如何使用 MD5 哈希存储字段?有哪些安全风险?这道腾讯牛客题的关键是围绕“数据库字段 MD5 哈希存储风险”讲清概念、机制、取舍和边界。MD5 是确定性哈希,不是加密。数据库中可用 MD5 存储某些字段的摘要用于去重或脱敏匹配,但不能用于安全保存密码,因为 MD5 快、可暴力破解,并且存在碰撞和彩虹表风险。
常见排序算法中哪些是稳定排序?
常见排序算法中哪些是稳定排序?这道腾讯牛客题的关键是围绕“排序稳定性”讲清概念、机制、取舍和边界。排序稳定性指相等 key 的元素在排序后仍保持原来的相对顺序。常见稳定排序包括冒泡排序、插入排序、归并排序、计数排序、基数排序和桶排序的稳定实现;常见不稳定排序包括快速排序、堆排序、选择排序和希尔排序。
Redis 的底层数据结构有哪些?跳表是如何实现的?
Redis 的底层数据结构有哪些?跳表是如何实现的?这道腾讯牛客题的关键是围绕“Redis 数据结构与底层编码”讲清概念、机制、取舍和边界。Redis 常用对外数据结构包括 String、List、Hash、Set、ZSet、Bitmap、HyperLogLog、Geo 和 Stream。回答时还要区分对外类型和底层编码,例如 SDS、listpack、quicklist、dict、intset 和 skiplist。
JVM 堆内存分配如何保证线程安全?
JVM 堆内存分配如何保证线程安全?这道腾讯牛客题的关键是围绕“JVM 堆对象分配的线程安全”讲清概念、机制、取舍和边界。JVM 堆内存分配保证线程安全,常见方式是优先使用 TLAB 给每个线程分配一小块私有 Eden 区域,线程在自己的 TLAB 里用指针碰撞快速分配;TLAB 不够或不适用时,再走 CAS 加失败重试或加锁的慢路径。
什么是数据库事务?事务的 ACID 特性是什么?
什么是数据库事务?事务的 ACID 特性是什么?这道腾讯牛客题的关键是围绕“数据库事务与 ACID”讲清概念、机制、取舍和边界。事务是一组数据库操作的逻辑单元,要么全部成功提交,要么失败回滚。ACID 分别是 Atomicity 原子性、Consistency 一致性、Isolation 隔离性和 Durability 持久性。
Go 中主协程如何等待其他协程执行完再继续?
Go 中主协程如何等待其他协程执行完再继续?这道腾讯牛客题的关键是围绕“Go WaitGroup 等待 goroutine”讲清概念、机制、取舍和边界。Go 中主 goroutine 等待其他 goroutine 最常用 sync.WaitGroup:启动前 Add 任务数,每个 goroutine defer Done,主 goroutine 调 Wait 阻塞直到计数归零。需要错误传播和取消时用 errgroup.WithContext 更合适。
MySQL 常见存储引擎有哪些?它们有什么区别?
MySQL 常见存储引擎有哪些?它们有什么区别?这道腾讯牛客题的关键是围绕“MySQL 存储引擎差异”讲清概念、机制、取舍和边界。MySQL 常见存储引擎包括 InnoDB、MyISAM、Memory、Archive 和 CSV。当前默认主流是 InnoDB,支持事务、行级锁、MVCC、外键和崩溃恢复;MyISAM 不支持事务,主要是表级锁。
同一个对象中两个 synchronized 方法分别被两个线程调用时会发生什么?
同一个对象中两个 synchronized 方法分别被两个线程调用时会发生什么?这道腾讯牛客题的关键是围绕“同一对象 synchronized 实例方法锁竞争”讲清概念、机制、取舍和边界。同一个对象里的两个 synchronized 实例方法使用的是同一把对象 monitor 锁。两个线程分别调用同一对象的两个 synchronized 方法时会互斥,先获得锁的线程执行,另一个线程进入 BLOCKED 等待。
SSL/TLS 的基本原理是什么?
SSL/TLS 的基本原理是什么?这道腾讯牛客题的关键是围绕“HTTP、HTTPS 与 TLS 安全链路”讲清概念、机制、取舍和边界。HTTP 是明文应用层协议,HTTPS 是 HTTP 运行在 TLS 之上。TLS 通过证书链验证服务器身份,通过密钥交换协商会话密钥,后续数据主要用对称加密传输,同时用完整性校验防止篡改。
什么是聚簇索引?
什么是聚簇索引?这道腾讯牛客题的关键是围绕“InnoDB 聚簇索引”讲清概念、机制、取舍和边界。聚簇索引是数据行按索引顺序存储的索引结构。在 InnoDB 中,主键索引通常就是聚簇索引,叶子节点保存完整行数据;二级索引叶子节点保存二级索引列和主键值。
AQS 的核心原理和常见实现类有哪些?
AQS 的核心原理和常见实现类有哪些?这道腾讯牛客题的关键是围绕“AQS 同步框架”讲清概念、机制、取舍和边界。AQS 是 JUC 中构建同步器的基础框架,核心是用 volatile state 表示同步状态,用 CAS 修改状态,用 CLH 变体队列管理获取失败的线程。ReentrantLock、Semaphore、CountDownLatch 等都复用这套框架。
多用户并发 Agent 中,记忆模块如何做隔离并保证线程安全?
这题考察多用户并发 Agent 的状态边界设计:记忆必须按 tenant、user、session 或 conversation 隔离,外部化存储并避免进程内共享可变状态,同时用原子写入、锁、版本号和异步上下文传递保证并发安全。
RAG 处理 PDF 知识库时,如何设计切片、分页元数据和检索链路来减少答非所问?
这题考察 PDF 知识库 RAG 的端到端设计:要用结构化解析保留标题、页码和版面语义,按文档结构切 chunk 并带 page span metadata,通过召回、重排和上下文组装减少答非所问,并用 badcase 闭环持续修正切片与检索链路。
同公司岗位有 2 条面经记录
MCP 客户端调用服务端工具的完整交互流程是什么?
这题考 MCP 工具调用协议的端到端理解,回答时要按连接握手、工具发现、模型决策、客户端分发、服务端执行、结果回传和安全边界展开。
RAG 知识库如何做定期维护,什么时候应选 RAG 而不是 SFT?
这题考 RAG 知识库生命周期治理和 RAG/SFT 方案选择,回答要把数据更新、质量评估、检索效果和模型改造边界分开。
Agent 多工具调度模块如何做冲突检测与解决?
这题考 Agent 多工具并发调度的工程治理,回答要说明冲突类型、预检查、执行中仲裁、补偿和审计闭环。
Agent 工具调用超时后如何设计降级方案?
这题考 Agent 工具调用可靠性设计,回答要围绕超时预算、重试、降级答案、异步继续、熔断和用户可见状态展开。
同题还出现在 1 个公司岗位
LLM 服务用 vLLM 和 Streaming 输出时,如何在首 token、总延迟和吞吐之间折中?
这题考 LLM 推理服务的性能取舍,回答要把 vLLM/KV-cache、Streaming、TTFT、总延迟、吞吐和 batching 之间的矛盾讲清楚。
Agent 系统中的 skill(能力模块)应如何设计和实现?
这题考 Agent 能力模块的工程抽象,回答要说明 skill 的边界、契约、工具绑定、权限、测试、版本和失败处理。
同题还出现在 1 个公司岗位
向量数据库和传统数据库在查询方式、索引结构和事务能力上有什么区别?
这题考向量数据库和传统数据库的边界,回答要围绕查询目标、索引结构、事务一致性和工程搭配展开。
大模型推理中 Prefill/Decode(PD)分离部署为什么能提升处理速度?
这题考 LLM serving 的工作负载拆分,回答要讲清 prefill 和 decode 的差异、分离部署收益、KV cache 交接和适用边界。
Agent 系统 Prompt 如何设计迭代,并处理用户请求不完整的意图补全?
这题考 Agent system prompt 的工程化设计,以及用户请求不完整时如何识别缺口、澄清、假设和补全。
Agent 场景下 Prompt 自动优化应如何工程化设计?
这题考 Agent Prompt 自动优化的工程化闭环,回答要聚焦候选生成、离线评测、安全门禁、灰度实验和回滚。
代码生成或代码定位场景中,文件过长超过 LLM 上下文窗口时如何处理?
这题考代码生成或代码定位中长文件超过 LLM 上下文窗口的工程处理,重点是检索、切片、结构化上下文和验证,而不是泛泛讨论 long context 退化。
金融场景下 Agent 超时、失败或中断时,如何设计安全重试和兜底?
这题考金融场景下 Agent 执行失败后的安全边界。答案必须围绕资金安全、幂等、状态机、确认、审计、对账和补偿展开,不能写成普通接口超时重试。
同公司岗位有 3 条面经记录
RAG 知识库如何做不停服更新,并保证检索结果一致性?
这题考 RAG 知识库不停服更新和一致性,不是 RAG vs SFT。回答要覆盖版本化索引、离线构建、影子验证、别名切换、缓存失效、权限元数据和回滚。
多 Agent 系统如何设计编排流程,并控制每个 Agent 的任务边界?
这题考多 Agent 编排流程和任务边界。回答重点是 coordinator、planner、executor、reviewer 的流程、契约、状态交接、冲突处理和可观测性,不是泛泛解释 Agent。
同题还出现在 1 个公司岗位
Agent 项目如何选择底层模型,依据和验证方法是什么?
这题考 Agent 项目的底层模型选型。答案要从任务类型、工具调用、结构化输出、上下文、延迟成本、安全、评测集、灰度和 fallback 路由来讲。
Agent 长期记忆功能如何设计、召回和持续优化?
这题考 Agent 长期记忆的生命周期,不是多用户隔离。答案要覆盖存什么、如何抽取、召回、更新、遗忘、删除、隐私授权和质量评估。
大模型幻觉在 Agent 服务化中会带来哪些问题,如何治理?
这题考大模型幻觉在 Agent 服务化中的生产风险。答案要聚焦错误工具调用、虚假状态、操作控制、权限、审计、dry-run、确认和事故闭环,而不是泛泛说 RAG 和提示词。
AI Agent 系统从通用 Agent 模式切到 Cline / Code 模式时,如何量化评估效果差异?
这题考 AI Coding Agent 从通用 Agent 模式切到 Cline / Code 模式后的工程评估方法,回答要覆盖任务成功率、代码变更正确性、工具调用稳定性、延迟成本和用户验收。
RAG 能力作为 Agent 工具开放后,如何评估召回质量、任务成功率和用户体验?
这题考 RAG 作为 Agent 工具后的评估体系,重点不是单纯调召回,而是同时评估检索质量、工具选择、答案可信度、端到端任务成功和用户体验。
强模型直连与本地模型 + RAG + Prompt 优化,应如何按成本、延迟、安全和效果取舍?
这题考强模型直连与本地模型加 RAG 和 Prompt 优化之间的架构取舍,回答要按效果、成本、延迟、安全、可控性和运维复杂度做决策,而不是给单一答案。
LLM 服务在 500 并发下如何把 TTFT P99 从 3s 优化到 1.5s?
这题考高并发 LLM 服务的首 token 长尾优化,回答要先建立可观测性,再从排队、调度、prefill/decode、批处理、KV 缓存、prompt 长度、容量和流式链路逐层处理。
Agent 短期记忆应何时抽取、存放到哪里,并如何拼进 System Prompt?
这题考 Agent 短期记忆的工程链路,回答要区分对话缓冲、摘要、抽取事实和工具状态,并说明抽取时机、存储位置、Prompt 拼装顺序、预算控制和失效规则。
同题还出现在 2 个公司岗位
Agent 记忆出现过期或冲突事实时,如何更新、覆盖和回溯?
这题考 Agent 记忆过期和冲突事实的治理,回答要覆盖事实版本、来源置信度、用户确认、覆盖规则、tombstone、审计回溯和 Prompt 侧只使用当前有效记忆。
同题还出现在 1 个公司岗位
Agent 中上下文工程如何设计,如何组织 System Prompt、工具结果和记忆?
这题考 Agent 上下文工程的结构化设计,回答重点是如何组织 System Prompt、用户任务、工具结果、记忆、约束和截断策略,让模型拿到必要信息而不过载。
同题还出现在 2 个公司岗位
LangGraph 相比 LangChain 在多 Agent 编排中有什么优势,状态快照机制解决什么问题?
这题考多 Agent 编排中框架选型和状态管理能力,回答重点是图式编排、可恢复状态、调试回放、人工介入和长流程可靠性。
同题还出现在 1 个公司岗位