关于嵌入式软件开发面试是许多从事嵌入式软件程序员必须要经历的一道坎,能否顺利的通过这道坎,不仅仅需要自己扎实的嵌入式软件功底,也需要过来人的指导。下面我就根据我自身和他人的面试经历总结出关于在面试嵌入式软件时需要注意的地方。
首先大家要对自己简历上所写的内容要清清楚楚,不能含糊。因为考官在面试时主要从简历上提问问题。其次要准备简单的自我介绍,包含自己的基本情况、自己的项目经历以及在项目中自己的主要职责是什么,以及自己的实习经历。项目经历不要太多,1-3个但是一定要非常熟悉。另外在讲解项目时要注意画相应的框图,一方面是给自己思考的时间,另一方面是向面试官展示自己逻辑清晰,使他更易于明白。在简历上也要突出自己的亮点,比如可以用加粗来显示,同时也要加上自己的优势。将主要从C语言、linux软件以及其他方面方面进行介绍(包含技术面试和人力资源面试):
(1)C语言

1)关键字static、const、volatile的用法并举例?
2)typedef 与#define的用法及不同点?
3)什么是大小端?如何验证大小端?
4)结构体为什么要对齐?
5)位操作,比如让某一个寄存器的某一位清零,或者置1
6)指针数组、数组指针、函数指针?
7)内存管理:堆、栈、静态存储区?
8)什么是函数?设计函数时需要注意哪些地方?
(2)Linux
1)什么是进程、线程?进程和线程的优缺点?
2)进程和线程中的通信方式?
3)网络编程的接口以及客户端和服务端如何通信?3次握手过程?wireshark的使用情况?
4)字符设备驱动、块设备驱动、网络设备驱动的区别,讲一下相应的代码:主要讲的是字符设备驱动?
5)如何调试(包含应用层和底层)?
6)Linux操作系统学过吗?感觉如何,有没有了解过其它操作系统?微机原理呢?
7)Linux常用的命令?
(3)其他方面
1)单片机开发中有哪些比较重要?
2)单片机中的操作系统比如ucosii操作系统?
3)stm32开发中哪些比较重要?
4)做项目的过程中有没有遇到哪些难点,是怎么解决的?
5)最喜欢哪门课?最不喜欢哪门课?为什么?
6)如果一个任务周五必须完成,而到周三还没有完成。你准备怎么办?
7)自己的爱好、性格、家里面情况?
8)你对自己未来的规划?
9)有了解过我们公司吗?
10)期望薪资
大家看后可以自己先思考思考,不懂的可以上网查找。有什么疑问也可以在下方进行评论,后续我会就这些问题给出自己的答案供大家参考。
最后推荐几本书籍,有时间可以看看:<<C语言深度解剖-第二版>><<程序员面试宝典>> <<unix环境高级编程 第三版 >> <<Linux设备驱动程序>> 等。
更多精彩内容可以关注此头条号:嵌入式软硬件开发。喜欢的话大家可以“点赞”、“收藏”、评论或者“转发”,感谢大家。