【回眸】联合汽车电子面经社招

49 阅读17分钟

 他人面经

比较有参考价值的:

简述一下AUTOSAR整体架构 各部分的作用是什么?

回答1:(内容整理自网络)

标准的AUTOSAR架构:

特别解释:

更细化的AUTOSAR架构:

数组,结构体,枚举,联合体之间的区别是什么?

回答2:(内容整理自网络)

数组

结构体

枚举

联合体

电源的各个部分介绍

回答3:(内容整理自网络)

用过哪些仿真软件?

回答4:(内容整理自网络)

使用过哪些调试方式?

回答5:(内容整理自网络)

看门狗相关问题

回答6:(内容整理自网络)

CAN的配置?CAN的采样点?CAN的BUSOFF?

回答7:(内容整理自网络)

在xx项目中为什么使用RTOS?与纯32相比有什么优势?

回答8:(内容整理自网络)

如果通信时同时支持UART、CAN、TCP等通信方式,会选择哪个?

回答9:(内容整理自网络)

与UART相比,SPI的优势是什么?

回答10:(内容整理自网络)

通信速度

全双工能力

多设备连接

抗干扰能力

为什么用TCP而不是UDP?

回答11:(内容整理自网络)

什么是socket?什么是端口?

回答12:(内容整理自网络)

介绍一下 IMU6LL

回答13:(内容整理自网络)

tcp可靠传输、HTTPS如何实现加密的

回答13:(内容整理自网络)

socket流程,说一下流程中具体的函数大概的作用

回答14:(内容整理自网络)

建立连接(以TCP为例)

数据传输

断开连接(以TCP为例)

其他协议(如UDP)

他人面经

面经1:

  1. 自我介绍
  2. 项目介绍
  3. 你在项目中遇到过什么问题?如何解决的?
  4. 期望薪资是多少?
  5. 以后职业的规划是什么?
  6. 反问环节

面经2:

  1. 自我介绍
  2. 简述一下autosar整体架构 各部分的作用是什么?
  3. 数组,结构体,枚举,联合体之间的区别是什么?
  4. 为什么要选择联合汽车电子?
  5. 自身具备哪些优势能胜任这个岗位?
  6. 未来的职业规划是什么?
  7. 能适应加班吗?
  8. 还有其他想问的吗?

面经3:

  1. 英文自我介绍;
  2. 之前做过什么实习工作?
  3. 项目介绍;
  4. 电源的各个部分;
  5. 用过哪些仿真软件?
  6. 低通滤波器,
  7. 霍尔效应,
  8. 模电问题,
  9. 画一个12V电压用MOSFET驱动电阻电路

面经4:

  1. 对公司有什么了解;
  2. 职业规划;
  3. 有什么爱好;
  4. 反问;
  5. 使用过哪些调试方式?
  6. 对看门狗了解过吗?
  7. CAN的配置?CAN的采样点?CAN的BUSOFF?
  8. AutoSar?
  9. 在xx项目中为什么使用RTOS?与纯32相比有什么优势?
  10. 如果通信时同时支持UART、CAN、TCP等通信方式,会选择哪个?
  11. 与UART相比,SPI的优势是什么?
  12. 为什么用TCP而不是UDP?
  13. 什么是socket?什么是端口?
  14. C编程?

面经5:

  1. 项目细节,算法步骤,用了哪些库
  2. CAN autosar协议了解程度
  3. icmp、三四次握手挥手
  4. 自我介绍
  5. 介绍一下 IMU6LL
  6. 项目中用到了哪些数据结构,怎么使用的链表
  7. 网络编程知道吗,有用过吗
  8. socket流程,说一下流程中具体的函数大概的作用
  9. tcp可靠传输、HTTPS如何实现加密的
  10. 项目中为什么用tcp而不用udp
  11. 项目中遇到的困难,怎么解决的

比较有参考价值的:

自我介绍

简述一下AUTOSAR整体架构 各部分的作用是什么?

回答1:(内容整理自网络)

标准的AUTOSAR架构:

转存失败,建议直接上传图片文件​编辑

转存失败,建议直接上传图片文件​编辑

1应用层(app/ASW)

2RTE层

3服务层-ECAL-MCAL-CCD(非上下层关系)

23加起来即是BSW层

4微控制器层(硬件层)

特别解释:

Service服务层:给应用层提供后台服务,如存储管理、网络管理等。

ECU抽象层:ECUAL - ECU Abstraction Layer,标准化硬件的基础功能和接口,控制网关报文转发、存储器读写等。

硬件抽象层:MCAL - Microcontroller Abstraction Layer,硬件相关的驱动软件。

复杂驱动:CDD

更细化的AUTOSAR架构:

转存失败,建议直接上传图片文件​编辑

数组,结构体,枚举,联合体之间的区别是什么?

回答2:(内容整理自网络)

数组

  • 存储方式:只能存储相同数据类型的元素,通过索引访问。
  • 内存占用:所有元素连续存储,大小为元素数量乘以单个元素大小。

结构体

  • 存储方式:可包含不同数据类型的成员,通过成员名访问。
  • 内存占用:各成员总和(可能因内存对齐增加额外字节)。

枚举

  • 存储方式:定义一组符号常量,每个常量对应一个整数值。
  • 内存占用:大小为整型(通常4字节)。

联合体

  • 存储方式:共享同一块内存,同一时间只能存储一个成员的值。
  • 内存占用:大小为最大成员的大小。

电源的各个部分介绍

回答3:(内容整理自网络)

发电机,蓄电池,电压调节器

EMC滤波器,压敏电阻,热敏电阻,整流桥,滤波电容,开关管,PWM控制器,整流器,高频变压器

用过哪些仿真软件?

回答4:(内容整理自网络)

eg:LTspice, MultisimSimulink

使用过哪些调试方式?

回答5:(内容整理自网络)

eg:JTAG SWD 版本回溯 调试IO

看门狗相关问题

回答6:(内容整理自网络)

看门狗(Watchdog)是一种用于监视系统运行情况的硬件设备,它可以在系统出现故障或者卡死时自动重启系统,从而保证系统的稳定性和可靠性。

CAN的配置?CAN的采样点?CAN的BUSOFF?

回答7:(内容整理自网络)

(1)硬件连接

CAN通信需要两个节点之间的物理连接,一般使用两根电缆,其中一根称为CAN_H,一根称为CAN_L。两条电缆应该成对使用,不可颠倒。

(2)硬件配置

在实际应用中,需要使用控制器(如STM32)配置CAN总线的工作模式、波特率、滤波模式等参数。

(3)软件配置

在软件方面,需要编写CAN总线的通信协议,包括数据帧的发送和接收处理等。

采样点= (同步段时间+位段1时间)/(同步段时间+位段1时间+位段2时间)            = (同步段时间+位段1时间)/每个BIT时间

CAN总线关闭(CAN bus off)是指CAN节点进入一种错误状态,无法继续正常的数据通信。当一个CAN节点的错误计数器超过了设定的阈值时,该节点将进入CAN总线关闭状态。在这种状态下,该节点将停止发送和接收数据,并且无法参与到总线通信中。

在xx项目中为什么使用RTOS?与纯32相比有什么优势?

回答8:(内容整理自网络)

RTOS相对于裸机程序的优势在于它可以提供更高的可靠性、可维护性和可扩展性。RTOS可以提供更好的任务管理、内存管理、中断处理和通信机制,使得开发者可以更加方便地开发和维护复杂的嵌入式系统。此外,RTOS还可以提供更好的实时性能和响应能力,使得嵌入式系统可以更加稳定和可靠地运行。

如果通信时同时支持UART、CAN、TCP等通信方式,会选择哪个?

回答9:(内容整理自网络)

速率有限,简单的点对点通信:UART

长距离、抗干扰要求高、多主多从:CAN

效率要求相对低,但对准确性要求相对高:TCP

效率要求相对高,对准确性要求相对低:UDP

与UART相比,SPI的优势是什么?

回答10:(内容整理自网络)

通信速度

SPI支持更高的数据传输速率,通常比UART快1-2倍。SPI无起始位和停止位,数据可连续流传输,而UART需添加起始/停止位,导致传输效率略低 。

全双工能力

SPI支持全双工通信(MOSI和MISO独立传输),可同时发送和接收数据;UART仅支持半双工(需分时复用Tx和Rx引脚) 。

多设备连接

SPI通过SS/CS引脚选择从设备,支持多个从设备共用数据线,而UART需一对一连接,扩展性较差 。

抗干扰能力

SPI使用同步时钟信号(SCLK),减少时序误差;UART为异步通信,依赖波特率匹配,长距离传输易受干扰 。

SPI适合高速、短距离的板内或板间通信;UART更适用于长距离或低速场景

为什么用TCP而不是UDP?

回答11:(内容整理自网络)

效率要求相对低,但对准确性要求相对高:TCP

效率要求相对高,对准确性要求相对低:UDP

什么是socket?什么是端口?

回答12:(内容整理自网络)

socket包括 IP 地址和端口号两个部分

端口:设备与外界通讯交流的出口

介绍一下 IMU6LL

回答13:(内容整理自网络)

原生支持8路UART、2路Ethernet、2路CAN-bus、2路USB 2.0以及LCD等常用接口。

tcp可靠传输、HTTPS如何实现加密的

回答13:(内容整理自网络)

1.对称加密

2.非对称加密

3.数据摘要

4.CA数字证书

socket流程,说一下流程中具体的函数大概的作用

回答14:(内容整理自网络)

建立连接(以TCP为例)

  1. 创建套接字

    • 服务器和客户端分别调用socket()函数创建套接字,指定协议类型(如TCP) 
  2. 绑定地址和端口

    • 服务器通过bind()将套接字绑定到特定IP和端口,客户端通常不绑定(使用系统分配的随机端口) 。 ‌
  3. 监听连接

    • 服务器调用listen()进入监听状态,等待客户端连接请求 。 ‌
  4. 三次握手

    • 客户端调用connect()发起连接,触发以下过程:

      • 客户端发送SYN(同步)报文
      • 服务器响应SYN-ACK(同步-确认)报文
      • 客户端发送ACK(确认)报文,连接建立 。 ‌

数据传输

  1. 接收连接

    • 服务器调用accept()接受客户端连接,生成新的套接字用于数据传输 
  2. 双向通信

    • 客户端和服务器通过send()/recv()(或write()/read())发送和接收数据 。 ‌
  3. 缓冲区管理

    • 数据先写入发送缓冲区(send buffer),通过网络传输后进入接收缓冲区(recv buffer),再由recv()读取到应用层 。 ‌

断开连接(以TCP为例)

  1. 四次挥手

    • 任一方调用close()发起断开:

      • 主动方发送FIN(结束)报文
      • 被动方确认ACK,关闭接收通道
      • 被动方发送FIN,主动方确认ACK,等待2MS后关闭连接 。 ‌

其他协议(如UDP)

  • 无需握手,直接通过sendto()/recvfrom()发送和接收数据,适用于实时通信(如音视频流) 

项目细节,算法步骤,用了哪些库

CAN autosar协议了解程度

icmp、三四次握手挥手

项目中用到了哪些数据结构,怎么使用的链表

网络编程知道吗,有用过吗

项目中遇到的困难,怎么解决

自身具备哪些优势能胜任这个岗位?

未来的职业规划是什么?

能适应加班吗?

期望薪资是多少?

对公司有什么了解;

职业规划;

有什么爱好;

反问

后记

看到这里的读者朋友们可以点击专栏查看同系列的其他文章,希望能帮到屏幕前的每一位技术人,该博文最初发表在CSDN上。