嵌入式软件第一次面试有记

        昨天下午的面试,今天抽空过来写点东西以表怀念。

        首先说明下结果:面试没通过。面试的是一家深圳的科技公司,岗位是嵌入式开发工程师。

        由于各种因素我只能在线电话或者视频面试,就在秋招快要结束的时候我接到了第一份电话面试通知。面试时间约在下午五点,好巧不巧正好那个时间点有课,然后就逃了一节课回寝室准备面试。我先在网上找了一些嵌入式方向面试的有关事宜看了看,说十有八九刚开始会有一个简短的自我介绍,我就准备了一下自我介绍(这个不宜太长时间约3-5分钟即可,基本情况尽可能的不要太繁琐,一句话介绍完就行。接着重点说一下自己做过的项目、参加过的比赛、获得过的奖项、荣誉等。也可以说点简历上没有写的在校活动、获得过哪些荣誉等。最后需要有个结尾或者是把话题转给面试官(自行百度)。)我还看了网上的一些嵌入式的基础面试题,想着电话面试不可能让你画个序列图或者让你写个几行代码,所以我就侧重于基础知识的准备,例如单片机的UART、SPI、IIC、DMA这类和C语言的关键字、数组、结构体、链表这些。由于他的招聘信息上没有操作系统的要求,所以我就没看(事实上我还不会操作系统,目前正在学习RTT)。准备了这些之后看到网上也有说面试官会问到做过的项目,我就大体捋了一下思路,我的项目本来就不多,想着都是我自己做的,项目上面应该没问题。大体准备了这些后离面试时间也不多了,我就刷了会儿视频,平复一下心情等待面试。

正文来了:

        接到电话。

A:喂,你好,你是XX对吧。

B:嗯,你好,是的,我是。

A:我们今天约了个电话面,你现在有时间吗?(本来约的前一天五点,然后当时五点四十接到电话我要去上课所以又约了第二天五点)

B:嗯,可以。

A:可以是吧,嗯,那我今天主要进行一个简单的技术面。你先三分钟自我介绍一下。(果然有自我介绍)

B:您好,。。。。。。(照着提前准备的自我介绍念了一遍。这个没有准备好,念的时候有几个地方不连贯)

A:好的,那我们就先聊一聊你的比赛吧。

        然后就只聊了比赛。从开始的一个队三个人的任务分工,到软件的怎么设计(这个我现在还没弄明白他想问什么)。接着我就完全跳进了自己挖的坑里面,并且越跳约越深。

(我挑重点的说,其他的就先省略了)

先是说电赛,我们做的是只允许用TI主控的无线充电小车。

B:因为低功耗我们选择了TI的TM4C123G这款核心板

A:为什么选择用Cortex-M4的内核?(当时我就蒙了,这怎么说。总不能说不知道吧,然后我临场发挥、瞎几把说吧)

B:因为TI常用的有这个和那个MSP430,我们实验室有这款板子,比赛的时候东西不好买,就先用了这款,然后我们又买了430的(这时又给自己挖了个坑)。

A:那最后为什么没有用430的板子呢,是出于哪方面考虑的?(这是要把我问死的节奏,我就接着扯)

B:其实这两款板子的性能都差不多,因为我们刚开始用的123G那款的代码都是在那上面写的,等430回来的时候时间不够了,所以我们就用的那一款。(佩服自己真能扯)

A:哦,时间不够,但是430的要比这款功耗低很多。

B:不不不,这款板子的功耗也很低,他们都属于TI主打的低功耗板子。(其实我也不知道他们功耗哪个更低,我只知道TI的芯片是有出了名的低功耗。这个回答的不好,面试的时候无论如何都不能否定面试官)

A:嗯是这样的,你这个题目要求是低功耗,有实测过他们的功耗是多少吗?(What?     好吧,承认自己确实菜得一批)

B:我用的时候查过资料,他的待机状态应该是5MA或者是3MA。(这个结果是错误的,这点我确实记不大清楚了,只知道功耗很低。)

A:这个在正常工作的时候你实测有没有测过功耗是多少?

B:这个没有。(好吧,手动狗头,功耗到此结束)

A:没有测过,OK,那你还说一下你软件框架是怎么设计的吧,你是跑系统呀还是跑裸机?(其实这时候就知道凉了,问的问题都答不上来)

B:这个没用操作系统,跑的是裸机,因为这个题目对软件要求简单,主要是一个动态充电硬件的系统,软件方面实现一个循迹的功能,我们用的就是红外模块数字改模拟的循迹传感器,基于他的库用了六个传感器归一化进行循迹。(这个完全驴头对不上马嘴,软件框架我得好好查查看。同时又有个坑了。幸好他还没问我动态充电、自启动这些硬件问题(嵌入式要软硬件兼备的)不然又唧唧了)

A:归一化,归一化是怎么弄的呢?(他应该是想听具体实现的算法,所以听到归一化时他就具体问了)

B:归一化就是一个差比和的形式,为了让他的精度更高一点。让他两边的传感器数据更加对称。

然后又具体问了归一化怎么实现,我回答的还是绕着差比和说的。这块真的是傻逼,面试完我一想,完了,这么大的知识点搞错了。注:我做比赛的时候归一化是从别人那移植过来的代码,虽然当时看懂了也理解了,但是印象却不深刻,当问到又没有准备的情况下就忘记了。这就说明我们要对自己说的每一句话负责任,不要自己给自己挖坑。

接着又从归一化谈到另一个比赛,因为我说用归一化是因为在上一个比赛中用的,这个比较好用就没有用其他的方式。(狗头)

写不下去了,基本上问的都回答不上来(<^_^>)。

下面的说重点吧,回答的一塌糊涂。

A:主频是多少?(比赛用的单片机)

B:母鸡。。。

A:都跑了什么线程呢,这上面?

B:裸机

A:那都跑了那些应用呢?

B:电磁循迹,数据处理。(又傻逼了,其实这个问题能回答很多的,当时脑子抽风了都不知道该说什么)

A:我们说下细节,这上面都跑了哪些控制环路呢?(这时候傻不啦叽的不知道什么是控制环路,让人家解释了一下。解释如下:就是你跑了哪些控制算法,控制周期、控制频率都是多少。听到这才明白一点)

B:电机、舵机,PID。

A:PID参数整定?增量式、位置式输入输出等等。

B:吧啦吧啦

A:电机的主控(这应该是驱动)是自己做的吗?有没有做检流?          只做了速度环没有做电流环?

B:。。。

A:电机的输入输出?输入的速度从哪得来的?调PID的时候三个参数都有用吗?(PID三个参数的作用)

B:。。。

A:舵机的控制带宽?

B:母鸡

A:电机的PID三个参数都调了吗?

B:。。。(又自己作死的扯到模糊控制)

A:模糊控制的隶属度是怎么测的?你理解的模糊控制?

B:吧拉啊拉

A:这边没有其他问题了,你看你有没有其他问题要问的?

B:。。。(知道这块不能说没有,就随便问了点)

后面这点写的太粗略,因为回答的实在是太烂。问的问题基本都写上了。

这个面试主要是围绕着你说的问,可能会逮这你的某一句话里面的一个词一直问下去。总之,这次的面试虽然没有通过但是却让我收获巨大,也知道自己菜的一批,自己做的东西都没有完全搞明白。在准备的时候就没有对所做项目这块花时间,结果全栽到项目上来了。

你可能感兴趣的:(嵌入式软件第一次面试有记)