8.20诺瓦星云 一面面经 (二面已更)

#诺瓦星云提前批#
面试官主要是MCU方向的 我比较偏Linux应用方向 全程提问的基本都是STM32和通信协议 我网络编程 UI设计这方面的技术基本都没怎么问

项目是自己选的 主要深挖一个项目

项目1:
为什么选择Jetson Nano这样昂贵的嵌入式设备?
如何优化目前的成本(软件和硬件)
串口常见波特率 波特率的概念 波特率的计算 
同步串口和异步串口的区别(软件和硬件)
串口传输大量数据如何保持数据完整性
串口多次传输大量数据如何减少中断产生
IIC的特点
项目中IIC是一对多还是多对多
IIC中的设备号是不是唯一的 有没有重复
如何模块化的去封装IIC
如果IIC的设备号全部重复如何解决这个问题(也就是采用多对多)
多对多的IIC与一对多的IIC在代码封装层面有什么不同
IIC总线最大挂载数
IIC在操作某个设备的时候突然出现问题了 如何去测试和排查这个问题
在使用IIC的时候如何达到了IIC目前硬件的最大速率(50K) 如何去突破(没回答上来)
如果硬件给你焊好了一个32板子 但是在烧入代码之后 电源灯正常 但是其他内部外设不正常 如何去排查问题
如果此时发生的是硬错误 怎么处理
Keil5如何调试?如何查看指定变量的值(内存)
步进电机如何驱动
如何利用STM32生成一定次数的方波信号

项目2:
在什么平台和媒介上使用的基于TCP/IP的网络通信
Socket的使用流程
对于RTOS的理解
RTOS如何根据任务去分配栈的大小
讲述一下回调函数的概念
为什么要有回调函数这个概念
Linux的学习深度
数据结构的学习深度

八股:
野指针是什么 危害有哪些
内存泄漏和内存溢出分别是什么
volatile和static关键字的含义和使用场景

差不多面试了40分钟左右 会刻意在看起来不太会的地方施压 反复提出问题给予压力 后面到强项地方了反而不咋问了 可能因为它是MCU开发的吧 本来还说的好好的 我基本没有磕磕绊绊 都是一口气组织好语言全部赘述 但是他突然终止了提问 我觉得时间可能太短了 就问了一下为什么 说是因为有人说话慢 我这边说话比较快 然后就草草结束了 

总结下来就是 面试官提问题很刁钻和犀利 会找痛点和薄弱点去攻击 比较专业 但是唯一不足的点就是我没有将全部的技术面都展现出来 这也算是我第一次正式面试 想着分享出来
全部评论
tql
3 回复 分享
发布于 2024-08-22 17:28 四川
问题都差不多😂
1 回复 分享
发布于 2024-08-22 17:21 江西
我靠,这些问题,和我一个面试官好像!这一套下来我当时脑子都空了
1 回复 分享
发布于 2024-08-25 20:59 陕西
能看看简历吗
点赞 回复 分享
发布于 2024-08-22 12:22 江苏
跟我的太像了。能问下楼主是什么bg
点赞 回复 分享
发布于 2024-08-27 19:45 广西

相关推荐

3.内存管理&编程题(20道) 3.1由gcc编译的C语言程序占用的内存分为哪几个部分?栈区(stack)存放函数的参数、局部变量。堆区(heap)提供程序员动态申请的内存空间。全局(静态)区(static)存放全局变量和静态变量,初始化不为0的全局变量和静态变量、const型常量在一块区域(.data段),未初始化的、初始化为0的全局变量和静态变量在相邻的另一块区域(.bss段)。程序代码区存放函数体的二进制代码和字符串常量。3.2小端:一个数据的低位字节数据存储在低地址   大端:一个数据的高位字节数据存储在低地址   例如:int a=0x12345678;  //a首地址为0x200,大端存储格式如下:如何判读一个系统的大小端存储模式?(1)方法一:int *强制类型转换为char *,用"[]"解引用 void checkCpuMode(void)  {      int c = 0x12345678;      char *p = (char *)&c;      if(p[0] == 0x12)          printf("Big endian.");      else if(p[0] == 0x78)          printf("Little endian.");      else          printf("Uncertain.");  }  (2)方法二:int *强制类型转换为char *,用"*"解引用 void checkCpuMode(void)  {      int c = 0x12345678;      char *p = (char *)&c;      if(*p == 0x12)          printf("Big endian.");      else if(*p == 0x78)          printf("Little endian.");      else          printf("Uncertain.");  }  (3)方法三:包含short跟char的共用体 void checkCpuMode(void)  {      union Data      {          short a;          char b[sizeof(short)];      }data;      data.a = 0x1234;        if(data.b[0] == 0x12)          printf("Big endian.");      else if(data.b[0] == 0x34)          printf("Little endian.");      else          printf("uncertain.");  }  3.3全局变量和局部变量的区别?(1)全局变量储存在静态区,进入main函数之前就被创建,生命周期为整个源程序。 (2)局部变量在栈中分配,在函数被调用时才被创建,在函数退出时销毁,生命周期为函数内。 3.4以下程序中,主函数能否成功申请到内存空间?#include  #include  #include  void getmemory(char *p)  {      p = (char *)malloc(100);      strcpy(p, "hello world");  }  int main()  {      char *str = NULL;      getmemory(str);      printf("%s", str);      free(str);      return 0;  }  答案:不能。 解读:getmemory(str)没能改变str的值,因为传递给子函数的只是str的复制值NULL,main函数中的str一直都是 NULL。正确的getmemory()如下: ①传递的是二重指针,即str的指针void getmemory(char **p)   {      *p = (char *)malloc(100);      strcpy(*p, "hello world");  }  ②传递的是指针别名,即str的别名,C++中void getmemory(char * &p)   {      p = (char *)malloc(100);      strcpy(p, "hello world");  }  以上内容摘自专刊《嵌入式岗位笔试面试真题讲解》,该专刊不仅有真题讲解,还有经验分享,不清楚嵌入式该学什么的同学,想找嵌入式实习/正式工作的同学,都可以来看看:                  https://blog.nowcoder.net/zhuanlan/v0ELPM嵌入式公司推荐:   华为       、    小米         、     OPPO       、VIVO、     CVTE         、     大疆       、insta360影石、美的  、   TCL  、小米    、经纬恒润     、小鹏、 图森未来    、   百度    、滴滴、蔚来、理想、     联发科、 紫光展锐    、全志、   寒武纪    、晶晨半导体   、汇顶、华为     、 中兴    、浪潮    、TP-LINK、    讯飞、商汤、海康威视    、浙江   大华    、360。qi
查看4道真题和解析
点赞 评论 收藏
分享
2024-11-28 08:57
北京邮电大学 C++
秋招面经1. 如何在嵌入式系统中实现蓝牙通信?2. 使用GPIO控制步进电机的运动。3. 嵌入式系统中如何实现看门狗定时器?4. 如何使用I2S接口进行音频数据传输?5. FreeRTOS中如何实现任务的时间片轮转调度?6. 如何使用CAN进行汽车故障诊断?7. 嵌入式系统中如何实现气体泄漏监测?8. 使用PWM控制电机的速度。9. 在FreeRTOS中如何实现消息队列机制?10. 如何在嵌入式系统中实现图像处理?11. 使用ADC进行温度传感器数据采集。12. FreeRTOS中如何实现任务的优先级继承?13. 使用中断处理温度传感器的输入事件。14. 在嵌入式系统中如何实现数据压缩?15. 如何使用LoRa进行远程无线通信?16. 嵌入式系统中如何实现智能家居控制?17. 使用DMA进行ADC数据采集。18. 在FreeRTOS中如何实现任务的周期性调度?19. 如何在嵌入式系统中实现OLED显示?20. 使用RTOS实现多线程网络通信。21. 如何在嵌入式系统中实现音频录制?22. 使用GPIO实现按键输入的去抖动处理。23. 在FreeRTOS中如何实现任务的优先级动态调整?24. 如何使用NFC进行近场通信?25. 嵌入式系统中如何实现电池电量监测?26. 使用I2C与气压传感器进行数据采集。27. 在FreeRTOS中如何实现任务的资源共享?28. 如何在嵌入式系统中实现数据日志记录?29. 使用RS-485总线实现工业设备通信。30. 在嵌入式系统中如何实现设备的固件升级?嵌入式C++面经推荐大佬面经  链接在下边  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
2024-12-01 16:47
禾迈股份 嵌入式软件 19x15 硕士其他
点赞 评论 收藏
分享
评论
18
77
分享
牛客网
牛客企业服务