更多课程 选择中心

嵌入式培训
达内IT学院

400-996-5531

一位嵌入式软件工程师面试的全部过程和吐槽

  • 发布:嵌入式培训
  • 来源:嵌入式职场
  • 时间:2018-03-09 14:31

一面:

面试形式:一个技术官对一个面试者,对坐(个人猜测,应该是项目负责人,不是底层的一线开发人员)

请来一个简短的自我介绍--(上面的自我介绍,但因为一开始稍微有点紧张,没有很流利)--嗯,之前在创业公司里面担任什么工作--嵌入式软件工程师--嗯,那具体做过什么项目呢--两个,“读卡器”和“吊扇”,读卡器是两块stm8芯片,一块主控一块存储秘钥,外接一个fm17520芯片读取非接触式ic卡,主控通过iic访问存储芯片,获取相应秘钥,校对正确后,ic数据通过spi回传给主控,主控通过uart制定的通信协议传给pc

usrt的波特率,你设置了多少--9600,不能太快,之前尝试过使用115200但后来改掉了--太快会怎么样(面试官笑了,个人认为有两种:这个问题面试官也知道,说明是个好问题;这个问题明显是装逼装出来的,面试者你就瞎bb)--会造成数据丢失--为什么会数据丢失--这点我现在还没有想明白,那时候是通过询问公司里面的师兄得知的,我是发现了这个问题(链接)(个人猜测:usb转uart芯片的传输速率限制、uart并不能真正达到这个速率)

嗯,那这个项目,你用什么语言实现的(我擦,大佬,我还有一个项目你没问啊)--C语言,毕竟是裸板,C是最好的选择,现有库,芯片提供商推的IDE,都是原生的C环境,用C最适合。

IO口有多少种工作模式--输入输出两种,输入里面有有无中断两种,各自又有浮空上拉两种,输出有推挽开漏两种

讲一下中断的概念--上操作系统的吗?--嗯~~~,你就直接讲中断概念就可以了--根据用户预先设定的使用场合,满足中断响应条件、正确的中断源、已经提前编写中断服务子程序,中断尽可能地写地小、短、延时低(翻水,回答有点乱),不要能使用全局变量(面试官笑了,个人猜想是:可以,不过不全对),噢不对,可以使用全局变量,但这是根据用户使用场景决定,但尽可能地不要使用全局变量。(面试官才点了点头,感觉这个补刀可以有)

嗯,那你能说一下死锁吗--死锁有四个条件,互斥(第一个忘记了)、占有且等待、不可剥夺、循环等待,四个条件同时成立,就会造成死锁--嗯,那你说一下进程与线程的区别,当时没有完全回答出来,50%-60%吧--嗯

嗯,那你实现一个算法:将一个十进制的数转为十六进制--请问,这个十进制的数有多大(面试官听到就笑了,两种:这个家伙不错,考虑周全;尼玛还用问吗,都说一个数咯,什么可能都有的呀)--嗯,你自己估计--很大的数吗?--嗯,有可能,也坑内是很小--哇,爆炸(当时好像是直接这样说了)(最终没有完全写出来,但是把所有的情况和关键的转换子函数表述或写出来了,面试官表示认可)

二面:

面试形式:一个技术官对一个面试者,对坐(个人猜测是技术总监,毕竟下面问的问题,直接见血)

请来一个简短的自我介绍--(上面的自我介绍,已经很流利了)

什么样的创业公司--社团师兄创立的--不是,告诉我公司名字--广州xxxx科技有限公司,(当时实际上是忘记的)--做什么的--做智能家居的,(我擦,实际是做智能硬件的,紧张回答错了)

嗯,介绍一下“读卡器”这个项目--用了两款个stm8芯片--(马上被打断)为什么使用stm8--因为价格、资源已经可以满足这款产品的所有功能的实现--用到了什么资源--定时器、看门狗(但是没讲)、协议接口(iic、spi)--用到什么协议--iic、spi--iic用的速率是多少--标准的100khz--真是有100khz吗--额(一时间没能想到,但也继续讲下去了),是没有的,尤其像模拟iic,这肯定是没有,但我这次使用的硬件iic,它的速率不会有太大差距。我之前做的时候没想明白,但后来想明白的时候已经是大二下学期了,没有设备让我测试。

好,如果,现在有一个需求,让你设计:从设备主动发起一个信号,主设备来响应,因为iic的通信只能是主设备发起,你怎么来设置(这其实是面试官提示)--可以主机上面做一个循环,间隔1ms/10ms发送一个请求信号,相当于握手命令,也相当于在iic协议上面搭载一个用户协议--(面试官霎时间笑了)那你这样多浪费呀--额,对,确实是挺浪费的,那请问,从设备有多少个--未知,你来设定--全部参数都由我来设定?--(面试官没有回答,但肯定地点头了)--(过了10秒钟,可能比这个还少,面试官已经知道我回答不出来了,直接下一个问题了)

那你之前这个功耗是怎么去控制的--降低芯片频率--将到多少--2MHz--然后关闭time、adc,因为这两个在运行过程,都有1点多ma的电流,也会进入halt模式,这是最省电的,同时也要将io口设置为输入浮空,除iic两个引脚外--为什么是输入模式--因为在实际测试过程中,输入浮空最低的,输出的时候有800uA--不是,你还没回答我的问题:为什么是输入浮空时,电流最低--额(翻水,我才明白他要的是理论,也就是公式等去证明),因为输入的时候不需要供电,所以无需消耗能量。--嗯,(面试官,面无表情地嘲讽着我这菜鸡:你就吹,我听着)

最近有研究什么吗--最近在弄一个视频编解码/流媒体的东西,芯片用海思、使用rtmp推流--用什么编码--h.264/h.265--

linux学得怎样--基本的命令、操作没问题,最近正在弄一个进程间通信-循环缓冲--为什么样用循环缓冲区,循环缓冲区是怎样的,是环形的吗(这位技术)--因为要把编码后的码流通过rtmp推流到服务器,所以需要建立一个通信区来交换数据

告诉我,这段代码的运行结果是什么--无定义--无定义是什么意思,输出无定义三个字吗

你写一个可以编译通过的strcpy,返回值是char *,注意,是需要可以编译通过的,请注意错误处理。--my_strcpy--你这里面,实际上,获取的是一个零,因为用户往往输入的是一个dest为空的指针,所以造成下面的条件都不成立,思路错了,下面都错。--这里面,如果条件不成立,你就直接不复制了?那实际上还是可以复制一部份的呀,这里面,你应该问一下我,是否需要复制,或者丢弃。--嗯,假设上面都正确,但现在最终返回值也是不正确的,不能够得到一个正确的值,想一下,告诉我,为什么

你之前参加比赛,你是怎么跟队友合作的--嗯,首先他们信任我--哈(会心一笑),这是必须的,但是,信任是有条件的、有前提的--嗯嗯,我知道,但我们是同一个实验室的,我们一起生活--哈(会心一笑),一起生活不代表着信任,相互信任是不能以生活来判定--嗯嗯,确实,但是他们知道我一直都在实验室,并且一直都在学习,而且方向是嵌入式软件

嗯,那今天的面试就到此为止吧,你还有什么问题要问我吗?--嗯,我想问一下,cvte里面优秀员工的效率是怎么样的,因为我最近也在思考这个问题,想要提高我自己学习的效率,所以我想问这样的问题--我不知道你为什么强调效率这个问题--因为我想更快更好的解决问题嘛,工程师的工作都是在解决问题,我想要掌握更好的办法--嗯(暂时不明白他为什么还要表示承认我的观点),但我不是很赞同你所说的高效率就是好的,相反,按我经验来说,往往造成我们效率低的,正是因为质量不过关造成效率低的,所以的话,我认为质量才是第一位的--嗯嗯,是的,我正是这个意思,在确保质量过关的情况下去提高我们效率--嗯,那没有别的问题了吧--是的--好,那今天晚上8点后就会有结果,面试结束--嗯呢,好的,谢谢您(瞬间装逼)

HR面:

面试形式:二个HR对三个面试者,对坐

请告诉我你的手机后四位?

昨天的面试,感觉如何,给自己评个分,满分10分,为什么?

请告诉我,你的理想是什么?

你父母的性格是怎么样的,你觉得你更想谁?

父母对你有什么期待?

你最佩服的人是谁?

宿舍有什么事情,不一定要讲舍友?

工作地点、工作时间、工资?

如果面试不通过,你怎么办?

你最不喜欢的一件事情是什么?

除cvte之外,你还想去那家企业?

嗯,面试结束了,有什么疑问吗?

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:人工智能崛起带火嵌入式,现在学嵌入式会晚吗?
下一篇:2018年学习嵌入式开发还能拿高薪吗?

0基础没编程经验能学嵌入式吗?

2020年软硬件有什么值得学习的新技术

嵌入式怎么样?一起来看以下嵌入式待遇!

给嵌入式初学者的五个建议

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省