当前位置:   article > 正文

BSP开发|嵌入式|Linux驱动|笔试面试_驱动开发面试问题总结

驱动开发面试问题总结

期待收藏~~~~!!!


写这篇文章的目的,希望以提问的形式,对自己以前的知识进行一个总结,并期待能给即将/已经踏入嵌入式领域的程序员提供一些学习上的帮助~


本文于2020/12/1开始编辑,预计可能有一年的时间持续投入,每周都会添加一些问题,不断地更新和完善。


涉及但不限于:
C语言经典题(数据结构,指针,…)
操作系统(调度,同步与并发,中断,内存,文件系统,…)
Linux驱动(设备树,)
网络(…)
存储(…)
总线(I2C,SPI,UART,USB,PCIe,…)


C语言

【C语言】请描述一个可执行程序占用的内存分为哪几个区?每个分区各自的作用?
【C语言】谈谈内存分配中的(.data)段和(.bss)段的区别?为什么要分.data段和.bss段?
【C语言】谈谈内存分配中的堆和栈的区别?为什么要有堆区和栈区呢?
【C语言】解释局部变量、全局变量、静态变量的含义
【C语言】static关键字的作用?
【C语言】const关键字的作用?
【C语言】register关键字的作用?
【C语言】extern关键字的作用?
【C语言】volatile关键字的作用?
【C语言】inline关键字的作用?
【C语言】有关Sizeof的经典笔试面试题
【C语言】有关Point指针的经典笔试面试题
【C语言】什么是指针函数?什么是函数指针?他们之间有什么区别?
【C语言】strcpy是安全的吗,那strncpy又一定是安全的吗。手写memcpy实现的时候,需要考虑到什么问题
【C语言】谈谈了解哪几种排序方法?实现原理是什么?
【C语言】提高C代码运行效率的方法有哪些?列举几个提高代码执行效率的方法
【C语言】结构体复制与赋值、浅拷贝与深拷贝相关问题
【C语言】引用和指针的区别?
【C语言】i++和++i的区别是什么?哪个效率高?为什么?
【C语言】i++和i=i+1哪个效率更高?为什么?
【C语言】源程序->可执行程序,需要执行哪几个步骤?
【C语言】写一个“标准”宏,求结构体内一个变量相较于结构体的偏移?
【C语言】写一个“标准”宏,实现输入两个参数并返回较小的一个
【C语言】写一个“标准”宏,实现交换两个参数值
【C语言】写一个"标准"宏,已知数组table,求出数组的元素个数
【C语言】其他宏相关笔试题

【C语言编程】请自己实现一个strlen函数
【C语言编程】请自己实现一个strcmp函数
【C语言编程】请自己实现一个memcmp函数
【C语言编程】请自己实现一个strcpy函数
【C语言编程】请自己实现一个memcpy函数
【C语言编程】实现一个函数,判断字符串str2是否在字符串str1里
【C语言编程】用C语言写一个能让系统崩溃的程序


操作系统

【操作系统】什么是RTOS?实时操作系统与普通操作系统的区别?
【操作系统】什么是优先级反转?如何解决优先级反转?
【操作系统】什么是优先级继承?
【操作系统】什么是优先级天花板?
【操作系统】优先级继承和优先级天花板的区别?
【操作系统】如何判断CPU是大端模式还是小端模式?
【操作系统】大端模式如何转换为小端模式?

【中断】什么是异常?什么是中断?
【中断】什么是异常向量表?什么是中断向量表?
【中断】什么是中断上下文?什么是进程上下文?
【中断】请描述从进程上下文到中断上下文的切换过程
【中断】什么是中断底半部?
【中断】中断底半部的实现机制有哪些?如何选择合适的下半部机制?
【中断】请描述一下中断的响应过程?
【中断】发生硬件中断后,ARM处理器做了那些事情?
【中断】写一个中断处理程序,需要注意哪些问题?
【中断】为什么在中断里不可以睡眠?
【中断】为什么在中断里不可以使用耗时很长的函数?

【进程线程】什么是进程、线程,有什么区别?
【进程线程】多进程、多线程的优缺点?
【进程线程】有哪些进程间通信方法?
【进程线程】有哪些线程间通讯方法?

【内存】linux在系统调用进入内核时,为什么要将参数从用户空间拷贝到内核空间?不能直接访问,或是使用memcpy吗?非要使用copy_from_user才行吗?

【同步与并发】什么是信号量?信号量原理是什么?信号量有什么优缺点?
【同步与并发】什么是互斥锁?互斥锁原理是什么?互斥锁有什么优缺点?
【同步与并发】什么是自旋锁?自旋锁原理是什么?自旋锁有什么优缺点?
【同步与并发】互斥锁和信号量的区别是什么?
【同步与并发】互斥锁和自旋锁的区别是什么?
【同步与并发】为什么要使用自旋锁和信号量?说说自旋锁、信号量的应用场景?
【同步与并发】什么是死锁?产生死锁的原因及必要条件?如何避免死锁?
【同步与并发】写一个简单的死锁demo


总线

【总线】什么是并行传输?什么是串行传输?什么是异步传输?什么是同步传输?什么是等时传输?

I2C总线

【I2C】I2C常见知识点整理
【I2C】熟悉I2C的传输时序。根据I2C的时序图,标出每段时序对应的含义
【I2C】在中断函数中能否使用I2C传输?为什么?
【I2C】I2C的传输速率有哪几种?如何设置?如何获取?
【I2C】移植/开发过哪些I2C外设?

SPI总线

【SPI】SPI常见知识点整理
【SPI】如何选择SPI的相位和极性?
【SPI】做过哪些SPI外设?

UART总线

【UART】UART常见知识点整理

PCIe总线

【PCIe】如何获取PCIe设备的BAR空间长度?

USB总线


网络

【网络】IP报文头部最少占多少字节?介绍一下 IP报文头部的字段
【网络】UDP报文头部占最少占少字节?介绍一下UDP报文头部的字段
【网络】请问ICMP是什么协议?处于哪一层?
【网络】请问ARP是什么协议?处于哪一层?
【网络】IP地址冲突会导致什么问题?
【网络】MAC地址冲突会导致什么问题?
【网络】能不能说一说 TCP 和 UDP的区别?

TCP

【网络】TCP报文头部最少占多少字节?介绍一下 TCP报文头部的字段
【网络】请简述TCP三次握手的过程?
【网络】请简述TCP四次挥手的过程?
【网络】请简述TCP_SYN泛洪攻击的原理,并阐述如何应对SYN泛洪?
【网络】能不能说说TCP报文中时间戳的作用?
【网络】TCP的超时重传时间是如何计算的?
【网络】能不能说一说 TCP 的流量控制?
【网络】能不能说说 TCP 的拥塞控制?
【网络】能不能说说 Nagle 算法和延迟确认?
【网络】如何理解 TCP 的 keep-alive?


嵌入式

位运算
请你描述uboot的编译流程
请你描述Uboot的启动流程
[请你描述Linux的启动流程]
使用过哪些文件系统?描述不同文件系统各自的优劣势


开放题

你觉得驱动最难的是哪部分?为什么?
说说你的三个优点和三个缺点


获取更多相关的笔试面试题,可收藏系列博文,持续更新中:
C语言|BSP开发|嵌入式软件|Linux驱动|笔试面试题汇总帖

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/200492
推荐阅读
相关标签
  

闽ICP备14008679号