面试嵌入式必看

笔试
现在去面试时,有些公司会先让你做一份笔试题。里面大部分的题目是C语言的题目,偶尔会有一点数据结构或者操作系统的题目。如果是嵌入式Linux可以会涉及一些操作系统知识和Linux指令,比如内存管理单元。如果只是单片机方面的,大部分都是C语言,C语言的题目一般和计算机等级考试的差不多。指针方面的需要重点复习一下。网上找一些练习一下就OK了,其实很多公司的题目也是网上找的。难度一般不会很大。

面试
面试的话,主要分为基础知识和项目经验。 嵌入式软件和一些纯软件开发(Android应用或者Java Web开发)不大一样,因为要涉及到一些硬件方面的东西。所以像一些纯软件的开发会问一些跟源码相关的问题,比如Android中会问Activity的启动过程之类的。但是嵌入式软件不一样的地方是它没有其他API接口,最多的API就是C语言的库函数了,但是不会有人去问你C语言中的某个函数是如何实现的。嵌入式软件要嘛直接让硬件跑起来,要嘛给应用提供接口。

首先是基础知识,第一是通信协议,比如TCP/IP, SPI, I2C, CAN, USB之类的,问一些通信协议中的基本概念,如果你会使用,基本都能答上来。这些协议之间的对比啊,也可以注意一下。面试钱最好复习一下这些协议,有时候面试的公司的招聘信息上也会写一些通信协议的要求,可以作为参考。第二就是跟使用的芯片有关了,比如公司要使用STM32的芯片,就会问一些STM32的知识了,比如最大时钟频率,时钟源,定时器(普通计时,PWM, 捕获),中断,IO口模式之类的。如果是Zigbee,就会问一些组网方面,比如有几种拓扑结构,网络地址之类的,都是比较基础的。 如果是Linux的,要注意一下Uboot的启动流程,Linux内核的启动流程,Linux进程间通信的方式,Linux第一个启动的进程之类的。这些都是比较常见的东西,当然不是绝对的。

接下来就是项目经验了,项目经验这部分肯定是重点,很多时候都是根据你在项目中做的东西来展开提问。这部分就要根据自己的自身情况了,做了什么就说什么,不要吹牛逼,除非吹的***确实也懂。项目一般是看你用来哪些东西,比如一些芯片的哪些外设,写了哪些设备的驱动,比如RTC, LCD, 温度传感器的驱动。如果是应届生,大部分会问你在学校做的项目,参加的比赛,你在这个比赛中扮演的角色,做了哪些事之类的,还会跟你谈谈职业规划。

上面的内容,仅供参考,基础还是很重要的,大家还是要注意基础知识的。

希望大家能找到自己梦寐以求的工作,未来可期!
更多学习交流可以私我维信:13260562029

猜你喜欢

转载自blog.csdn.net/weixin_42832780/article/details/92585010