嵌入式面试经典30问:

1.讲一下ARM架构的特点和优势。

2.C语言中的volatile关键字的作用是什么?

3.请解释一下嵌入式系统中的软中断和硬中断的区别。

4.如何实现两个单片机之间的通信?请列举几种常用的通信协议。

5.什么是RTOS(实时操作系统)?请解释RTOS和普通操作系统的区别。
6.请解释一下UART和SPI的概念、特点和应用场景。

7.在嵌入式系统中,编写驱动程序时,有哪些常见的接口标准和驱动框架?

8.DMA(直接内存访问)是什么?它在嵌入式系统中的作用是什么?

9.在嵌入式系统中,如何进行实时任务调度和优先级管理?

10.请解释一下嵌入式系统中的中断嵌套和中断优先级的概念。

11.请解释一下嵌入式系统中的GPIO口、PWM和定时器的概念和应用场景。

12.在嵌入式系统开发中,什么是嵌入式Linux?它与传统的裸机系统有什么区别?

13.讲一下C语言和C++语言的区别和特点。

14.C语言中的指针是什么?请解释一下指针的作用和用法。

15.C++中的引用是什么?请解释一下引用和指针的区别。

16.什么是C语言中的结构体?请解释一下结构体的定义和使用。

17.C++中的类是什么?请解释一下类的定义和面向对象的概念。

18.在C语言中,如何动态分配内存?请解释一下malloc和free函数的使用。

19.在C++中,如何实现多态性?请解释一下虚函数和纯虚函数的概念。

20.C语言中的宏定义是什么?请解释一下宏定义的作用和用法。

21.C++中的命名空间是什么?请解释一下命名空间的作用和用法。

22.在C语言中,什么是文件操作?请解释一下文件的打开、读写和关闭操作。

23.请解释一下操作系统中的进程间通信(IPC)和线程间通信的概念和方式。

24.操作系统中的调度算法有哪些?请解释一下常见的调度算法和其特点。

25.操作系统中的页表是什么?请解释一下页表的作用和实现方式。

26.操作系统中的内核是什么?请解释一下内核的概念和功能。

27.请解释一下操作系统中的异常和中断的区别和联系。

28.请解释一下操作系统中的异常和中断的区别和联系。

29.请解释一下操作系统中的同步和互斥的概念和实现方式。

30.对于嵌入式开发工程师来说,如何进行持续学习和职业规划?

问题答案已经整理到专栏中了,关注我分享更多知识。
全部评论
第一个应该怎么回答好?
3 回复 分享
发布于 2024-03-27 00:38 北京

相关推荐

1.1 Linux 驱动程序的功能是什么?(1)对设备初始化和释放。(2)进行内核与硬件的数据交互。(3)检测和处理设备出现的错误。1.2内核程序中申请内存使用什么函数?答案:kmalloc()、kzalloc()、vmalloc()。解读:(1)void *kmalloc(size_t size, gfp_t flags);①申请连续的物理内存,这对于要进行DMA的设备十分重要,但大小不能超过128KB,其中有16B是被页描述符占用了。②较常用的flag有GFP_ATOMIC(分配内存的过程是一个原子过程)、GFP_KERNEL(正常分配内存)、GFP_DMA(给DMA控制器分配内存)。③对应的内存释放函数为void kfree(const void *objp)。(2)void *kzalloc(size_t size, gfp_t flags);①kzalloc()相对kmalloc()只是额外增加了__GFP_ZERO标志,除了申请内存外,还会对申请到的内存内容清零。②对应的释放函数也是kfree()。(3)void *vmalloc(unsigned long size);①申请虚拟地址连续的内存空间,但其对应的物理内存不一定连续,因此对申请的内存大小没有限制。②对应的内存释放函数为void free(const void *addr)。③注意:vmalloc()和vfree()可以睡眠,因此不能在中断上下文调用。1.3内核程序中申请内存和应用程序时申请内存有什么区别?答案:内核中申请内存空间用的是函数kmalloc、kzalloc、vmalloc,应用程序申请内存用的函数是malloc。解读:(1)kmalloc/kzalloc直接分配连续的物理地址(虚拟地址也是连续的)。(2)vmalloc分配连续的虚拟地址,但物理地址不一定连续。分配时实际分配了物理内存,不过这个物理内存页面是在公共的页表进行了映射,并没有在本进程的页表进行映射,当访问这段内存时,触发do_page_fault异常(缺页中断)才完成页表的同步工作。(4)malloc是用户空间申请内存的方法,分配连续的虚拟地址,物理地址一般不会连续。在分配时并没有做实际物理页的分配动作,实际分配物理页的动作是在do_page_fault异常(缺页中断)处理中完成的。1.4自旋锁和信号量在互斥使用时需要注意什么?在中断服务程序里面的互斥是使用自旋锁还是信号量? (1)使用自旋锁的进程不会睡眠, 而使用信号量的进程会睡眠。(2)中断服务程序使用的是自旋锁,原因是中断服务程序处于中断上下文,中断上下文是不参与调度的,也就没有保护现场与恢复现场,一旦睡眠就回不来了。 以上内容摘自专刊《嵌入式岗位笔试面试真题讲解》,该专刊不仅有真题讲解,还有经验分享,不清楚嵌入式该学什么的同学,想找嵌入式实习/正式工作的同学,都可以来看看:              https://blog.nowcoder.net/zhuanlan/v0ELPM嵌入式公司推荐:华为、小米、OPPO、VIVO、荣耀、一加、CVTE、大疆、insta360影石、美的 、TCL、海信、创维、烽火、比亚迪、吉利、长安、大众、经纬恒润 、小鹏、图森未来、百度、滴滴、蔚来、理想、 联发科、 紫光展锐 、全志、寒武纪 、晶晨半导体 、汇顶、华为、中兴、浪潮 、TP-LINK、讯飞、商汤、海康威视 、浙江大华、360、小马智行、元戎启行、深信服、移动、联通、电信、旷视、四维图新、中芯国际、复旦微电子、极氪。#牛客AI配图神器#
点赞 评论 收藏
分享
评论
36
304
分享

创作者周榜

更多
牛客网
牛客企业服务