分页题目
后端开发工程师相关题目第 2 页
为什么会使用 Redis 实现消息队列?它适合哪些场景?
为什么会使用 Redis 实现消息队列?它适合哪些场景?这道腾讯牛客题的关键是围绕“Redis 实现消息队列场景”讲清概念、机制、取舍和边界。Redis 可以做轻量消息队列,适合延迟敏感、吞吐中等、业务可接受 at-least-once 和重复消费的场景。常见实现包括 List、Pub/Sub 和 Streams,其中 Streams 更适合可靠消费。
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 等都复用这套框架。
RAG 处理 PDF 知识库时,如何设计切片、分页元数据和检索链路来减少答非所问?
这题考察 PDF 知识库 RAG 的端到端设计:要用结构化解析保留标题、页码和版面语义,按文档结构切 chunk 并带 page span metadata,通过召回、重排和上下文组装减少答非所问,并用 badcase 闭环持续修正切片与检索链路。
同公司岗位有 2 条面经记录
大模型推理中 Prefill/Decode(PD)分离部署为什么能提升处理速度?
这题考 LLM serving 的工作负载拆分,回答要讲清 prefill 和 decode 的差异、分离部署收益、KV cache 交接和适用边界。
金融场景下 Agent 超时、失败或中断时,如何设计安全重试和兜底?
这题考金融场景下 Agent 执行失败后的安全边界。答案必须围绕资金安全、幂等、状态机、确认、审计、对账和补偿展开,不能写成普通接口超时重试。
同公司岗位有 3 条面经记录
RAG 知识库如何做不停服更新,并保证检索结果一致性?
这题考 RAG 知识库不停服更新和一致性,不是 RAG vs SFT。回答要覆盖版本化索引、离线构建、影子验证、别名切换、缓存失效、权限元数据和回滚。
多 Agent 系统如何设计编排流程,并控制每个 Agent 的任务边界?
这题考多 Agent 编排流程和任务边界。回答重点是 coordinator、planner、executor、reviewer 的流程、契约、状态交接、冲突处理和可观测性,不是泛泛解释 Agent。
同题还出现在 1 个公司岗位
Agent 自动生成 PPT 后,如何设计展示效果校验和自动迭代闭环?
这题考文档生成 Agent 的自验证闭环。回答要聚焦 PPT 渲染后的视觉效果、内容一致性、规则校验、多模态评估、人工审核和局部迭代,而不是泛泛说让模型再检查一遍。
Agent 的 thinking 阶段如何判断该调用工具还是直接回复,如何设计决策信号和安全约束?
这题考的是 Agent 运行时决策设计:候选人要能说明什么时候直接回答、什么时候调用工具、什么时候追问,以及如何用置信度、权限、安全和回归评估约束决策。
同题还出现在 1 个公司岗位
Agent 工具调用超时后如何设计降级方案?
这题考 Agent 工具调用可靠性设计,回答要围绕超时预算、重试、降级答案、异步继续、熔断和用户可见状态展开。
同题还出现在 1 个公司岗位
MCP、Function Call 和 A2A 在 Agent 系统中分别解决什么边界,如何协同?
这题考 Agent 系统的协议和责任边界。Function Call 解决模型到宿主工具调用意图的结构化表达,MCP 解决宿主和外部工具/资源服务之间的标准化连接,A2A 解决 Agent 与 Agent 之间的任务委托和协作。三者层级不同,不能混成同一个概念。
大模型 Function Call 为什么会产生工具调用幻觉,工程上如何用 schema、权限、校验和反馈闭环降低误调用?
这题考 Function Call 的工程治理能力:工具调用幻觉不只靠 prompt 解决,还要靠工具契约、调用门禁、参数校验、执行反馈、回退策略和评测闭环共同降低。
同题还出现在 3 个公司岗位
ReAct 的思考-行动-观察循环如何驱动 Agent 工具调用,和普通 CoT 有什么区别?
这题考的是候选人是否理解 ReAct 把模型推理和外部行动交织起来:模型不是一次性输出答案,而是在思考、选择工具、观察结果、继续推理的闭环中逐步完成任务;它和普通 CoT 的关键区别是能通过工具调用改变外部状态并用真实观察修正推理。
Agent 中上下文工程如何设计,如何组织 System Prompt、工具结果和记忆?
这题考 Agent 上下文工程的结构化设计,回答重点是如何组织 System Prompt、用户任务、工具结果、记忆、约束和截断策略,让模型拿到必要信息而不过载。
同题还出现在 2 个公司岗位