找回密码
 立即注册
首页 业界区 安全 汇川技术 - 嵌入式软件工程师 - 面经(1) ...

汇川技术 - 嵌入式软件工程师 - 面经(1)

沦嘻亟 2025-6-9 13:35:07
-1、背景

岗位:
【25提前批-联合动力】嵌入式软件工程师
工作职责:

  • 硕士及以上学历,自动化、计算机、电气工程及其自动化等专业等相关专业;
  • 有嵌入式软件编程经验,熟练掌握C/C++,有simulink应用、芯片驱动设计等开发经验者优先。
  • 工作严谨细致,有责任心,有良好沟通能力,具备团队合作精神。
任职资格:

  • 负责新能源汽车相关产品软件开发,汽车电子嵌入式软件设计、开发与测试工作
  • 负责基于ARM、DSP等单板控制器的软件开发
  • 负责软件功能的需求分析、设计及代码开发
  • 协助解决产品市场问题、技术难点等。
时间线:
0705(投递) -> 0705(测评) -> 0729(一面)-> ❌
0、笔试

提前批无笔试
1、面经汇总




  • 介绍整体项目?
  • XXX 是怎么运行的?
  • 有没有做验证, 怎么知道 APP 有没有生效,损坏?
  • 固件头包含什么信息?
  • 介绍一下这几个 MCU 里用过的外设?
  • 团队和个人工作的区别是什么?
  • 更喜欢团队工作还是个人?


汇川联合动力一面,总时长不到 20min

  • 自我介绍
  • 聊了聊科研项目
  • 本科基础课(数模电,自动控制现代控制)
  • 简单的 C++ 基础提问
  • TCP/IP 简单介绍


飞书视频会议 全程 25 分钟左右

  • 自我介绍
  • 手撕:兔子生兔子问题
  • 实习相关内容
  • 手撕汇编:十个数重新排列(写了 3 行面试官说可以了挺好的)
  • 反问

    • 公司作息时间?
    • 西安岗位的情况?
    • 几个城市的具体方向划分有没有区别?



总体难度不难,主要围绕项目,有少量八股,压力不大,全程半个小时

  • 自我介绍
  • 介绍项目
  • 问了项目中的 C 语言高级用法,如函数指针、指针函数
  • 闲聊


嵌入式软件工程师

  • 自我介绍
  • 项目相关问题
  • 结构体字节对齐问题
  • CAN 总线的仲裁机制,优先级问题
  • 讲讲 FreeRTOS(任务调度,优先级机制)
  • 队列和栈的区别
  • 手撕代码:猴子吃桃


嵌入式软件工程师(西安)
0812(投递) -> 0824(一面)-> 0828(一面通过)-> 0910(线下二三面)

  • 自我介绍
  • 项目介绍

    • 变换器控制环是不是自己写的,介绍下思路?
    • 前馈解耦控制中包含电网电压项吗,如果不加电网电压项会有什么影响?
    • 中断频率设置的是多少?怎么优化中断服务函数执行速度?
    • F28335 中 int 类型占几个字节?
    • 多进程操作需要注意哪些问题?临界资源有哪些?
    • 局部变量与全局变量的存储位置分别是什么?
    • 静态全局变量赋初值和不赋值有什么区别?

  • 反问环节

    • 嵌入式工作方向?(分为两个,DSP 控制算法或者偏底层车机系统)
    • 面试一共会有几轮?(三轮)




  • 自我介绍
  • 项目介绍(只问了智能车比赛)

    • 比赛难度?
    • 获奖情况?
    • 电感采集?
    • 说说采样频率,单片机如何采集到信息的?

  • 手撕字符串反转:“abcdefg -> gfedcba”  ?
  • 为什么用静态函数?什么地方用?
  • 反问

    • 入职有学习期吗?



30mins

  • 自我介绍
  • 实习项目拷打(相关度较高)
  • 介绍 C++ 多态?
  • C++ static 作用?
  • 介绍 C++ 堆栈?
  • 函数的行参为什么不放在寄存器,要放在栈里?
  • 反问


0809(投递) -> 0809(测评) -> 0908(一面)

  • 项目介绍
  • Windows 操作系统和 SYS/BIOS 的区别?
  • Linux 系统、计算机网络了解吗?
  • 怎么看待将你临时借调到其他部门?
  • 项目中遇到的困难?



  • volatile 的作用?
  • 选择题:数组指针
  • 代码题:联合体
十一


  • 讲一讲 UART/I2C/SPI/CAN的区别?
  • 用过哪些 I2C 器件?
  • 有硬件设计经验?你做过什么?
  • 学过 PLC?用过哪些 PLC? 梯形图和 ST 都熟悉?
  • 你知不知道汇川是做什么的?)
  • 项目相关
  • 反问

    • 一面多久出结果?

2、一面(30min)- 20240729


  • C 语言编译的过程
预处理 -> 编译 -> 汇编 -> 链接

  • *p++ 和 (*p)++ 区别
*p++ 返回指针 p 指向的元素值,指针 p 指向下一个元素,地址++
(*p)++ 返回指针 p 指向的元素值,并将该元素值加一,值++

  • 编程题(三道题均为真题,但面试只会手撕一道)
有 1、2、3、4 四个数字,用 C 语言编程计算能组合出多少个不重复的三位数,并输出各个数
[code]#include int main() {    int count = 0;    for (int i = 1; i
您需要登录后才可以回帖 登录 | 立即注册