- 2019-参加过的嵌入式笔试题目和解析分享
- 电话邀约面试的时候(千万不要像第一次接到电话):
- 是可以和面试官商量时间的:竟可能将时间往后推,方便对复习有利;
- 除了地点、时间、采用何种方式面试;侧面询问面试考察的方面,以及面试的流程。
- ARM 体系结构的介绍?
- ARM体系结构下的MMU如何实现映射?
- ARM通过几级页表实现存储空间映射?
- 四大CPU体系结构:ARM、X86/Atom、MIPS、PowerPC
- MIPS 体系结构cpu地址空间划分
- OS无锁可以提高整个程序的性能,但是CPU需要对此提供支持,请以x86/ARM为例简述
- Linux 多任务, 进程, 线程,协程之间的关系?进程和程序的区别?
- Linux查询进程和线程数量?
- Linux产生僵尸进程的原因?
- OS 进程间通信的7种方式?通信为何需要内核?
- OS 如何实现进程间上下文切换的机制?
- OS进程调度的算法?
- OS 内核进程调度函数schedule()的触发和执行时机?
- ISR的定义?中断ISR处理过程的描述?
- Linux中断分层和中断嵌套的概念?软中断实现的机制?
- Linux中断信号源软中断, 软件中断 和硬件中断的区别?
- 软中断和函数调用区别?
- Linux进程上下文切换 VS 中断上下文切换?
- 缺页中断和中断的区别?
OS同步和异步
- 概念 -- 并发和竞态?阻塞和非阻塞I/O?同步和异步I/O?
- I/O的五中模型?AIO的实现机制?
- OS中实现原子的操作?多种锁的区别?自旋锁和互斥锁?
- RCU(读-复制-更新)的原理?
- linux内核中的 自旋锁 和 内核信号量?内核信号量和用户空间信号量?
- OS 同步和互斥四种方法?临界区/互斥量/信号量/事 件?管程()?
- Online Judge: 实现通过循环队列实现循环缓冲区.、
-
- 内核空间的划分?高端内存定义?
-
linux内核空间中内存分配?linux 多级分页目录结构?
- DMA的原理
- C程序在运行的内存分配?五个段占用的空间大小?
- C函数strcpy,memcpy,sprintf, memset区别和具体实现
- OS内存字节对齐 pragma pack()用法详解?
- 32位/64位的系统中, 各自的sizeof()是多少?
- OS大端和小端存储问题?OS如何判断并进行转化?
- OS 嵌入式系统**享资源的访问限制?
- U-boot 和 Bootloader引导内核的启动
- ARM结构下,Uboot如何给kernel传参数
- Linux内核启动流程?
- linux中netfilter的实现机制?是如何实现对特定数据包进行处理(如过滤,NAT之类的)及HOOK点的注册?
- Linux抽象出framebuffer这个设备的作用?
- linux两种错误:kernel panic 和 Oops段错误信息?
- linux 7种文件类型?
- linux文件系统的目录结构,选项是/usr、/tmp、/etc目录的作用?
- Linux的具体的命令, 文件和目录的5个操作命令?
- Linux虚拟文件系统VFS的关键数据结构有哪些?VFS支持多文件系统互通?
- Linux 内核中常用的两个宏定义?offset 和 typeof?
- Linux内核的五个子系统?
- linux内核版本号,编译器gcc版本号
- echo 重定义 和 grep 正则表达式匹配?
- Linux 文件和目录的权限?umask与文件目录的权限关系?
- Linux读取某个文件的某一行或者某几行, 使用sed
- Linux 磁盘整体情况
- Makefile文件的编写?
- linux内核裁剪的方式?
- [tar解压一个压缩包,并将原先文件里面的内容覆盖?]
- [find 命令的详解?在指点时间内查找修改过的文件?]
- [Linux下定时执行脚本?]
- 实时操作系统和非实时操作系统特点和区别?
- OS多任务嵌入式系统中,bit 运算
- 地址访问----嵌入式系统中,访问固定的内存地址?
- 地址的跳转 ---- C 通过函数指针,实现程序跳转到绝对地址0x100000处执行?
- 单片机应用程序存放的位置?单片机应用程序的三种架构?
- IGBT是什么控制性原件?
- 看门狗程序是为了溢出而设置的复位点,放在哪个位置?
- 单片机中程序计数器PC是16bit,其寻址范围是多少?
- 预处理器标识#error的目的是什么
- C 程序编译链接的四个阶段?静态库和动态库的编译链接?
- C函数中参数传递,参数返回的过程?
- C函数参数传递的三种方式:传值, 指针, 引用?为什么要使用指针?
- C : 当char类型变量进行赋值时, 超过其范围时怎么处理?
- C: 有符号的变量(负数)和无符号的变量(正数)相加?原码, 反码, 补码的理解?
- C: 中关键字的种类?什么阶段使用?各自的用途?
- C中全局变量和局部变量可以重名吗?
- C 不同变量的生命周期?
- C中常量的表示和定义?
- 指针?数组?函数?指针数组,数组指针?函数指针数组?指针函数,函数指针?
- C 运算符的优先级?单目和双目运算符区别?
- Token划分,自加运算符++?C什么是左值,什么是右值?
- 如何理解标准输入输出函数:stdin stdout stderr
- fprintf and sprintf
- 如何写C嵌入式的死循环
- C: 如何实现一个数的四舍五入?
- 对于一个频繁使用的短小函数,c/c++用的什么?内联函数?
- [行优先存储和列优先存储?]
- [break用的地方?]
- [四种方法跳出多层循环?]
- [extern 作用的详解?]
- [C中的逻辑类型和集合类型?]
- [adc采样中的两个滤波器的作用?]
- [解释DH协议的工作原理?]
- [关于find的查找命令正确的是?]
- [linux下有哪些通配符?]
- [函数重载的问题?]
- [线性表用数组表示,假定删除任意一个元素的概率相同,则删除一个元素平均需要移动元素的个数?]
- [C++ std::string 的编码格式?]
- [make_shared 的用法描述?]
- 常用的设计模式?
- [抽象工厂模式的理解?]
- [观察者模式和发布/订阅模式的区别?]
- OSI七层模型的协议?TCP/IP五层模型的硬件设备?路由协议?
- TCP与UDP的区别?TCP三次握手和四次挥手?TCP数据分包?
- UDP如何保证可靠传输?基于UDP实现TCP?
- TCP/IP物理层的具体内容是啥?
- DNS服务器是如何工作的?
- TCP,HTTP,HTTPS之间的区别和联系?https怎么保证安全的?讲讲数字签名的过程?
- 建立Socket连接过程?--基于TCP/UDP
- IGMP :组播中的MAC地址?
- sort -- 排序算法的介绍和时间复杂度
- Dijkstra最短路径算法的描述正确的是?
- tree -- 树和二叉树的相关考题?二叉树的度?二叉树描述?
- tree -- B, B-, B+树的定义,特性,联系与区别(红黑树)
- list -- 为一个链表设置一个head和tail, 链表的操作哪一个和长度相关?
- list -- 哪一种数据结构, 只能顺序访问?
- Graph -- 图的表示和存储
- 数据结构中堆、栈和队列的理区别?
- n个元素入栈后,出栈的方式有多少个?
- 神经网络中引入非线性能力的是?
- [CNN的介绍]