小米嵌入式端侧模型部署|一二面

刚面完嵌入式音视频岗的两轮技术面,趁着印象还新鲜赶紧整理出来发上来。

一面(约 60 min)

一面节奏挺快的,面试官人还可以但是不放水,基本就是对着提纲一道一道往下问,C++、算法、系统三块轮着来,答完一题直接下一题,有几道会顺着追问细节。

题目如下:

JNI 中 LocalRef 和 GlobalRef 的生命周期管理差异?

C++17 的 std::optional 解决了哪些痛点?

std::function 和函数指针的性能差异及原因?

红黑树插入节点时的旋转规则是什么?

如何用最小堆实现 TopK 算法?时间复杂度是多少?

海量数据去重(100 亿级别)的三种实现方案?内存泄漏的检测手段(如 Valgrind 原理)?

嵌入式场景中如何平衡内存池设计与动态分配?

二面(约 75 min)

二面明显比一面深一个层级,面试官应该是做端侧推理或者底层优化的,问的问题都贼有针对性,能感觉到他在听你回答的过程中判断你到底是不是真的写过 kernel、调过算子。

中间有几道 SIMD 相关的题答得不太好,面试官还会顺着继续追问细节,压力挺大的。

题目如下:

为什么选择 TNN 推理框架?

对比过哪些其他端侧推理引擎?

模型部署时如何解决端侧算力不足的问题?

TNN 的算子融合策略有哪些?举例说明优化效果。半精度浮点(FP16)量化后模型精度损失如何评估?

模型蒸馏的具体实现步骤?

是否对比过蒸馏前后的推理速度?

如何评估一款 DSP 芯片的 MAC 算力(如 TOPS)?

双三次插值的 16 个点权重如何计算?用 NEON 实现图像旋转时如何避免内存对齐问题?

如何用 SIMD 指令优化矩阵乘加运算(如 y=ax+b)?

NHWC 和 NCHW 布局对卷积计算性能的影响是什么?

通道数为 3 时,能否用 NC4HW4 格式?

为什么?分组卷积(Group Convolution)的原理和优势是什么?

C++11 中的移动语义解决了什么问题?举例说明 std::move 的用途。传参时 const T& 和 T&& 的区别及适用场景?

weak_ptr 的使用场景是什么?如何避免循环引用?

vector 的 reserve 和 resize 有什么区别?

如何用 emplace_back 替代 push_back 提升容器性能?

多态的实现原理(虚函数表机制)?

析构函数抛异常会导致什么问题?如何避免?

CPU 的缓存一致性协议(如 MESI)是什么?

什么是伪共享(False Sharing)?

如何用 alignas 优化?

多线程下如何保证 std::unordered_map 的线程安全?

实时操作系统(如 FreeRTOS)的任务调度策略有哪些?如何通过流水线并行提升嵌入式系统的吞吐量?

写在最后

面试官比较专业也比较有耐心,问的都是货真价实的技术题,没有什么压力面或者奇怪的脑筋急转弯。

后续流程还在等通知,有 HR 面或者 offer 进展再回来更新。

冲冲冲,求各位兄弟点个赞攒攒人品

整个春招攒下来的面经,我都塞进这个专栏里了——目前 32 篇 / 12w+ 字,仍在持续更新。

内容基本覆盖了嵌入式岗会被问到的所有方向:C 语言陷阱 / 计网高频 / 操作系统 / RTOS / Linux 驱动 / 通信协议 / 硬件基础——你面试会被问到的,这里都有对应的题和思路。

目前 4.7w+ 同学在看,3300+ 订阅。数据摆这儿,口碑自己说话。

适合面经基础薄弱、想一次性系统梳理的同学。越早订越划算,内容只会越来越全,价格也只会越涨越高。

🔗 专栏直达:https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM

全部评论

相关推荐

05-09 20:50
东南大学
这就开摆的斜杠青年很...:看学校有没有吧,我们学校五月底有实习双选会
牛客在线求职答疑中心
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务