不知道面试问什么?嵌入式50题

1,字符型驱动设备是怎么创建设备文件的,就是/dev/下面的设备文件,供上层应用程序打开使用的文件?
2,写一个中断服务需要注意哪些?如果中断产生之后要做比较多的事情你是怎么做的?
3,自旋锁和信号量在互斥使用时需要注意哪些?在中断服务程序里面的互斥是使用自旋锁还是信号量?还是两者都能用?为什么?
4,原子操作你怎么理解?
5,nsmod 一个驱动模块,会执行模块中的哪个函数?rmmod呢?这两个函数在设计上要注意哪些?遇到过卸载驱动出现异常没?是什么问题引起的?
6,在驱动调试过程中遇到过oops没?你是怎么处理的?
7,ioctl和unlock_ioctl有什么区别?
8,驱动中操作物理绝对地址为什么要先ioremap?
9,设备驱动模型三个重要成员是?platfoem总线的匹配规则是?在具体应用上要不要先注册驱动再注册设备?有先后顺序没?
10,linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些?
11,linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化,高端内存概念?高端内存和物理地址、逻辑地址、线性地址的关系?
12,linux中中断的实现机制,tasklet与workqueue的区别及底层实现区别?为什么要区分上半部和下半部?
13,linux中断的响应执行流程?中断的申请及何时执行(何时执行中断处理函数)?
14,linux中的同步机制?spinlock(自旋锁)与信号量的区别?
15、linux中RCU原理?
16,linux中软中断的实现原理?
17,linux系统实现原子操作有哪些方法?
18,MIPS Cpu中空间地址是怎么划分的?如在uboot中如何操作设备的特定的寄存器?
19,linux中系统调用过程?如:应用程序中read()在linux中执行过程即从用户空间到内核空间?
20,linux内核的启动过程(源代码级)?
21,linux调度原理?
22,linux网络子系统的认识?
23,linux内核里面,内存申请有哪几个函数,各自的区别?
24,IRQ和FIQ有什么区别,在CPU里面是是怎么做的?
25,中断的上半部分和下半部分的问题:讲下分成上半部分和下半部分的原因,为何要分?讲下如何实现?
26,内核函数mmap的实现原理,机制?
27,驱动里面为什么要有并发、互斥的控制?如何实现?讲个例子?
28,spinlock自旋锁是如何实现的?
29,任务调度的机制?
30,嵌入式linux和wince操作系统的特点和特性?
31,嵌入式linux中tty设备驱动的体系结构?
32,嵌入式设备,为加快启动速度,可以做哪些方面的优化?
33,USB设备的枚举过程?
34,PSRAM、SDRAM、DDR、DDR2的时序特性?
35,什么是GPIO?
36,触摸屏的硬件原理?
37,在Linux C中,ls这个命令是怎么被执行的?
38,在一个只有128M内存并且没有交换分区的机器上,说说下面两个程序的运行结果?
39,请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句?
40,LINUX下的Socket套接字和Windows下的WinSock有什么共同点?请从C/C++语言开发的角度描述,至少说出两点共同点?
41,请编写一个标准Shell脚本testd,实现如下功能:
42.你平常是怎么用C写嵌入式系统的死循环的?
43,写一条命令,实现在dir以及其子目录下找出所有包含"hello world"字符串的文件?
44,下面的两段程序中,循环能否执行?为什么?
45,一个计划跑LINUX系统的ARM系统把bootloader烧录进去后,上电后串口上没有任何输出,硬件和软件各应该去检查什么?
46,列举最少3种你所知道的嵌入式的体系结构,并请说明什么是ARM体系结构。
47,请简述下面这段代码的功能?
48,嵌入式中常用的文件系统有哪些?说出它们的主要特点和应用场合?
49,某外设寄存器rGpioBase的地址是0x56000000,寄存器的0~15位有效,请写出给外设寄存器高八位(8~`15位)设置成0xc3的代码?
50,如何编写一个LINUX驱动?

上述题目我会总结到我的专栏中,专栏地址:https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
#晒一晒我的offer##牛客解忧铺##设计人的面试记录##牛客在线求职答疑中心##面经#
全部评论
可以的 清晰
1 回复 分享
发布于 2023-10-26 14:57 江苏

相关推荐

上周组里招人,我面了六个候选人,回来跟同事吃饭的时候聊起一个让我挺感慨的现象。前三个候选人,算法题写得都不错。第一道二分查找,五分钟之内给出解法,边界条件也处理得干净。第二道动态规划,状态转移方程写对了,空间复杂度也优化了一版。我翻他们的简历,力扣刷题量都在300以上。后三个呢,就有点参差不齐了。有的边界条件没处理好,有的直接说这道题没刷过能不能换个思路讲讲。其中有一个女生,我印象特别深——她拿到题之后没有马上写,而是先问我:“面试官,我能先跟你确认一下我对题目的理解吗?”然后她把自己的思路讲了一遍,虽然最后代码写得不是最优解,但整个沟通过程非常顺畅。这个女生的代码不是最优的,但当我问她“如果这里是线上环境,你会怎么设计’的时候,她给我讲了一套完整的方案——异常怎么处理、日志怎么打、怎么平滑发布。她对这是之前在实习的时候踩过的坑。”我在想LeetCode到底在筛选什么?我自己的经历可能有点代表性。我当年校招的时候,也是刷了三百多道题才敢去面试。那时候大家都刷,你不刷就过不了笔试关。后来工作了,前三年基本没再打开过力扣。真正干活的时候,没人让你写反转链表,也没人让你手撕红黑树。更多的是:这个接口为什么慢了、那个服务为什么OOM了、线上数据对不上了得排查一下。所以后来我当面试官,慢慢调整了自己的评判标准。算法题我还会出,但目的变了。我出算法题,不是想看你能不能背出最优解。而是想看你拿到一个陌生问题的时候,是怎么思考的。你会先理清题意吗?你会主动问边界条件吗?你想不出来的时候会怎么办?你写出来的代码,变量命名乱不乱、结构清不清楚?这些才是工作中真正用得到的能力。LeetCode是一个工具,不是目的。它帮你熟悉数据结构和常见算法思路,这没问题。但如果你刷了三百道题,却说不清楚自己的项目解决了什么问题、遇到了什么困难、你是怎么解决的,那这三百道题可能真的白刷了。所以还要不要刷LeetCode?要刷,但别只刷题。刷题的时候,多问自己几个为什么:为什么用这个数据结构?为什么这个解法比那个好?如果换个条件,解法还成立吗?把刷题当成锻炼思维的方式,而不是背答案的任务。毕竟面试官想看到的,从来不是一台背题机器,而是一个能解决问题的人。
国企上岸了的向宇同桌...:最害怕答非所问了,但是频繁反问确定意思又害怕面试官觉得我笨
AI时代还有必要刷lee...
点赞 评论 收藏
分享
评论
5
53
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务