百度一、二面 凉经+吐槽
8.25投递
一面 8.28
1、自我介绍
2、本硕间隔工作
3、项目介绍SJL
4、后端软件框架
5、战场场景?
6、心跳包机制
7、项目介绍linux数据库
8、在线学习
9、tinyMl智能识别
10、推理框架、推理性能
11、指纹识别部署过程
12、感知训练量化、训练后量化
13、指纹与人脸的注册
14、模板的存储
15、上位机
16、推理工作、推理框架
17、编译器的构造、背景
18、目标无关的算子优化方法
19、OSI模型
20、TCP/UDP哪层
21、手动写算子?
22、深度学习模型框架
23、技术栈
24、C/C++内存分配
25、define与typedef区别
26、C++与C中typedef有区别吗
27、常量指针与指针常量区别
28、手撕:链表翻转 递归与非递归
29、反问
二面 9.05
1、自我介绍
2、项目介绍sjl
3、后端软件框架
4、tinyML项目
5、模型到部署的过程
6、性能问题怎么解决
7、指纹识别优化过程
8、知识蒸馏过程
9、MAE KL散度
10、一般什么网络
11、量化:QAT、训练后量化
12、QAT的原理,怎么适应精度跟部署
13、训练的过程
14、前向计算loss,反向计算梯度
15、正式训练与量化训练
16、GPU训练,单卡与多卡训练的区别
17、多卡间的梯度怎么合并
18、per tensor 和 per channel量化?
Per tensor 是说一个 tensor 里的所有 value 按照同一种方式去 scale 和 offset;per channel 是对于 tensor 的某一个维度(通常是 channel 的维度)上的值按照一种方式去 scale 和 offset,也就是一个 tensor 里有多种不同的 scale 和 offset 的方式(组成一个vector),如此以来,在量化的时候相比 per tensor 的方式会引入更少的错误。
19、使用的库
20、量化的原理、好处
21、量化的精度损失
22、算子开发有涉及?
23、遇到的精度问题
量化、蒸馏、多监督、分类与匹配占比导致外来指纹难以识别
24、遇到的性能问题
存储、残差实现导致溢出
25、什么编程语言比较熟悉
26、const关键字作用
27、const指针修饰
28、static作用
29、static函数
30、纯虚函数
31、多态实现与原理
32、c内存布局,程序怎么执行
33、RAII
34、操作系统进程通信、线程通信方式
35、为什么线程不能使用socket、管道
36、多线程死锁有遇到过吗?