校招 未知部门 / 硬件工程师 / 二面
[面试日期] 2026-09-14 [面试时长] 未知
[学校背景] 蚌埠坦克学院 | 双非 [学历背景] 未知
[发布人] 面试之星官方收录
<h2>科大讯飞嵌入式软件开发二面 面经</h2>
<h1>1. 面试官指出你项目里某段实现不合理,你会怎么回应,并举例说明你后来会怎么改?</h1>
<ol>
<li>先确认他指出的具体问题:正确性、实时性、可维护性,还是资源占用。</li>
<li>如果当时是权衡取舍,就讲清楚约束:deadline、芯片资源、联调时间。</li>
<li>承认不合理点时直接说影响面,例如无超时、无背压、临界区过长。</li>
<li>给出改进方案:加超时与重试上限、队列限流、把重活移出中断、补单测和压测。</li>
<li>补充验证标准:异常注入后能否恢复、最坏延迟、长时间跑是否稳定。</li>
</ol>
<h1>2. TCP通信里,服务端被动打开和客户端主动连接的调用顺序分别是什么?中间失败怎么处理?</h1>
<ol>
<li>服务端:<code>socket</code> → <code>bind</code> → <code>listen</code> → <code>accept</code> → <code>recv/send</code> → <code>close</code>。</li>
<li>客户端:<code>socket</code> → <code>connect</code> → <code>send/recv</code> → <code>close</code>。</li>
<li><code>bind</code> 失败常见端口占用或权限问题;<code>listen</code> 后要设合理 backlog。</li>
<li><code>connect</code> 失败要区分超时、拒绝、路由不可达,并做有限次退避重试。</li>
<li><code>accept</code> 后每个连接独立处理,注意 <code>EINTR</code>、半关闭和 <code>close</code> 前排空数据。</li>
</ol>
<h1>3. <code>memmove</code> 和 <code>memcpy</code> 怎么选?自己实现拷贝时如何判断重叠?</h1>
<ol>
<li>确定不重叠用 <code>memcpy</code>,可能重叠用 <code>memmove</code>。</li>
<li>重叠判断看区间关系:若 <code>dst</code> 落在 <code>src</code> 到 <code>src+n</code> 内,从前往后拷会破坏未读数据。</li>
<li>重叠且 <code>dst > src</code> 时应从尾到头拷;<code>dst < src</code> 时可从头到尾。</li>
<li>还要注意空指针、长度为0、对齐和字宽优化,但正确性优先于炫技优化。</li>
<li>业务里对用户输入长度要先校验,避免越界把相邻对象踩坏。</li>
</ol>
<h1>4. 你做过最难啃的一个技术问题是什么?卡点、突破口和结果分别是什么?</h1>
<ol>
<li>卡点通常不是语法,而是偶现问题:时序竞争、缓存一致性、资源寿命管理。</li>
<li>我的做法是先稳定复现:最小用例、日志时间戳、示波器/逻辑分析仪对照。</li>
<li>突破口往往来自缩小变量:单任务跑、关优化、固定输入、对比好坏版本 diff。</li>
<li>解决后会补防护:断言、看门狗、超时、状态机非法迁移检测。</li>
<li>最后沉淀文档,避免同类问题再次靠“感觉”排查。</li>
</ol>
<h1>5. 在Linux上做过最头疼的一次环境/权限/设备节点问题是什么,你怎么定位?</h1>
<ol>
<li>常见是设备节点权限、驱动未加载、设备树不匹配导致 <code>/dev</code> 不出现。</li>
<li>先看 <code>dmesg</code> 和驱动加载日志,确认探针是否成功。</li>
<li>再用 <code>ls -l /dev</code>、<code>udevadm</code>、组权限确认应用能否打开设备。</li>
<li>若偶现,查电源时序、复位脚、时钟是否在打开前就绪。</li>
<li>最终把依赖写进启动脚本或 systemd 单元,并加上失败可观测日志。</li>
</ol>
<h1>6. 如果让你写一篇对新人最有价值的技术笔记,你会选什么主题,核心写哪三块?</h1>
<ol>
<li>主题选“一次真实HardFault/死锁排障”,比纯概念罗列更有用。</li>
<li>第一块写现象与约束:何时出现、频率、影响范围。</li>
<li>第二块写定位路径:证据怎么抓、排除了哪些假说。</li>
<li>第三块写根因</li>
</ol>
AI 推荐面试题
