纳芯微测试工程师一面面经(10.8 base 杭州)
- 轮次
- 一面
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
基础背景与求职意向
- 你现在是在哪里?在学校还是已经出来了?
- 实习是不是都结束了?现在在学校还有什么事?
- 手里还有其他公司的 offer 吗?都还在面试阶段、没到发 offer 阶段是吗?
- 你这边意向是想去哪边?
- 期望薪资大概多少?
实习经历
- 板卡校准与驱动开发你主要做了哪些工作?
- 你现在用的什么平台?测试机型号是什么?
- 前 32 通道精度漂移是个什么问题?怎么解决的?
- 在长川做过 ATE 芯片测试程序的开发吗?有没有做过专门测真实芯片的程序?
- ADC 的 INL、DNL 分别是什么意思?你们会测吗?不测 INL 怎么做曲线拟合?拟合算法代码你会修改吗?
- D9000 测试机上可以配套哪些板卡?
- PMU 的精度你知道多少?给 50 毫安输出,实际输出大概多少?
- Python 代码的量级有多大(代码行数)?DIO 运行频率能跑多快?
- DIO 测试知道归 0 码、归 1 码吗?跑数字测试 Python 脚本之前需要做哪些电平相关设置?
在校项目
- 下面这些项目经验是在学校完成的,还是实习做的?
- RK3588 无人值守机房监控端是干什么的?这个项目你是怎么实现的?通信方式是什么?
- 项目里面 I2C 是用来做什么的?
硬件、协议与编程技术
- I2C 通信协议是你自己写的吗?介绍一下 I2C 写、读数据的完整通信过程。
- 有一个寄存器,只想把 bit7 置 0、其余位保持不变,应该怎么操作?为什么要移位?
- 厂商测试机你用得多吗?如果直接给你一颗芯片,你能独立把整套测试代码开发出来吗?
- PCB 板会画吗?在校项目里硬件部分是谁负责的?
- CMOS 电平和 TTL 电平有什么区别?驱动时有什么注意事项?
- 漏电流正常是怎么测试的?加的低电平电压是多低?为什么是加电压测电流?
场景题
- 芯片出厂量产时全部 Pass,但客户实际使用中失效,作为测试开发工程师你会怎么系统性调查?这里说的测试相关性指什么?
- 角度传感器的磁铁旋转一圈采样 1000 个正弦波采样点,磁场没有参考零点,如何判断芯片零点是否存在偏差?
《参考解析》
ATE 测试里的 INL、DNL 与曲线拟合。 DNL(微分非线性)看的是相邻码的步长:理想情况下 ADC 每进一个码,输入电压应该正好变化 1 LSB,实际步长与 1 LSB 的偏差就是 DNL,单位为 LSB;DNL 达到 ±1 LSB 意味着出现了丢码(某码永远不会输出)。INL(积分非线性)是各码实际跳变点与理想直线之间的最大偏差,衡量整体传递函数的弯曲程度,单位同样是 LSB。两者都靠斜坡扫描或码密度法测:给缓慢上升的输入电压,记录每个码出现的次数,再由累计分布反推跳变点。所谓「不测 INL 怎么做曲线拟合」,实务上是用已知的若干输入输出点(端点法或最小二乘法)拟合出实际传递直线,再用它算偏差——最常用的最小二乘拟合把整条曲线的误差平方和降到最低,而端点法只取首尾两点,代价是中间误差可能更大。拟合代码会改是加分项:数据先做去噪与异常点剔除,再决定线性区间的截取范围,最后用残差判断拟合是否可信。
寄存器位操作:只把 bit7 置 0。 标准写法是「读—改—写」,先把寄存器读回临时变量,用 reg &= ~(1 << 7) 清掉 bit7,其他位通过与全 1 掩码相与保持原值,再写回。用它清位而不是直接赋值,原因就在于直接赋值会把其他位一并写成 0,那些位通常承载着别的使能、量程或状态配置。为什么用移位:1 << 7 让「第几位」变成可读的表达式,配合宏或枚举后,代码改成 bit3 只需要换数字,不用手算 0x7F 这类魔数;多位置位用 |、清位用 &= ~、翻转用 ^=。还有两个工程细节值得提:多位字段要先用 & 取出再用 >> 对齐到最低位再比较,避免把相邻位的值混进来;寄存器若被硬件或中断修改,读改写之间要保证原子性,否则会丢更新。
I2C 的读写时序。 I2C 是两线(SCL 时钟、SDA 数据)的开漏总线,必须外接上拉电阻,空闲时两线均为高。起始条件是SCL 为高时 SDA 由高变低,停止条件相反(SCL 为高时 SDA 由低变高);数据位则在 SCL 低电平期间改变、高电平期间保持稳定。一次完整写:起始 → 发 7 位从机地址加写方向位(0)→ 等从机拉低 SDA 应答(ACK)→ 发寄存器地址 → 等 ACK → 发数据 → 等 ACK → 停止。一次完整读要先写后读:先按写流程发出要读的寄存器地址(这叫「写指针」),再发一次起始(Repeated Start,不释放总线),重发从机地址加读方向位(1),随后主机产生时钟逐字节接收、每收一个字节回 ACK,收到最后一个字节时回 NACK 再发停止条件。常见追问点:上拉电阻取值与总线电容决定上升沿速度、7 位与 10 位地址的区别、时钟拉伸(clock stretching)时主机要能等待、以及多主竞争时的仲裁机制。
CMOS 与 TTL 电平,以及驱动注意事项。 两者最本质的区别是输入输出结构与电源域不同:TTL 早期是双极型工艺,输入靠电流抽取电流,标准电平为 5V 域(VOH ≥ 2.4V、VOL ≤ 0.4V,VIH ≥ 2.0V、VIL ≤ 0.8V);CMOS 是电压控制、输入阻抗极高,输入阈值大约是电源电压的一半(以 3.3V 域为例,VIH 约 0.7×VDD、VIL 约 0.3×VDD)。由此推出几条工程注意事项:3.3V CMOS 输出直接接 5V TTL 输入通常没问题,反过来 5V 输出接 3.3V 输入必须确认器件的 5V 容忍(5V tolerant)能力,否则要加电平转换或分压;CMOS 输入悬空会因高阻而乱翻转、还带来额外功耗,未用输入必须接固定电平;TTL 输入端反而要注意驱动能力与扇出,不能挂太多负载;长线与高阻节点要关注反射和串扰。
漏电流该怎么测。 漏电流(IIL/IIH 或关断漏电 IDD off)的基本做法是给被测引脚加一个规定的电压,测量流过的电流,用高精度 PMU 或源表完成。以输入低电平漏电(IIL)为例,把引脚拉到规定的低电平(例如 0V 或 datasheet 写明的更低电压,要求「多低」就按手册,不是越低越好——超过极限会损坏 ESD 结构),测此时流入引脚的电流,合格判据通常是个位数微安以内。为什么是「加电压测电流」而不是反过来:漏电本身就定义为特定偏置条件下的电流,只有把引脚钳在已知电位,内部 PN 结的偏置状态才是确定的,测出的电流才有可比性;用电流源灌电流会因被测阻抗未知而让压降不可控。测试时的注意点:先等待建立时间再采样(给结电容充电)、量程与开尔文接法会影响微安级测量精度、多个引脚要逐一对其他引脚的状态做规定(其余脚的电位不同会通过内部通路影响结果)。
量产全 Pass 但客户现场失效,怎么系统性查。 这题的答题骨架是「先界定失效,再对齐测试条件,再收窄到相关性」。第一步看失效的原始信息:失效现象、发生比例与批次分布、温度与工作条件、是上电即坏还是使用一段时间后失效——据此先区分是设计边际问题、工艺波动还是个别批次异常。第二步做测试相关性分析:把客户的实际使用条件(电压、温度、负载、时序、上下电斜率)与 ATE 上的测试条件逐项对齐,找测试没覆盖到的维度,常见的盲区是只做了常温测试没做高低温、只测静态参数没测动态时序、客户是带载或高频开关而 ATE 是空载、以及上下电顺序和 ESD 防护差异。第三步做失效分析:外观与 X-Ray、开封去层、探针台定位,配合曲线追踪找失效点,确认是 EOS/ESD 损伤、绑定缺陷还是参数漂移。第四步回到测试侧补覆盖:把客户现场的失效条件转成可执行的测试项,加严限值或增设筛选(如温度循环、老化、应力筛选),并用 DPPM 与批次数据验证改善效果。所以「测试相关性」指的是测试条件与真实使用条件的匹配程度:测试通过只说明芯片在 ATE 那套条件下合格,与客户现场等效才有意义,这也是量产测试要不断做「条件覆盖度」复盘的原因。
没有参考零点的角度传感器,怎么判断零点偏差。 磁铁旋转一圈得到 1000 个采样点、且理论上是正弦(或余弦)波形,这就是判断的依据——正弦信号自身带有可用来定标的结构信息。几种做法:一是峰谷法,正弦波的最大值与最小值对应的相位相距 180°,两者中点即过零点,用 1000 点的数据找出最大最小值和它们的位置,就能反推零点的相位偏移;二是均值法,理想正弦在一个完整周期上的均值为零,把 1000 点求和取平均,偏离零的量直接反映直流偏置与零点偏移;三是过零检测与对称性校验,找到上升沿和下降沿两次过零的位置,理想情况下这两个位置的相位差应为半周期,若不对称说明存在相位偏移或波形失真;四是拟合,对 1000 点做最小二乘正弦拟合(或直接上 FFT 取基波相位),拟合出的相位就是零点;工程上还要看这一圈里有没有丢点、采样是否等间隔,因为相位精度直接受采样均匀性影响。判断出偏差之后,通常把修正值写进校准系数,在量产测试里作为一项校准流程固化下来。