很高兴来分享自己的嵌入式面试题和经验:
嵌入式面试题1,面试前的准备:
这是你基本能力的一种体现
(1)基本的C/C++语法。
(2)简单的数据结构及算法。
会简单的程序设计:如strlen、strcpy、strcat、排序方法、大小端及大小端转换、字符串计数、字符串逆转、查找子符串、单双链表、设置位和清位。
理解一些简单又经典的算法思想:如多次问到的快排思想,当然再了解点最小生成树、红黑树(真被问到了)、二叉树、深度和广度优先搜索算法(了解,问起来知道就行了)等就再好不过了。
(3) 一定要准备几个能说得不错的例子(关键)。如面试底层,就要知道字符设备驱动框架、I2C驱动(I2C寄存器配置、时序、模块及各模块作用、在linux平台下的自己写的驱动代码、设备树、mpu6050配置及工作原理等),了解spi、pci等驱动框架(属于自学,考查自学能力)。还有一个也常问到:用户态与内核态。
(4) 对于应用层。UDP与TCP的区别(常问,最好能说得深入点)、进程与线程、IPC(最常问共享内存、消息队列、socket)、互斥与竞态、C++中的STL。
有了这些知识做一定铺垫,我们在面试中就可以从容许多。
(5) 项目中遇到的问题及解决过程和结果。
嵌入式面试题2,测试题:
这是我们给企业的第一印象(企业考查新人基础最常用的一种方式),也是我们进行接下来面试一封最好的介绍信。因此,测试题相当重要,对于中等难度的题目,我们最好能做70%以上,最后不会做的,一定要有自己的思路和想法,以便我们在接下来的面试中提及时也未必是一个亡羊补牢的好办法。
嵌入式面试题3,技术面:
对于技术面,一般最好保持严肃、谦虚的态度。
(1) 听清问题再答。听清面试官的问题理清思路再答。因为毕竟我们是新人,有可能面试官提问的问题中会有一些从未听过的专业术语(正常)。当没听清楚时,可以直接问他,切记不要问题还没听懂就说个不停,这个时候面试官会认为你不会。(我确实遇到过)当我说完时,我不禁从面试官的脸上看到了三个字:呵呵呵(多么痛的领悟)。
(2) 敢于说嘛。对于自己的确不会的问题,我觉得完全可以说不知道,我觉得这也是一种学习的态度嘛。毕竟我们是新人,的确懂得不多。(不懂,说明我们还年轻,说明我们还有很长的路要走)。但切记不要不懂装懂,在那里瞎扯。面试大忌。切记切记。其实我觉得如果真是一个老工程师面试,那可真是火眼金睛的,当你说第一句话的时候别人就知道你想要说什么了,的确很厉害!与其让别人识破,还不如让自己说破。可千万不要学我,自己刨坑,然后别人拿你的错误让你解释,我就是解释100遍也说不清。(血的教训啊,亲!)。当然,有些公司可能会很忙,面试的人也比较年轻,甚至自己说的他也听不懂,这个时候嘛,你懂的,你就可以说得高深点哦(毕竟机会不多),不过注意态度还是要比较谦逊点(因为我也遇到过,自已自信满满的在吹SPI总线,结果说完发现自己说的是PCI总线,所以我来了句,哦,我刚才说忘了,这是PCI总线。结果他也来了句,哦,不是SPI啊。哈哈,不知道怎么办了吧)
(3) 回答要有深度(个人觉得最重要)。
其实许多东西我们都可以不知道,但是对于我们知道的东西我们一定要答的有深度。我觉得这也是技术面的制胜法宝。对于每天面试的人来说,说的大概都差不多,但如何能从一个表象的问题去理解它的本质、机制、原理。如注册i2c驱动函数module_i2c_driver(),不是说驱动的注册是用module_init()吗?这不就矛盾了吗?。因此,我觉得懂没懂没有什么大的关系,但对于懂的,我们一定要达到深层次的理解(如I2C)。所以,技术面是深度的考验而非广度的考验吧。 还有一点吧,对于我们准备的例子没有问到怎么办?其实我也遇到过吧,比较自己准备了i2c,别人却问你spi、字符设备驱动怎么办,我一般就直接说,我对i2c比较熟悉,我还是说下i2c驱动吧,基本上都不会有问题。
嵌入式面试题4, HR面
HR面试的话,可以比较经松点,压力也小了不少。主要以聊得投机为主吧,聊得来那就基本上会过,HR问的问题一般比较灵活,回答也基本上没有对于错之分,只要你自己说的有理,说的对就没什么大的问题吧(我也很少遇到过)。个人觉得HR考查的更多的是个人的素质方面,我问的最多的总结如下:
(1) 我之前的一个工作历程或学校的课程或项目。
(2) 未来的发展方向:主要有两个方向,一个是未来的城市选择,二是个人的职业发展规划。
(3) 抗压能力。加班问题,基本是每个IT公司都会提及的一件事情,对于新人,默认就行了,没什么可谈的。
嵌入式面试题5, 谈薪酬。
对于薪资呢,我这人也比较直接吧,我觉得价格你可以要得高点,直接要,没关系的,因为我觉得这也是每个人生活的必须品,甚至是许多人工作的目的,甚至是奋斗的目的,哈哈,要得高说明你的目标远大嘛。当然,这是你自己对自己能力的自信和认可。至于给不给,我们就管不了那么多了。不过一般公司按照工作经验都会有严格的薪酬制度,基本上不容许你讨价还价吧。笑笑睡吧!
嵌入式面试题6.,投递简历。
我虽不建议大家每天几十份简历的往外投,但也不建议那种有就业老师,然后自己就没什么压力了的那种想法。在投简历的时候大家一定要清楚自己真正到底想做什么,大家也不要鄙视应用层,其实应用层的人需求量更大,发展空间也比较大。大量的投递简历,一来如果接到电话多真没时间去面;二来如果去的话是自己不喜欢的工作还浪费时间和车费和精力。三是如果面试不上还会打击自己的积极性。大家可以在网上先搜岗位,再查看岗位简介是不是自已想要找的工作。再看下这家公司的简介(包括公司的规模、主营产品、公司发展历程等多方面的了解),如果感觉不错,再开始投。最好记录下投递过简历的时间及接到电话的时间及面试安排,这样一来可以根据从投递到接到电话的时间同大家比较,再根据情况修正自己的简历。二来当有电话约自己面试时,提及公司名时自己还有了解,而且印象还不错。禁止别人找来电话时好像还很陌生的样子,自己都不知道是自己投的还是别人主动联系你的。三来面试安排可以让自己有条不乱,合理安排自己的时间,避免面试冲突带来的不必要麻烦。
上面提到的几点嵌入式面试题仅是我个人的嵌入式面试经验,在华清远见星创客培训嵌入式的日子里,我的导师教会了我很多,使我变成今天的自己。最后,也希望现在的自己,以后的你们,能找到满意的工作,祝大家在程序员这条路上也越走越远吧。