公司岗位题库

腾讯 算法面经

79 道题 55 个标签 79 条出现记录

算法工程师相关题目

决策树做分类和回归时有什么区别?

决策树做分类和回归时有什么区别?这道腾讯牛客题的关键是围绕“决策树分类与回归”讲清概念、机制、取舍和边界。分类树面向离散类别,常用信息增益、信息增益率或 Gini 指数选择划分;回归树面向连续值,常用平方误差、方差下降或 MAE 类目标选择切分。两者树结构相似,但叶子输出、损失度量和评估指标不同。

推荐系统中如何解决冷启动问题?

推荐系统中如何解决冷启动问题?这道腾讯牛客题的关键是围绕“推荐系统冷启动”讲清概念、机制、取舍和边界。推荐系统冷启动要先区分用户冷启动、物品冷启动和系统冷启动。用户没有行为时依赖注册画像、地理位置、设备、兴趣选择和热门兜底;物品没有交互时依赖内容特征、类目、文本/图像 embedding 和小流量探索;系统冷启动则要先靠规则、运营种子数据和快速反馈闭环建立初始样本。

GBDT 中的梯度提升如何理解?

GBDT 中的梯度提升如何理解?这道腾讯牛客题的关键是围绕“GBDT 梯度提升机制”讲清概念、机制、取舍和边界。GBDT 的梯度提升可以理解为在函数空间做梯度下降:当前模型 F_{m-1} 已经给出预测后,下一棵 CART 回归树 h_m 去拟合损失函数对当前预测的负梯度,也就是伪残差,最后按 F_m=F_{m-1}+eta*h_m 逐轮加到模型里。

样本类别不平衡应该如何处理?

样本类别不平衡应该如何处理?这道腾讯牛客题的关键是围绕“类别不平衡处理”讲清概念、机制、取舍和边界。类别不平衡处理要先判断业务目标是提高少数类召回、控制误报成本还是校准概率。常用方法包括重采样、类别权重、阈值调整、难例挖掘、合成样本和使用更合适的评估指标。

高维稀疏特征为什么不适合直接用神经网络训练?

高维稀疏特征为什么不适合直接用神经网络训练?这道腾讯牛客题的关键是围绕“高维稀疏特征直接训练神经网络的风险”讲清概念、机制、取舍和边界。高维稀疏特征如果直接 one-hot 输入神经网络,会带来参数巨大、有效梯度稀疏、长尾类别训练不足、过拟合和线上存储/延迟成本。工程上通常先做 embedding、特征哈希、频次截断、交叉特征或用适合稀疏输入的线性/树模型做基线。

最大连续子数组和如何求解?

最大连续子数组和如何求解?这道腾讯牛客题的关键是围绕“最大连续子数组和 Kadane 动态规划”讲清概念、机制、取舍和边界。最大连续子数组和常用 Kadane 算法。定义 current 表示以当前位置结尾的最大连续和,best 表示全局最大值;遍历每个数时,current = max(x, current + x),再更新 best = max(best, current)。

模型过拟合应该如何处理?

模型过拟合应该如何处理?这道腾讯牛客题的关键是围绕“模型过拟合治理”讲清概念、机制、取舍和边界。过拟合是模型在训练集表现好、验证或线上表现差,说明模型记住了训练噪声、泄漏或过细模式。处理要先看训练/验证曲线,再定位容量、数据、正则和评估泄漏。

BatchNorm 和 LayerNorm 有什么区别?

BatchNorm 和 LayerNorm 有什么区别?这道腾讯牛客题的关键是围绕“BatchNorm 与 LayerNorm 的统计维度”讲清概念、机制、取舍和边界。BatchNorm 和 LayerNorm 都是归一化手段,但核心差异在统计维度。BN 通常沿 batch 维度统计某个通道或特征的均值方差,训练时还维护 moving average;LN 在单个样本内部沿 hidden dimension 归一化,不依赖同一个 batch 里的其他样本。

音频包络如何计算?

音频包络如何计算?这道腾讯牛客题的关键是围绕“音频包络计算”讲清概念、机制、取舍和边界。音频包络描述的是声音幅度随时间变化的外轮廓,常用于响度变化、起音检测和节奏特征。常见做法是先把波形取绝对值、平方能量或 Hilbert 变换得到瞬时幅度,再用滑动窗口、RMS 或低通滤波做平滑。

MFCC 特征如何计算,是否可逆?

MFCC 特征如何计算,是否可逆?这道腾讯牛客题的关键是围绕“MFCC 特征计算与不可逆性”讲清概念、机制、取舍和边界。MFCC 是把语音短时频谱映射到符合人耳感知的倒谱特征。典型流程是预加重、分帧、加窗、FFT、Mel 滤波器组、取 log 能量、DCT,最后保留前若干维系数。

DDSP 模型的核心思想是什么?

DDSP 模型的核心思想是什么?这道腾讯牛客题的关键是围绕“DDSP 可微数字信号处理”讲清概念、机制、取舍和边界。DDSP 的核心是把传统数字信号处理模块做成可微分组件,让神经网络预测可解释的合成参数,再通过谐波合成器、噪声合成器和滤波器生成音频。它不是普通 representation learning,而是把声学先验嵌入神经生成模型。

决策树如何生成和剪枝?

决策树如何生成和剪枝?这道腾讯牛客题的关键是围绕“决策树生成与剪枝”讲清概念、机制、取舍和边界。决策树生成是递归选择最优特征和切分点,让子节点更纯或误差更小。ID3 常用信息增益,C4.5 用信息增益率,CART 分类用 Gini 指数、回归用平方误差下降。

XGBoost 和 GBDT 有什么区别?

XGBoost 和 GBDT 有什么区别?这道腾讯牛客题的关键是围绕“XGBoost 与 GBDT 差异”讲清概念、机制、取舍和边界。GBDT 是梯度提升树的一般框架,每轮用新树拟合当前损失的负梯度;XGBoost 是工程化增强实现,在目标函数中加入正则项,并用二阶泰勒展开近似损失。

L1 正则化和 L2 正则化有什么区别?

L1 正则化和 L2 正则化有什么区别?这道腾讯牛客题的关键是围绕“L1 与 L2 正则化差异”讲清概念、机制、取舍和边界。L1 正则在损失中加入参数绝对值和,倾向于把部分权重压到 0,产生稀疏特征选择;L2 正则加入参数平方和,倾向于均匀缩小权重,降低模型复杂度和过拟合。

词向量如何生成,常见训练方法有哪些?

词向量如何生成,常见训练方法有哪些?这道腾讯牛客题的关键是围绕“词向量生成方法”讲清概念、机制、取舍和边界。词向量是把离散词映射到稠密向量,使语义或上下文相似的词在向量空间里更接近。常见训练方法包括 Word2Vec 的 CBOW/Skip-gram、负采样或层次 softmax、GloVe 的全局共现矩阵分解,以及 FastText 的子词建模。

随机森林和 XGBoost 有什么区别?

随机森林和 XGBoost 有什么区别?这道腾讯牛客题的关键是围绕“随机森林与 XGBoost 对比”讲清概念、机制、取舍和边界。随机森林是 bagging 思路,多棵树相互独立训练,通过样本和特征随机化降低方差;XGBoost 是 boosting 思路,树按顺序训练,每一棵修正前一轮模型的误差或负梯度。

常见降维方法有哪些?

常见降维方法有哪些?这道腾讯牛客题的关键是围绕“常见降维方法与选择”讲清概念、机制、取舍和边界。降维方法可以按线性/非线性、监督/无监督、可解释/可视化来组织。常见方法包括 PCA、SVD、LDA、t-SNE、UMAP、AutoEncoder,以及特征选择类方法。

机器学习中常见采样方法有哪些?

机器学习中常见采样方法有哪些?这道腾讯牛客题的关键是围绕“机器学习常见采样方法”讲清概念、机制、取舍和边界。机器学习采样方法要按解决的问题分类:划分数据用随机采样、分层采样和时间切分;处理类别不平衡用过采样、欠采样、SMOTE 和类别权重;训练集成模型常用 bootstrap;推荐和语言模型里常见负采样。

逻辑回归为什么常用交叉熵损失而不是 MSE?

逻辑回归为什么常用交叉熵损失而不是 MSE?这道腾讯牛客题的关键是围绕“逻辑回归损失函数选择”讲清概念、机制、取舍和边界。逻辑回归常用交叉熵而不是 MSE,是因为二分类标签服从 Bernoulli 分布,交叉熵对应负对数似然;配合 sigmoid 后优化目标更自然,梯度形态也更适合概率分类。

Go 协程和线程有什么区别?

Go 协程和线程有什么区别?这道腾讯牛客题的关键是围绕“进程、线程与 Go 协程差异”讲清概念、机制、取舍和边界。进程是资源隔离单位,线程是内核调度实体,Go 协程 goroutine 是由 Go runtime 管理的轻量用户态执行单元。goroutine 不是 OS 线程,而是通过 GMP 调度模型以 M:N 方式复用到少量内核线程上运行。

K-means 聚类算法的流程是什么?

K-means 聚类算法的流程是什么?这道腾讯牛客题的关键是围绕“K-means 聚类流程”讲清概念、机制、取舍和边界。K-means 的流程是先选择 K 个初始中心,然后反复执行样本分配和中心更新:把每个样本分到最近中心所在簇,再用簇内样本均值更新中心,直到中心变化很小或达到迭代上限。

数组和链表的区别?

数组和链表的区别?这道腾讯牛客题的关键是围绕“数组与链表复杂度对比”讲清概念、机制、取舍和边界。数组和链表的核心差异是存储布局。数组连续存储,支持按下标 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 和上下文切换。不同指标回答的是不同层级的问题。

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

当文件无法一次全部加载内存时,如何对大文件内容排序?这道腾讯牛客题的关键是围绕“大文件外部排序”讲清概念、机制、取舍和边界。大文件无法一次加载内存时,用外部排序:按内存上限分块读取,每块在内存中排序后写成临时有序 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 后仍能得到响应。