诺瓦星云24秋招提前批 一面

岗位:嵌入式开发(MCU/Linux)
2023.8.21 一面

1、自我介绍
2、为什么选择嵌入式这一行?本身喜欢做硬件还是有别的考虑?
3、问项目:
(1)你这个项目实现了什么功能?解决了什么问题?
(2)你项目用到了驱动,以及中间件的开发(多线程),讲一下整个软件的框架。
(3)项目使用了几个线程,每个线程实现什么功能?
(4)这几个线程有没有用到互斥锁?
(5)这几个线程之间都是独立的吗?没有数据交互吗?
(6)如果给线程访问加锁,是在驱动层实现还是应用层实现?
(7)一般我们在应用层用到互斥锁,那么驱动层用什么锁?
(8)介绍一下自旋锁?
(9)自旋锁和信号量的区别?
(10)字符驱动框架用的platform驱动框架还是什么框架?
(11)简单讲一下整个字符驱动怎么实现的?过程中实现了什么驱动功能?
(12)ioremap用来干什么?
(13)点灯为什么用到ioremap?具体实现什么功能?
(14)为什么控制bit位去控制灯,不是控制gpio吗?
(15)这个过程用到中断了吗?
(16)如果用按键去控制,需要使用中断吗?
(17)讲一下Linux中断分为上半部和下半部的原因?
(18)基于按键中断控灯,你会选择tasklet还是work queue?
4、C部分:
(1)const修饰变量的作用?
(2)define和const的区别?
(3)现在需要一个常量5来做一些运算,你会使用const还是define?
(4)switch case语句的入参能不能是float型?
(5)unsigned int a = 10;int b = -5;则a+b的值是多少?
5、反问

有帮助的话可以给个小花鼓励一下呀!
#软件开发笔面经#
全部评论

相关推荐

7 32 评论
分享
牛客网
牛客企业服务