数据来源:真实面经整理 | 版本:final


一、公司画像 & 校招节奏

科大讯飞成立于,总部合肥,A股上市(股票代码:002230),市值约700亿。核心产品线覆盖讯飞输入法、讯飞听见(语音转写)、讯飞翻译机、星火认知大模型,以及AI教育产品(讯飞AI学习机)。营收约196亿元,员工超2万人。

讯飞的技术身份非常明确:全球语音识别技术的领先企业。语音识别准确率在国内外权威测评中长期位居前列,这也决定了讯飞面试的独特气质——你不能只会刷题,还得懂AI。

近年来讯飞大力投入大语言模型赛道,"星火LLM"于上线,是国内最早入场的大模型之一。AI+教育、AI+医疗是两条核心商业赛道。对想做真正AI产品的同学来说,讯飞是国内难得的选择。

一个需要提前想清楚的问题:讯飞总部在合肥,主要研发力量也在合肥。北京、上海、深圳都有分部,但体量远小于合肥基地。合肥生活成本低,技术氛围好,但对于坚持要去一线城市的同学,讯飞可能不是最优选。提前想清楚,比面完Offer才纠结要好得多。

主要招聘方向:

方向 代表业务 技术侧重
AI算法工程师 语音识别、大语言模型 Python/C++,深度学习
后端开发(Java/C++) 讯飞开放平台、教育系统 Java/C++,微服务架构
数据开发 AI训练数据、数据标注 Python/SQL,数据工程
前端/移动端 讯飞App、讯飞AI学习机 React/Android/iOS
测试开发 AI产品质量保障 Python自动化,AI测试

校招节奏(参考):

阶段 时间 行动建议
暑期实习通道 提前投递,实习表现好可优先转正
正式网申 campus.iflytek.com,简历突出AI/ML项目经历
笔试 编程题2-3道 + AI基础知识选择题(算法岗)
技术面试 2-3轮技术面 + 1轮HR面
Offer发放 留意邮件,AI岗薪资可对标互联网中上水平

笔试特点说明:算法工程师笔试有AI专项,可能出现神经网络计算题、概率统计题,不是纯LeetCode考试。后端岗和数据开发岗笔试更接近传统互联网风格,编程题+数据库题。


二、岗位 JD 解析:技术要求拆解

讯飞招聘的技术岗位差异很大,AI算法工程师和后端开发工程师的备考路径几乎不重叠。先确认投哪个方向,再针对性准备。

AI算法工程师(讯飞最核心岗位)

能力维度 JD要求 真实考察重心 备考权重
深度学习理论 熟悉神经网络 反向传播原理、梯度消失、BatchNorm,每轮必问 ⭐⭐⭐⭐⭐
Transformer架构 了解NLP/语音模型 Self-Attention公式手推、Multi-head原理、位置编码 ⭐⭐⭐⭐⭐
PyTorch工程能力 熟练使用框架 Dataset/DataLoader自定义、loss设计、模型保存 ⭐⭐⭐⭐
语音识别基础 了解语音技术(加分项) CTC原理、Conformer架构、ASR技术演进 ⭐⭐⭐⭐
大语言模型 了解LLM(新增方向) RLHF流程、SFT微调、推理优化(量化/KV Cache) ⭐⭐⭐⭐
算法题 编程能力 Medium为主,结合AI场景的设计题 ⭐⭐⭐

后端开发工程师(Java/C++)

能力维度 JD要求 真实考察重心 备考权重
JVM原理 熟悉Java GC收集器类型、堆内存分区(Eden/S0/S1/Old) ⭐⭐⭐⭐⭐
并发编程 多线程开发 线程池7个参数、synchronized vs ReentrantLock ⭐⭐⭐⭐⭐
Spring框架 微服务经验 IOC/AOP原理、@Transactional失效场景 ⭐⭐⭐⭐
数据库 MySQL/Redis 索引失效场景、Redis基础数据结构 ⭐⭐⭐⭐
算法题 编程能力 Medium为主,基础扎实比Hard更重要 ⭐⭐⭐⭐
SQL查询 数据库操作 GROUP BY配合聚合函数,子查询,窗口函数 ⭐⭐⭐

核心差异点:讯飞面试和普通互联网公司的不同

讯飞是 AI 公司,不是普通互联网公司。

其他大厂面试主要考语言+算法+系统设计,讯飞算法岗在这基础上加了一整层AI理论考察。你去讯飞面AI算法工程师,面试官本身就是做语音识别/大模型的研究员,他们问的问题会更深——不是"知道Transformer吗",而是"Self-Attention的计算复杂度是多少,为什么要用Multi-head"。

如果只刷LeetCode不补AI理论,讯飞算法岗的技术面可能过不了第一轮。


三、LeetCode 高频题 Top 20(真实面经数据)

讯飞算法题整体难度:Medium为主,AI算法岗会在LeetCode题目之外额外考AI基础知识。后端和数据开发岗的算法题更接近传统互联网,基础题型占多数。

重要说明:数据开发岗会单独考SQL题,GROUP BY和窗口函数是重点。详见第四章"特色考点"。

第一梯队:必刷(出现频率最高)

排名 题目 题号 出现频率 考察方向 讯飞特色备注
1 反转链表 No.206 ⭐⭐⭐⭐⭐ 所有岗位 基础中的基础,不会等于没准备
2 二叉树层序遍历 No.102 ⭐⭐⭐⭐ 所有岗位 考变形:按层输出/锯齿形
3 无重复字符最长子串 No.3 ⭐⭐⭐⭐ 所有岗位 滑动窗口入门,必熟练
4 LRU缓存机制 No.146 ⭐⭐⭐⭐ 后端/算法岗 数据结构设计题,哈希+双向链表
5 合并两个有序链表 No.21 ⭐⭐⭐ 所有岗位 链表基础,手写不出问题

第二梯队:高频(至少做2遍)

排名 题目 题号 出现频率 考察方向
6 数组中的第K个最大元素 No.215 ⭐⭐⭐⭐ 堆/快速选择
7 三数之和 No.15 ⭐⭐⭐⭐ 双指针,去重逻辑
8 环形链表 No.141 ⭐⭐⭐⭐ 快慢指针
9 合并有序数组 No.88 ⭐⭐⭐ 双指针,逆向思路
10 岛屿数量 No.200 ⭐⭐⭐ BFS/DFS
11 二叉树最近公共祖先 No.236 ⭐⭐⭐ DFS递归
12 最大子序和 No.53 ⭐⭐⭐ 动态规划基础
13 合并区间 No.56 ⭐⭐⭐ 排序+贪心
14 买卖股票最佳时机 No.121 ⭐⭐⭐ 贪心,DP思路
15 全排列 No.46 ⭐⭐⭐ 回溯

第三梯队:中频(各做1遍)

排名 题目 题号 出现频率 考察方向
16 最长回文子串 No.5 ⭐⭐ DP/中心扩展
17 零钱兑换 No.322 ⭐⭐ 动态规划
18 不同路径 No.62 ⭐⭐ DP入门
19 接雨水 No.42 ⭐⭐ 双指针/单调栈
20 滑动窗口最大值 No.239 ⭐⭐ 单调队列

刷题规律总结

规律1:算法岗两手都要抓。 AI算法工程师面试不只考LeetCode,还考深度学习理论。刷题时间建议:LeetCode约40%,AI理论约60%。后端岗则相反,算法题权重更高。

规律2:SQL题不是选考,是必考(数据开发岗)。 GROUP BY配合聚合函数、窗口函数(ROW_NUMBER/RANK)、相关子查询,这三类必须练到手写流畅。

规律3:Medium刷熟比Hard多刷有价值。 讯飞算法题难度以Medium为主,追求Hard题数量不如把Medium题的所有追问(时间复杂度、空间复杂度、追加条件)都想清楚。

规律4:AI岗笔试有数学题。 概率论(条件概率、贝叶斯)、线性代数(矩阵乘法、特征值)、信息论(交叉熵、KL散度)——在其他大厂很少出现,在讯飞算法岗笔试偶有出现。


四、技术面试考点

特色考点:SQL查询——每个班不及格的人数

这道题在科大讯飞面经中真实出现过,是数据开发岗的经典考点。看起来简单,追问起来很有层次。

题目:成绩表 score(student_id, class_id, score),查出每个班不及格(<60分)的人数。

-- 基础写法
SELECT class_id, COUNT(*) AS fail_count
FROM score
WHERE score < 60
GROUP BY class_id
ORDER BY class_id;

第一层追问:如果要同时显示每班的及格人数和不及格人数?

SELECT
    class_id,
    SUM(CASE WHEN score < 60 THEN 1 ELSE 0 END) AS fail_count,
    SUM(CASE WHEN score >= 60 THEN 1 ELSE 0 END) AS pass_count
FROM score
GROUP BY class_id;

第二层追问:如果有的班全部及格(没有不及格记录),要确保这些班也显示在结果里,fail_count 显示为0?

-- 需要用班级表做LEFT JOIN,确保所有班级都出现
SELECT
    c.class_id,
    SUM(CASE WHEN s.score < 60 THEN 1 ELSE 0 END) AS fail_count,
    SUM(CASE WHEN s.score >= 60 THEN 1 ELSE 0 END) AS pass_count
FROM class c
LEFT JOIN score s ON c.class_id = s.class_id
GROUP BY c.class_id;

第三层追问:按不及格人数降序排列,不及格人数相同的班按班号升序?

ORDER BY fail_count DESC, class_id ASC;

面试官一般不会在第一层就停下来。这道题的完整版考察的是:GROUP BY基础 → CASE WHEN条件聚合 → LEFT JOIN保留空值 → ORDER BY多字段排序。每一层都要能顺畅写出来。


AI/深度学习专项(AI算法岗,权重⭐⭐⭐⭐⭐)

1. 神经网络基础——反向传播

面试官最爱的追问方式是让你从两层网络开始,用链式法则一步步推导梯度。

核心要点: - 前向传播:计算每层输出,保存中间激活值 - 反向传播:从loss开始,用链式法则逐层求偏导 - 权重更新:W = W - lr * ∂L/∂W

梯度消失的两个主要原因(高频追问): 1. 激活函数饱和:Sigmoid/Tanh在输入绝对值很大时,导数接近0。多层相乘后,梯度指数级缩小。 2. 深层网络链式乘法:梯度 = 多层偏导相乘。如果每层偏导都小于1,乘到第一层时梯度趋近于零。

解决方案:ReLU替代Sigmoid(导数恒为0或1)、BatchNorm稳定分布、残差连接(梯度直接绕过若干层)。

2. Transformer——Self-Attention公式

这是AI算法岗几乎必问的考点,要能手推。

Attention(Q, K, V) = softmax(QK^T / √d_k) × V

面试官追问组合: - "为什么要除以 √d_k?"(答:防止点积结果过大导致softmax进入饱和区,梯度消失) - "为什么需要Multi-head Attention?"(答:每个head学习不同子空间的语义关系,单head表达能力有限) - "位置编码为什么用sin/cos?"(答:不同频率的正弦波组合可以唯一表示任意位置;且模型可以通过线性变换学习相对位置关系) - "Self-Attention的计算复杂度是多少?"(答:O(n²d),n是序列长度,d是维度。这也是为什么长序列处理是大模型的瓶颈)

3. BatchNorm vs LayerNorm

这道题在讯飞算法岗出现频率很高,因为语音识别模型里两者都用过。

  • BatchNorm:对一个batch内所有样本的同一特征维度做归一化。适合CNN,不适合RNN/Transformer(序列长度不固定,batch内样本差异大)。
  • LayerNorm:对单个样本内所有特征维度做归一化。适合Transformer/BERT/GPT,不受batch大小影响。
  • 讯飞特殊场景:语音识别中用的Conformer架构,同时使用了LayerNorm + BatchNorm(在卷积子层用BN,在注意力子层用LN),面试中能提到这一点是加分项。

4. 语音识别(ASR)基础——讯飞核心技术

即便你不投语音识别方向,了解这些也是面试中展示行业认知的机会。

  • CTC Loss:解决语音识别中的对齐问题。语音帧数和文字长度不一致,CTC通过引入空白符(blank)和边际化所有对齐路径,计算序列输出概率。追问:"CTC如何处理重复字符?"(答:中间必须有blank分隔,否则视为单个字符)
  • Conformer架构(后的主流ASR模型):Transformer + 卷积的混合架构。Transformer捕捉长程依赖,卷积捕捉局部特征,两者互补。比纯Transformer的ASR性能提升约15%。
  • 技术演进:HMM-DNN → Attention-based Seq2Seq → CTC → Conformer/Whisper

Python & PyTorch专项(AI工程师,权重⭐⭐⭐⭐)

PyTorch自定义Dataset(工程能力考察高频题):

```python from torch.utils.data import Dataset, DataLoader

class SpeechDataset(Dataset): def init(self, data_list, transform=None): self.data = data_list self.transform = transform

def __len__(self):
    return len(self.data)

def __getitem__(self, idx):
    sample = self.data[idx]
    if self.transform:
        sample = self.transform(sample)
    return sample