嵌入式学习一些小建议和学习参考资料(个人推荐)
可能不太全,后续想到会慢慢补充 !!
1、笔试题
嵌入式开发笔试题主要由三部分单选、多选和编程题(一般都是1-2道编程)
对于编程题,一般嵌入式岗位的编程题都是中等难度以下(除了华为、美团、中兴等一些大厂的嵌入式和软开难度相当),刷题推荐代码随想录,刷2遍应该可以应付嵌入式开发百分之90的算法题;虽然嵌入式开发主要用C,但是编程题用C++可能更加方便,C++的数据结构要熟练使用vector、string、栈和队列及相关成员函数;
嵌入式开发的选择题语言主要考C和C++(一些公司会掺进去python、java和mysql不太理解),经常考数组、指针、结构体和联合体内存对齐、字符和字符串;C++就是三大特性封装、继承和多态(重载重写和虚函数),友元函数。网络编程经常考tcp和udp的区别,7层模型各个层的相关协议和应用。操作系统考linux进程间通信方式,进程和线程的区别与联系,一些常用的linux终端命令和系统调用API接口,虚拟内存,MMU,cache等。
2、面试
准备面试题最高效的方式是看面试公司的面经,去牛客或者CSDN搜索对应岗位的面经,根据多篇面经去总结常问的问题,不然单纯的去背八股效率过低。
一般问的最频繁的问题就是:
(1)几种通信协议的差别,这个可以在我专栏中有总结。
(2)实时操作系统的相关问题任务调度原理、任务栈分配、内存管理、任务间通信、互斥访问全局变量(互斥量和信号量区别)、优先级反转等等。
(3)单片机如stm32的启动流程和三种启动方式,内存分布和加载,片上资源,Keil-MDK编译输出的:Code-data,RO-data,RW-data,ZI-data,GPIO的工作模式(开漏和推挽的电路原理和应用场景),处理器发生中断或者异常要进行哪些动作,16个通用寄
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
7年嵌入式软、硬件开发经验,分享嵌入式软件开发相关资料,简历、工作、技术支持!!!