岗位索引

算法工程师面试题库第 5 页

算法工程师面试题解析,覆盖机器学习、大模型、推荐、意图识别和模型评估。

546 道题 29 个公司 130 个知识点

算法相关面试题第 5 页

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

高维稀疏特征为什么不适合直接用神经网络训练?这道腾讯牛客题的关键是围绕“高维稀疏特征直接训练神经网络的风险”讲清概念、机制、取舍和边界。高维稀疏特征如果直接 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 后仍能得到响应。

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。