分页解析
第 14 页面试题
筛选题目 公司、岗位、知识点
公司
公司岗位
岗位
标签
数组和链表的区别?
数组和链表的区别?这道腾讯牛客题的关键是围绕“数组与链表复杂度对比”讲清概念、机制、取舍和边界。数组和链表的核心差异是存储布局。数组连续存储,支持按下标 O(1) 随机访问;链表节点离散,通过指针连接,查找第 k 个节点通常 O(n),但已知前驱节点时插入删除可以 O(1)。
链表和数组查找、删除的时间复杂度?
链表和数组查找、删除的时间复杂度?这道腾讯牛客题的关键是围绕“数组与链表复杂度对比”讲清概念、机制、取舍和边界。数组和链表的核心差异是存储布局。数组连续存储,支持按下标 O(1) 随机访问;链表节点离散,通过指针连接,查找第 k 个节点通常 O(n),但已知前驱节点时插入删除可以 O(1)。
二分查找时如何避免 int 型 mid 溢出?
二分查找时如何避免 int 型 mid 溢出?这道腾讯牛客题的关键是围绕“二分查找 mid 溢出处理”讲清概念、机制、取舍和边界。二分查找中如果用 (left + right) / 2 计算 mid,当 left 和 right 都很大时可能发生整数溢出。更稳的写法是 left + (right - left) / 2,或在语言允许时使用无符号右移/更大整数类型。
https加密过程?
https加密过程?这道腾讯牛客题的关键是围绕“HTTP、HTTPS 与 TLS 安全链路”讲清概念、机制、取舍和边界。HTTP 是明文应用层协议,HTTPS 是 HTTP 运行在 TLS 之上。TLS 通过证书链验证服务器身份,通过密钥交换协商会话密钥,后续数据主要用对称加密传输,同时用完整性校验防止篡改。
决策树模型如何用在实际场景中?
决策树模型如何用在实际场景中?这道腾讯牛客题的关键是围绕“决策树适用场景”讲清概念、机制、取舍和边界。决策树适合表格数据、非线性阈值规则、特征尺度差异大、需要可解释路径的场景。它能处理数值和类别特征,输出从根到叶的规则链,便于业务解释和排查。
文本分类有哪些模型?
文本分类有哪些模型?这道腾讯牛客题的关键是围绕“文本分类模型选择”讲清概念、机制、取舍和边界。文本分类可以从传统机器学习到深度模型分层回答:朴素贝叶斯、LR/SVM 配 TF-IDF 适合轻量基线;TextCNN 捕捉局部 n-gram;RNN/LSTM 建模序列;Transformer/BERT 通过上下文表示处理语义和长距离依赖。
随机森林的基本原理是什么?
随机森林的基本原理是什么?这道腾讯牛客题的关键是围绕“随机森林基本原理”讲清概念、机制、取舍和边界。随机森林通过 bootstrap 有放回采样训练多棵决策树,并在每个节点只随机选择一部分特征参与切分,最后分类投票、回归平均。核心目标是让基学习器差异化,从而降低方差。
决策树,分类特征,使用one-hot encoding和不使用的区别?
决策树,分类特征,使用one-hot encoding和不使用的区别?这道腾讯牛客题的关键是围绕“决策树处理类别特征与 one-hot 编码”讲清概念、机制、取舍和边界。决策树处理分类特征时,是否 one-hot 取决于实现是否原生支持 categorical split。原生类别切分可以按类别集合分裂;如果只能做数值二叉切分,one-hot 会把一个多类别特征拆成多个 0/1 特征,改变树深、稀疏性和类别组合表达。
内存中的堆和栈有什么区别?
堆和栈的区别?这道腾讯牛客题的关键是围绕“内存堆与栈区别”讲清概念、机制、取舍和边界。内存中的栈主要保存函数调用帧、局部自动变量、返回地址和寄存器保存信息,生命周期随函数调用自动管理;堆用于动态分配对象,生命周期由 malloc/free、new/delete 或运行时 GC 管理。
多进程和多线程的区别?
多进程和多线程的区别?这道腾讯牛客题的关键是围绕“进程与线程区别及上下文切换”讲清概念、机制、取舍和边界。进程是资源拥有和隔离单位,线程是同一进程内的调度执行单位。同一进程的线程共享地址空间、堆、全局变量和文件描述符,但有独立栈、寄存器上下文、线程局部存储和调度状态。
如果文本按词粒度处理可不可以用BN?
如果文本按词粒度处理可不可以用BN?这道腾讯牛客题的关键是围绕“NLP 场景中的 BatchNorm 与 LayerNorm”讲清概念、机制、取舍和边界。文本按词粒度处理时不是绝对不能用 BN,而是 BN 的统计维度和序列数据特性经常不匹配。BN 依赖 batch 维度统计均值方差,NLP 中 batch 大小、序列长度、padding mask 和 token 分布变化会让统计不稳定,因此 Transformer 更常用 LayerNorm。
linux命令如何查看进程占用的端口号?
linux命令如何查看进程占用的端口号?这道腾讯牛客题的关键是围绕“Linux 查看端口占用进程”讲清概念、机制、取舍和边界。本机查看某个端口被哪个进程占用,优先用 ss -lntp、lsof -i :PORT、netstat -lntp 或 fuser -v PORT/tcp。重点看 LISTEN 状态、Local Address、PID/program name 和是否需要 sudo 才能看到进程名。
ps aux中能查看到进程的哪些信息?
ps aux中能查看到进程的哪些信息?这道腾讯牛客题的关键是围绕“Linux 进程状态与 ps 输出”讲清概念、机制、取舍和边界。Linux 常见进程状态包括 R 运行或可运行、S 可中断睡眠、D 不可中断睡眠、T 停止、Z 僵尸。ps aux 还能看到 USER、PID、%CPU、%MEM、VSZ、RSS、TTY、STAT、START、TIME、COMMAND 等字段。
线程同步,进程同步方法?
线程同步,进程同步方法?这道腾讯牛客题的关键是围绕“线程同步与进程同步方式”讲清概念、机制、取舍和边界。线程同步发生在同一进程共享地址空间内,常用 mutex、rwlock、condition variable、semaphore、barrier、atomic 和 futex;进程同步跨地址空间,常用命名信号量、文件锁、共享内存配进程共享 mutex、管道、消息队列和 socket。
做ABtest,样本量太少怎么优化?
做ABtest,样本量太少怎么优化?这道腾讯牛客题的关键是围绕“A/B Test 样本量不足处理”讲清概念、机制、取舍和边界。A/B 样本量太少时,先判断统计功效是否不足:基线转化率、期望 MDE、方差、显著性水平和流量共同决定所需样本。处理方向不是套模型指标,而是延长实验、扩大流量、降低方差、调整实验设计或接受只能发现更大效应。
linux怎么查看cpu使用情况?
linux怎么查看cpu使用情况?这道腾讯牛客题的关键是围绕“Linux CPU 使用率观测与定位”讲清概念、机制、取舍和边界。Linux 查看 CPU 使用情况不能只报一个 top 命令。要区分整机 CPU 使用率、单进程/线程占用、用户态/内核态时间、iowait、load average 和上下文切换。不同指标回答的是不同层级的问题。
C++ 指针和引用有什么区别?
C++ 指针和引用有什么区别?这道腾讯牛客题的关键是围绕“C++ 指针与引用语义”讲清概念、机制、取舍和边界。C++ 指针和引用都能间接访问对象,但语义不同。指针是一个可重新赋值的对象,可以为空,可以参与地址运算;引用更像对象别名,初始化后通常不能改绑,也不应为空。
C++ 虚函数和虚函数表的实现原理是什么?
C++ 虚函数和虚函数表的实现原理是什么?这道腾讯牛客题的关键是围绕“C++ 虚函数与虚表实现”讲清概念、机制、取舍和边界。C++ 虚函数通常通过 vptr 和 vtable 实现。含虚函数的对象里有虚表指针,指向所属动态类型的虚函数表;通过基类指针或引用调用虚函数时,运行时按 vtable 槽位找到最终覆盖的函数。
内存泄漏如何定位和排查?
内存泄漏如何定位和排查?这道腾讯牛客题的关键是围绕“内存泄漏定位与排查”讲清概念、机制、取舍和边界。内存泄漏排查要先确认是进程常驻内存持续增长、堆对象无法释放,还是缓存、连接、文件句柄等资源增长。Java 场景重点看堆转储、GC Roots 和对象引用链;C/C++ 场景还要看 malloc/new 未释放和越界破坏。
动态库和静态库有什么区别?
动态库和静态库有什么区别?这道腾讯牛客题的关键是围绕“静态库与动态库的链接和装载差异”讲清概念、机制、取舍和边界。静态库和动态库的核心区别在代码进入进程的时机和共享方式。静态库在链接阶段把目标代码复制进可执行文件,运行时不再依赖该库文件;动态库在装载或运行时由动态链接器映射进进程,可被多个进程共享同一份只读代码页。
c++程序从编译到可执行文件的流程?
c++程序从编译到可执行文件的流程?这道腾讯牛客题的关键是围绕“C++ 从源码到可执行文件的构建链路”讲清概念、机制、取舍和边界。C++ 程序从源码到可执行文件通常经过预处理、编译、汇编和链接四个阶段。预处理展开头文件和宏,编译把翻译单元转成汇编或中间表示并做语义检查,汇编生成目标文件,链接解析符号并合并目标文件和库。
C++ map底层数据结构?
C++ map底层数据结构?这道腾讯牛客题的关键是围绕“std::map 底层结构与复杂度”讲清概念、机制、取舍和边界。C++ `std::map` 通常基于红黑树这类自平衡二叉搜索树实现,元素按 key 有序存储。查找、插入和删除的复杂度通常是 O(log n),迭代时能按 key 顺序遍历。
tcp连接建立的过程?
tcp连接建立的过程?这道腾讯牛客题的关键是围绕“TCP 连接建立与三次握手”讲清概念、机制、取舍和边界。TCP 建立连接的核心是三次握手:客户端发送 SYN,服务端回复 SYN+ACK,客户端再回复 ACK。这个过程同步双方初始序列号、确认收发能力,并让双方进入 ESTABLISHED 状态。
http与https区别?
http与https区别?这道腾讯牛客题的关键是围绕“HTTP、HTTPS 与 TLS 安全链路”讲清概念、机制、取舍和边界。HTTP 是明文应用层协议,HTTPS 是 HTTP 运行在 TLS 之上。TLS 通过证书链验证服务器身份,通过密钥交换协商会话密钥,后续数据主要用对称加密传输,同时用完整性校验防止篡改。
快排与归并排序的区别?
快排与归并排序的区别?这道腾讯牛客题的关键是围绕“快速排序与归并排序对比”讲清概念、机制、取舍和边界。快速排序和归并排序都能做到平均 O(n log n),但思路和工程取舍不同。快排通过 partition 原地划分再递归子区间,平均快、缓存友好但通常不稳定,最坏可能 O(n^2);归并排序先递归拆分再合并有序段,稳定且最坏 O(n log n),但通常需要 O(n) 额外空间。
tcp拥塞控制是怎么实现的?
tcp拥塞控制是怎么实现的?这道腾讯牛客题的关键是围绕“TCP 拥塞控制”讲清概念、机制、取舍和边界。TCP 拥塞控制解决的是发送速率不能超过网络承载能力的问题。典型机制包括慢启动、拥塞避免、快速重传和快速恢复,通过拥塞窗口 cwnd 与接收窗口共同限制在途数据量。
http和https的区别?
http和https的区别?这道腾讯牛客题的关键是围绕“HTTP、HTTPS 与 TLS 安全链路”讲清概念、机制、取舍和边界。HTTP 是明文应用层协议,HTTPS 是 HTTP 运行在 TLS 之上。TLS 通过证书链验证服务器身份,通过密钥交换协商会话密钥,后续数据主要用对称加密传输,同时用完整性校验防止篡改。
如何判断一个链表是否有环?
如何判断一个链表是否有环?这道腾讯牛客题的关键是围绕“链表判环与快慢指针”讲清概念、机制、取舍和边界。判断链表是否有环,常用 Floyd 快慢指针。慢指针每次走一步,快指针每次走两步;如果链表有环,快指针最终会在环内追上慢指针;如果无环,快指针会先走到 null。
TCP如何可靠传输的?
TCP如何可靠传输的?这道腾讯牛客题的关键是围绕“TCP 可靠传输机制”讲清概念、机制、取舍和边界。TCP 保证可靠传输依靠序列号、确认应答、超时重传、快速重传、校验和、滑动窗口、拥塞控制和有序重组。它保证的是可靠有序的字节流,不保证应用层消息边界。
为什么HTTPS是安全的?
为什么HTTPS是安全的?这道腾讯牛客题的关键是围绕“HTTP、HTTPS 与 TLS 安全链路”讲清概念、机制、取舍和边界。HTTP 是明文应用层协议,HTTPS 是 HTTP 运行在 TLS 之上。TLS 通过证书链验证服务器身份,通过密钥交换协商会话密钥,后续数据主要用对称加密传输,同时用完整性校验防止篡改。
TCP怎么保证可靠性?
TCP怎么保证可靠性?这道腾讯牛客题的关键是围绕“TCP 可靠传输机制”讲清概念、机制、取舍和边界。TCP 保证可靠传输依靠序列号、确认应答、超时重传、快速重传、校验和、滑动窗口、拥塞控制和有序重组。它保证的是可靠有序的字节流,不保证应用层消息边界。
HTTPS工作原理?
HTTPS工作原理?这道腾讯牛客题的关键是围绕“HTTP、HTTPS 与 TLS 安全链路”讲清概念、机制、取舍和边界。HTTP 是明文应用层协议,HTTPS 是 HTTP 运行在 TLS 之上。TLS 通过证书链验证服务器身份,通过密钥交换协商会话密钥,后续数据主要用对称加密传输,同时用完整性校验防止篡改。
什么是缓存穿透?
什么是缓存穿透?这道腾讯牛客题的关键是围绕“缓存穿透”讲清概念、机制、取舍和边界。缓存穿透指请求查询一个缓存和数据库都不存在的 key,缓存无法命中,每次都会打到数据库。恶意构造不存在参数或大量长尾不存在 key 时,会造成回源 QPS 异常升高。
内存中堆和栈有什么区别?
内存中堆和栈有什么区别?这道腾讯牛客题的关键是围绕“内存堆与栈区别”讲清概念、机制、取舍和边界。内存中的栈主要保存函数调用帧、局部自动变量、返回地址和寄存器保存信息,生命周期随函数调用自动管理;堆用于动态分配对象,生命周期由 malloc/free、new/delete 或运行时 GC 管理。
TCP如何实现可靠传输?
TCP如何实现可靠传输?这道腾讯牛客题的关键是围绕“TCP 可靠传输机制”讲清概念、机制、取舍和边界。TCP 保证可靠传输依靠序列号、确认应答、超时重传、快速重传、校验和、滑动窗口、拥塞控制和有序重组。它保证的是可靠有序的字节流,不保证应用层消息边界。
TCP拥塞窗口 / 滑动窗口及区别?
TCP拥塞窗口 / 滑动窗口及区别?这道腾讯牛客题的关键是围绕“TCP 滑动窗口与拥塞窗口”讲清概念、机制、取舍和边界。TCP 滑动窗口通常指接收方通告的接收窗口 rwnd,用来做流量控制;拥塞窗口 cwnd 是发送方根据网络拥塞情况维护的窗口,用来做拥塞控制。实际可发送的在途数据通常受 min(rwnd, cwnd) 限制。
epoll 的 LT 和 ET 两种触发模式有什么区别?
epoll 的 LT 和 ET 两种触发模式有什么区别?这道腾讯牛客题的关键是围绕“epoll LT 与 ET 触发模式”讲清概念、机制、取舍和边界。epoll 常说的两种触发模式是 LT 水平触发和 ET 边缘触发。LT 只要 fd 仍然处于可读或可写状态,就会持续通知;ET 只在状态从不可读变为可读、不可写变为可写这类边缘变化时通知一次。
https原理,如何解决中间人攻击?
https原理,如何解决中间人攻击?这道腾讯牛客题的关键是围绕“HTTP、HTTPS 与 TLS 安全链路”讲清概念、机制、取舍和边界。HTTP 是明文应用层协议,HTTPS 是 HTTP 运行在 TLS 之上。TLS 通过证书链验证服务器身份,通过密钥交换协商会话密钥,后续数据主要用对称加密传输,同时用完整性校验防止篡改。
C++的vector跟Java的ArrayList的区别?
C++的vector跟Java的ArrayList的区别?这道腾讯牛客题的关键是围绕“C++ vector 与 Java ArrayList 对比”讲清概念、机制、取舍和边界。C++ vector 和 Java ArrayList 都是动态数组,但 vector 存放的是元素本身并通过模板在编译期确定类型;ArrayList 底层是 Object[] 引用数组,泛型有类型擦除,基本类型需要装箱成对象。
如何判断单链表是否成环?
如何判断单链表是否成环?这道腾讯牛客题的关键是围绕“链表判环与快慢指针”讲清概念、机制、取舍和边界。判断链表是否有环,常用 Floyd 快慢指针。慢指针每次走一步,快指针每次走两步;如果链表有环,快指针最终会在环内追上慢指针;如果无环,快指针会先走到 null。
stl vector push_back() 的复杂度?
stl vector push_back() 的复杂度?这道腾讯牛客题的关键是围绕“std::vector::push_back 复杂度与扩容”讲清概念、机制、取舍和边界。std::vector::push_back 的均摊时间复杂度是 O(1),但单次操作在容量不足触发扩容时可能是 O(n)。扩容需要申请更大的连续内存,把已有元素移动或拷贝过去,再插入新元素。
list和vector实现有什么区别?
list和vector实现有什么区别?这道腾讯牛客题的关键是围绕“C++ list 与 vector 实现差异”讲清概念、机制、取舍和边界。C++ `vector` 是连续动态数组,支持 O(1) 随机访问,尾插摊还 O(1),中间插删需要移动元素;`list` 是双向链表,不支持随机访问,已知位置插入删除 O(1),但查找位置和遍历通常 O(n)。
char arr[20]和char *p = new char[20]的区别?
char arr[20]和char *p = new char[20]的区别?这道腾讯牛客题的关键是围绕“栈数组与堆数组的生命周期和所有权”讲清概念、机制、取舍和边界。char arr[20] 和 char *p = new char[20] 都能表示 20 个 char 的连续空间,但生命周期、存储位置和所有权不同。arr 通常是自动存储期对象,离开作用域自动释放;new char[20] 在自由存储区分配,p 只是指向这块内存的指针,需要 delete[] 释放。
线程间的通信机制?
线程间的通信机制?这道腾讯牛客题的关键是围绕“线程互斥与通信机制”讲清概念、机制、取舍和边界。线程互斥用于保护共享资源,常见 mutex、spinlock、rwlock、atomic/CAS 和 semaphore;线程通信常用 condition variable、线程安全队列、future/promise、eventfd 或 channel 风格封装。
stl的list和vector有什么区别?
stl的list和vector有什么区别?这道腾讯牛客题的关键是围绕“C++ list 与 vector 实现差异”讲清概念、机制、取舍和边界。C++ `vector` 是连续动态数组,支持 O(1) 随机访问,尾插摊还 O(1),中间插删需要移动元素;`list` 是双向链表,不支持随机访问,已知位置插入删除 O(1),但查找位置和遍历通常 O(n)。
C和C++有什么区别?
C和C++有什么区别?这道腾讯牛客题的关键是围绕“C 与 C++ 差异”讲清概念、机制、取舍和边界。C 更偏过程式语言,核心是函数、结构体、指针和手动资源管理;C++ 在兼容大量 C 能力的基础上加入类、封装、继承、多态、模板、STL、异常、命名空间和 RAII,支持过程式、面向对象、泛型和资源管理抽象。
锁的种类、悲观锁和乐观锁的区别?
锁的种类、悲观锁和乐观锁的区别?这道腾讯牛客题的关键是围绕“悲观锁、乐观锁与锁类型选择”讲清概念、机制、取舍和边界。悲观锁和乐观锁不是具体 API 名称,而是并发控制思路。悲观锁假设冲突常发生,访问共享资源前先加锁,典型表现是互斥锁、数据库行锁;乐观锁假设冲突较少,先无锁读取和计算,提交时用版本号、CAS 或时间戳检测冲突。
进程有哪些常见状态?
进程有哪些常见状态?这道腾讯牛客题的关键是围绕“Linux 进程状态”讲清概念、机制、取舍和边界。Linux 常见进程状态包括 R 运行或可运行、S 可中断睡眠、D 不可中断睡眠、T 停止、Z 僵尸。面试时要说明这些状态代表任务是在用 CPU、等事件、等不可中断 I/O、被暂停,还是已经退出等待父进程回收。