真实公司面经题目

面经题库第 16 页

面试大师面经题库按公司、岗位和知识点整理真实面试题,每道题提供图解、60 秒回答、追问路径和易错点。 第 16 页继续收录同一分类下的真实面经题。

第 16 页面试题

筛选题目 公司、岗位、知识点

公司

公司岗位

岗位

标签

如何基于 UDP 实现可靠传输?

如何基于 UDP 实现可靠传输?这道腾讯牛客题的关键是围绕“基于 UDP 的可靠传输设计”讲清概念、机制、取舍和边界。基于 UDP 做可靠传输,本质是在应用层补齐 TCP 的一部分能力:序列号、ACK、超时重传、去重、乱序重排、滑动窗口、流量控制、拥塞控制和 MTU 控制。不能只回答 ACK 加重传。

对TCP的理解,有哪些特点?

对TCP的理解,有哪些特点?这道腾讯牛客题的关键是围绕“TCP 协议职责与特点”讲清概念、机制、取舍和边界。TCP 是传输层面向连接的可靠字节流协议,主要职责是为应用层提供可靠、有序、无重复的双向字节流,并通过流量控制和拥塞控制适配接收端与网络能力。

Http与Https的区别,Https是如何保证数据安全的?

Http与Https的区别,Https是如何保证数据安全的?这道腾讯牛客题的关键是围绕“HTTP、HTTPS 与 TLS 安全链路”讲清概念、机制、取舍和边界。HTTP 是明文应用层协议,HTTPS 是 HTTP 运行在 TLS 之上。TLS 通过证书链验证服务器身份,通过密钥交换协商会话密钥,后续数据主要用对称加密传输,同时用完整性校验防止篡改。

什么是动态规划?

什么是动态规划?这道腾讯牛客题的关键是围绕“动态规划定义与解题框架”讲清概念、机制、取舍和边界。动态规划适合具有最优子结构和重叠子问题的问题。回答时要讲清状态定义、转移方程、初始化、遍历顺序和结果位置,而不是先展开 DP 与贪心对比。

链表如何插入节点?

链表如何插入节点?这道腾讯牛客题的关键是围绕“链表节点插入流程”讲清概念、机制、取舍和边界。链表插入节点的核心是先保存后继,再改新节点和前驱的指针。单链表在已知前驱节点 prev 时,可以让 newNode.next = prev.next,再让 prev.next = newNode。

进程的虚拟地址是怎么分区的?

进程的虚拟地址是怎么分区的?这道腾讯牛客题的关键是围绕“进程虚拟地址空间分区”讲清概念、机制、取舍和边界。进程虚拟地址空间通常包括代码段 text、只读数据 rodata、已初始化数据 data、未初始化数据 bss、堆 heap、mmap 区、用户栈 stack 和内核空间映射边界。

TCP 协议具体是干嘛的?

TCP 协议具体是干嘛的?这道腾讯牛客题的关键是围绕“TCP 协议职责与特点”讲清概念、机制、取舍和边界。TCP 是传输层面向连接的可靠字节流协议,主要职责是为应用层提供可靠、有序、无重复的双向字节流,并通过流量控制和拥塞控制适配接收端与网络能力。

一个 UDP 包最多能装多少数据?

一个 UDP 包最多能装多少数据?这道腾讯牛客题的关键是围绕“UDP 报文大小与 MTU”讲清概念、机制、取舍和边界。一个 UDP 包理论 payload 最大值常说 IPv4 下 65507 字节,即 IP 总长度 65535 减 20 字节 IPv4 头和 8 字节 UDP 头。但工程上不能按这个值发送,实际要受链路 MTU、IP 分片、IPv6 最小 MTU、丢包和应用延迟约束。

String与StringBuffer的区别,StringBuffer如何实现线程安全的?

String与StringBuffer的区别,StringBuffer如何实现线程安全的?这道腾讯牛客题的关键是围绕“String、StringBuffer 与线程安全”讲清概念、机制、取舍和边界。String 是不可变对象,拼接会产生新对象或由编译器优化;StringBuffer 是可变字符序列,核心方法带 synchronized,因此同一实例的修改具备互斥;StringBuilder 也是可变字符序列,但不做同步,单线程更快。

进程线程区别?

进程线程区别?这道腾讯牛客题的关键是围绕“进程与线程区别及上下文切换”讲清概念、机制、取舍和边界。进程是资源拥有和隔离单位,线程是同一进程内的调度执行单位。同一进程的线程共享地址空间、堆、全局变量和文件描述符,但有独立栈、寄存器上下文、线程局部存储和调度状态。

进程间通信方式?

进程间通信方式?这道腾讯牛客题的关键是围绕“进程间通信方式”讲清概念、机制、取舍和边界。进程间通信方式包括匿名管道、命名管道 FIFO、消息队列、共享内存、信号量、信号、Unix domain socket、TCP socket、mmap 和文件锁。选择取决于是否亲缘进程、吞吐、延迟、同步需求和是否跨机器。

当文件无法一次全部加载内存时,如何对大文件内容排序?

当文件无法一次全部加载内存时,如何对大文件内容排序?这道腾讯牛客题的关键是围绕“大文件外部排序”讲清概念、机制、取舍和边界。大文件无法一次加载内存时,用外部排序:按内存上限分块读取,每块在内存中排序后写成临时有序 run,再用 k 路归并把多个有序 run 合成最终有序文件。

如何用回溯法生成全排列?

如何用回溯法生成全排列?这道腾讯牛客题的关键是围绕“回溯生成全排列”讲清概念、机制、取舍和边界。用回溯生成全排列,维护当前路径 path 和 used 标记。每一层选择一个未使用元素加入路径,递归到长度为 n 时收集一个排列,然后撤销选择继续尝试。

MHA 中的 Dropout 和 MLP 中的 Dropout 有什么区别?

MHA 中的 Dropout 和 MLP 中的 Dropout 有什么区别?这道腾讯牛客题的关键是围绕“Transformer 中不同位置的 Dropout”讲清概念、机制、取舍和边界。MHA 中的 Dropout 和 MLP 中的 Dropout 目标都是正则化,但作用位置不同。MHA 里常见 Dropout 作用在 attention probabilities 或 attention output 上,影响 token 之间信息汇聚;MLP/FFN 中 Dropout 作用在隐藏层激活或输出上,影响逐 token 的非线性特征变换。

TCP 的 TIME_WAIT 状态如何理解?

TCP 的 TIME_WAIT 状态如何理解?这道腾讯牛客题的关键是围绕“TCP TIME_WAIT 状态”讲清概念、机制、取舍和边界。TIME_WAIT 通常出现在主动关闭连接的一方。它在发送最后一个 ACK 后等待 2MSL,目的是处理网络中迟到的旧报文,并保证对端如果没收到最后 ACK 可以重传 FIN 后仍能得到响应。

SVM 核函数应如何选择?

SVM 核函数应如何选择?这道腾讯牛客题的关键是围绕“SVM 核函数选择”讲清概念、机制、取舍和边界。SVM 核函数选择要看数据规模、特征维度、线性可分程度和非线性边界复杂度。线性核适合高维稀疏或近似线性数据,RBF 核适合中小规模非线性边界,多项式核适合明确存在特征交互阶数的场景。

HTTP 和 HTTPS 有什么区别,HTTPS 的公钥存放在哪里?

HTTP 和 HTTPS 有什么区别,HTTPS 的公钥存放在哪里?这道腾讯牛客题的关键是围绕“HTTP 与 HTTPS 区别及公钥来源”讲清概念、机制、取舍和边界。HTTP 是明文应用层协议,没有内建加密、完整性校验和服务器身份认证;HTTPS 是 HTTP over TLS,通过 TLS 提供加密传输、完整性保护和服务器身份认证。HTTPS 的服务器公钥放在服务器证书里,客户端用本地信任的 CA 根证书链验证证书可信。

TCP 协议在传输层承担什么作用,它如何保证可靠传输?

TCP 协议在传输层承担什么作用,它如何保证可靠传输?这道腾讯牛客题的关键是围绕“TCP 可靠传输机制”讲清概念、机制、取舍和边界。TCP 保证可靠传输依靠序列号、确认应答、超时重传、快速重传、校验和、滑动窗口、拥塞控制和有序重组。它保证的是可靠有序的字节流,不保证应用层消息边界。

随机森林的基本原理是什么,为什么它通常比单棵决策树更稳健?

随机森林的基本原理是什么,为什么它通常比单棵决策树更稳健?这道腾讯牛客题的关键是围绕“随机森林基本原理”讲清概念、机制、取舍和边界。随机森林通过 bootstrap 有放回采样训练多棵决策树,并在每个节点只随机选择一部分特征参与切分,最后分类投票、回归平均。核心目标是让基学习器差异化,从而降低方差。

Adam 优化器的基本原理是什么?

Adam 优化器的基本原理是什么?这道腾讯牛客题的关键是围绕“Adam 优化器原理”讲清概念、机制、取舍和边界。Adam 是把 Momentum 和 RMSProp 思路结合起来的自适应优化器。它维护梯度一阶矩 m 和二阶矩 v 的指数滑动平均,经过偏差修正后按参数维度自适应调整更新步长。

如何将一个已排序的大文件随机打乱?

如何将一个已排序的大文件随机打乱?这道腾讯牛客题的关键是围绕“大文件外部随机打乱”讲清概念、机制、取舍和边界。已排序大文件随机打乱不能直接 Fisher-Yates 全量加载。常见精确方案是为每条记录生成随机 key,然后按随机 key 做外部排序;近似方案是分桶随机分配、桶内 shuffle,再随机输出桶顺序。

进程和线程有什么区别,线程优先级如何理解?

进程和线程有什么区别,线程优先级如何理解?这道腾讯牛客题的关键是围绕“进程线程区别与线程优先级”讲清概念、机制、取舍和边界。进程是资源隔离和拥有单位,线程是同一进程内的调度执行单位。同一进程线程共享地址空间、堆、全局变量和文件描述符,但有独立栈、寄存器、TLS 和调度状态。线程优先级要放到调度器语境理解,Linux 普通线程受 CFS/nice 权重影响,实时线程受 SCHED_FIFO/SCHED_RR 优先级影响。

Linux 中如何远程检查端口是否连通?

Linux 中如何远程检查端口是否连通?这道腾讯牛客题的关键是围绕“Linux 端口连通与占用排查”讲清概念、机制、取舍和边界。远程检查端口连通常用 nc -vz host port、telnet host port、curl -v、nmap 或 bash /dev/tcp;本机查看端口被哪个进程占用常用 ss -lntp、netstat -lntp 或 lsof -i :port。

Transformer 的核心结构和自注意力原理是什么?

Transformer 的核心结构和自注意力原理是什么?这道腾讯牛客题的关键是围绕“Transformer 结构与自注意力”讲清概念、机制、取舍和边界。Transformer 的核心由多头自注意力、前馈网络、残差连接、LayerNorm 和位置编码组成。自注意力通过 Q、K、V 计算 token 之间的相关性,再用相关性加权聚合值向量。

同题还出现在 1 个公司岗位

Linux 中 source 命令的作用是什么?

Linux 中 source 命令的作用是什么?这道腾讯牛客题的关键是围绕“Linux source 命令”讲清概念、机制、取舍和边界。source 或 . 命令会在当前 shell 进程中执行脚本,而不是启动新的子 shell。因此脚本里导出的环境变量、函数、alias 或 cd 修改会影响当前 shell 会话。

常见聚类算法有哪些,各自适用什么场景?

常见聚类算法有哪些,各自适用什么场景?这道腾讯牛客题的关键是围绕“常见聚类算法场景选择”讲清概念、机制、取舍和边界。常见聚类算法包括 K-means、层次聚类、DBSCAN、GMM 和谱聚类。选择时要看簇形状、是否需要指定 K、噪声/离群点、样本规模、距离度量和是否需要软分配。

C++ 中 auto_ptr 和 shared_ptr 有什么区别?

C++ 中 auto_ptr 和 shared_ptr 有什么区别?这道腾讯牛客题的关键是围绕“auto_ptr 与 shared_ptr 所有权语义”讲清概念、机制、取舍和边界。auto_ptr 和 shared_ptr 的核心差异是所有权语义。auto_ptr 拷贝会转移所有权,源指针变空,语义危险且已废弃并从现代 C++ 移除;shared_ptr 使用控制块和引用计数共享所有权,最后一个引用释放时删除对象。

C++11 有哪些常用新特性?

C++11 有哪些常用新特性?这道腾讯牛客题的关键是围绕“C++11 常用新特性与解决的问题”讲清概念、机制、取舍和边界。C++11 的常用新特性包括 auto、range-for、lambda、右值引用和移动语义、智能指针、nullptr、constexpr、线程库、统一初始化和 unordered 容器。回答时要说这些特性分别解决什么问题。

同公司岗位有 2 条面经记录

如何判断单链表是否有环?

如何判断单链表是否有环?这道腾讯牛客题的关键是围绕“链表判环与快慢指针”讲清概念、机制、取舍和边界。判断链表是否有环,常用 Floyd 快慢指针。慢指针每次走一步,快指针每次走两步;如果链表有环,快指针最终会在环内追上慢指针;如果无环,快指针会先走到 null。

为什么数据库索引常用 B+ 树,B 树、B+ 树和二叉树有什么区别?

为什么数据库索引常用 B+ 树,B 树、B+ 树和二叉树有什么区别?这道腾讯牛客题的关键是围绕“数据库索引为什么常用 B+ 树”讲清概念、机制、取舍和边界。数据库索引常用 B+ 树,是因为它适合磁盘页和范围查询。B+ 树分叉多、树高低,非叶子节点只存 key 和子页指针,叶子节点顺序保存数据或主键并通过链表相连,能减少随机 I/O 并高效范围扫描。

二叉树有哪些基本性质和特点?

二叉树有哪些基本性质和特点?这道腾讯牛客题的关键是围绕“二叉树基本性质”讲清概念、机制、取舍和边界。二叉树每个节点最多有两个孩子,可分为普通二叉树、满二叉树、完全二叉树、平衡二叉树和二叉搜索树等。常见性质包括第 i 层最多 2^(i-1) 个节点,深度为 h 的二叉树最多 2^h-1 个节点。

快速排序的过程、时间复杂度和常见优化方式是什么?

快速排序的过程、时间复杂度和常见优化方式是什么?这道腾讯牛客题的关键是围绕“快速排序流程与优化”讲清概念、机制、取舍和边界。快速排序的过程是选 pivot,执行 partition,把小于 pivot 的元素放左侧、大于 pivot 的元素放右侧,然后递归排序左右子区间。平均时间 O(n log n),最坏 O(n^2),递归栈平均 O(log n)。

C++ 命名空间的作用和使用方式是什么?

C++ 命名空间的作用和使用方式是什么?这道腾讯牛客题的关键是围绕“C++ 命名空间的作用和使用方式”讲清概念、机制、取舍和边界。C++ 命名空间用于组织符号并避免命名冲突。库、业务模块和第三方依赖都可能定义同名类或函数,把它们放在不同 namespace 下,可以通过限定名明确访问。

数据库索引有哪些常见类型,它们有什么区别?

数据库索引有哪些常见类型,它们有什么区别?这道腾讯牛客题的关键是围绕“数据库索引类型”讲清概念、机制、取舍和边界。数据库索引类型可以按约束和结构分类:主键索引、唯一索引、普通索引、联合索引、前缀索引、全文索引、空间索引;InnoDB 还要区分聚簇索引和二级索引。

进程和线程有什么区别?

进程和线程有什么区别?这道腾讯牛客题的关键是围绕“进程与线程区别及上下文切换”讲清概念、机制、取舍和边界。进程是资源拥有和隔离单位,线程是同一进程内的调度执行单位。同一进程的线程共享地址空间、堆、全局变量和文件描述符,但有独立栈、寄存器上下文、线程局部存储和调度状态。

epoll 的 EPOLLONESHOT 是什么,适用于什么场景?

epoll 的 EPOLLONESHOT 是什么,适用于什么场景?这道腾讯牛客题的关键是围绕“epoll EPOLLONESHOT”讲清概念、机制、取舍和边界。EPOLLONESHOT 表示某个 fd 上的事件被触发并返回一次后,内核会临时禁用这个 fd 的后续事件通知。应用处理完当前事件后,需要用 epoll_ctl 的 EPOLL_CTL_MOD 重新 armed,才能再次收到通知。

Linux 下如何查看进程状态?

Linux 下如何查看进程状态?这道腾讯牛客题的关键是围绕“Linux 进程状态与 ps 输出”讲清概念、机制、取舍和边界。Linux 常见进程状态包括 R 运行或可运行、S 可中断睡眠、D 不可中断睡眠、T 停止、Z 僵尸。ps aux 还能看到 USER、PID、%CPU、%MEM、VSZ、RSS、TTY、STAT、START、TIME、COMMAND 等字段。

Linux 下如何查看一个进程打开了哪些文件?

Linux 下如何查看一个进程打开了哪些文件?这道腾讯牛客题的关键是围绕“查看进程打开文件”讲清概念、机制、取舍和边界。Linux 查看进程打开了哪些文件,常用 lsof -p PID,或 ls -l /proc/PID/fd。输出里不仅有普通文件,也包括 socket、pipe、eventfd、anon_inode 和已删除但仍被占用的文件。

Linux 下如何终止一个进程?

Linux 下如何终止一个进程?这道腾讯牛客题的关键是围绕“Linux 终止进程”讲清概念、机制、取舍和边界。Linux 终止进程通常先用 kill -TERM PID 发送 SIGTERM,让进程有机会优雅退出;无响应时再考虑 kill -KILL 或 kill -9。也可用 pkill/killall 按名称发送信号。

GDB 调试其他进程时为什么能读取其状态和内存信息?

GDB 调试其他进程时为什么能读取其状态和内存信息?这道腾讯牛客题的关键是围绕“GDB attach 与 ptrace 权限”讲清概念、机制、取舍和边界。GDB 调试其他进程能读取其状态和内存,核心依赖操作系统提供的 ptrace 调试接口。gdb attach 到目标进程后,内核会暂停目标进程,并允许调试器读取寄存器、内存和映射信息。

编译器中的 AST 和词法分析分别是什么?

编译器中的 AST 和词法分析分别是什么?这道腾讯牛客题的关键是围绕“编译器词法分析、语法分析与 AST”讲清概念、机制、取舍和边界。词法分析负责把源代码字符流切分成 token,例如关键字、标识符、数字、运算符和分隔符;AST 是语法分析后得到的抽象语法树,保留程序结构和语义相关节点,通常会省略括号、分号等纯语法细节。