面试某企业的嵌入式软件工程师总结
一.填写基本资料。(感觉就是查户口那种类型)
二.笔试(40分钟)
1.题型:选择,填空,编程
选择:数组和指针的内容,结构体和联合体区别,结构体内存的对其方式,linux的简单命令, 链表的操作,宏代码块
编程:
1.写一个C函数,将给定的字符串转化为整形数。(自己感觉没有处理好)
2.最期待的题目来了:写一个简单的String类。(这个题目应该是满分的)
3.如何高效的求出一个int类型的数转化为二进制后有多少个位是1.(这个虽然没有深深的研究过,但是记得群里的大佬说讨论过,就用减1的那个原理来做的,应该不会太糟糕吧!)
面试:
四位面试官(都是男的,年龄应该都在38以上吧)
1:自我介绍
我就多介绍以前在哪家工作(以前的单位比较牛逼的),工作的内容是什么,我解决了什么问题,用的什么方法。一定要说效果还比较可以。离职原因(感觉这个很重要)。
2: 平时用什么语言,用的什么编译器,了解编译过程吗?
这时候我就要开始装逼了:我就说我自己使用测c和c++,用的是lin/win, 所以用的编译器不同。我更多的用的是linux(我的目的就是引导他问我linux的东西,win我不是很熟),这个是有就该吐gcc 了,然后就把唐老大给我们单步编程生成程序的过程给他来一遍,再时不时的说说每一步做了什么事。
3:c和c++的区别
这个我就回答了一个面向过程,另一 个面向对象,然后我就找了很多语法的不同,就是课程里边经常提出的那些(其实我也心里没有底,究竟该怎么回答)。
4:解释一下死锁,如何避免。
5:内存分配有那些,有什么区别
我就分c和c++这两个方面回答的,就是我们说的new delete malloc free的区别等待。
6:多态在是什么特性?
这个随便举个例子就可以了。下一问就是关键了.
7:多态是如何实现的?
这个解释起来有点不太好解释(其实我也不是很清楚),瞎扯了一会虚函数表。然后可能大概的说出来了吧,别人也没有继续深问。
8:了解哪些排序算法吗。说说基本原理,优缺点?
这就要数据结构知识了。知道的都说了,原理大概的介绍了一下,分析最最简单的算法,把时间发杂度,稳不稳定,为啥不稳定给他说出来。发现别人就不问别的了,其他的还没有解释就不问了。
9:什么是结构体数组?
我就问他是解释名词吗?(这是要挂了吧?怎么问这么简单的问题,有点不开心了。)居然是。
一句话解释清楚了。
10:小伙子你会Qt?
会,给上家公司做了什么项目,用了Qt,实现了什么功能(稍稍说的专业点,多说点)。
面试就结束了。(中间还有一些项目上的问题,都是与项目有关就如实告诉他如何解决的就可以了,这可能就与自己的经验有关了)。
人力资源:
自己的家庭情况,上家离职的原因,住在哪里,薪资待遇等待。(这个如实回答就可以了,薪资我没有做硬性要求,给了一个他们参考值)。
通知上机 :(5道题:抽签)
好担心,电脑就在边上,还是个win系统,用什么语言和不知道。
随便拿了一张,一看是约瑟芬杀人环。不怕了,就看最后要什么,果然是最后一个被杀死的人的位置。(我猜想你也会问这个)。面试官拿来了一张纸笔。婉言拒绝。请求换一个linux系统,我要展示我的命令行功底。(答应了)。5分钟解决。然后又和面试官聊了一会人生。握手送我走。5天后收到通过通知。
#面经##嵌入式工程师#