面试实战问题汇总

1)C/C++
static作用,变量加入static以后在内存中存储位置的变化
volatile作用
C++为什么有指针还要引用,为什么不和JAVA一样抛弃指针
delete和delete[]的区别
虚函数是用来干嘛的?虚函数机制怎么实现的?虚表指针在内存中的存放位置?
C++多态怎么理解?C++有哪些多态的典型例子?
叙述程序编译都包含哪些阶段,每个阶段干了什么?
CMake是如何包含文件目录的
全局变量和局部变量在什么地方?堆栈如何申请资源?
C语言编译后的内存分布
连续调用同一个函数两次,它的局部变量初始化结果是否会一致?
静态局部变量存储在静态区,那么静态区的创建和消失是在什么时候?
在windows里面运行了多个进程,其中一个进程执行完了,它的静态区会如何处理?
静态局部变量与局部变量的区别?为什么局部变量未定义时,每次初始化的结果是不确定的?是个真随机数还是个伪随机数?
嵌入式中栈的工作机制是什么?
struct字节对齐了解么?
容器了解吗?vector实现的机制是怎么样的?
迭代器有了解吗?讲解一下你的理解
内存分配函数了解么?如果系统中只有10K内存,而我要分配12K,能分配成功吗?如果能,那么将分配到的区域用memset进行初始化,会成功吗?
2)处理器架构
51和32架构的区别
MCU可以运行Liunux吗,为什么
STM32启动过程(上电开始->main执行的过程)
中断响应执行流程,中断上下文指的什么,保存中断上下文是完成的什么操作,以STM32为例,都有哪些寄存器被保存
STM32 F1和F4的区别
Cotex-M系列使用浮点运算对STM32中断效率会产生什么影响
STM32常见寄存器:R13(SP,堆栈指针),R14(LR,连接寄存器),R15(PC程序计数器)作用
什么是大小端模式
3)操作系统
Freertos支持的任务调度方式,详细说下每种方式
任务(线程)间通信方法
进程和线程的区别
互斥量和信号量的区别
优先级翻转,如何避免优先级翻转
STM32任务切换为什么用PendSV
FreeRTOS的内存管理怎么实现的?为什么这么做?
对于临界区数据的处理,使用互斥锁和自己通过条件来判断,哪样更好,为什么?

最后呢祝各位同学工作顺利,关注我分享更多面试知识,嵌入式c++的同学可以看一下大佬总结的面经
全部评论

相关推荐

3 5 评论
分享
牛客网
牛客企业服务