嵌入式实习面试内容

电话那头两个人:HR和技术部门
先让我做个自我介绍:

  • 您好,我叫xx,今xx岁,现在是xxxx。对软件开发很有兴趣,熟悉掌握C语言,且熟悉面向对象编程思想,了解java语言。使用S3C2440和STM32单片机和安卓工控屏开发好几个项目,例如:基于S3C2440嵌入式linux的GUI文件浏览器,基于stm32和android系统开发的充电桩功率检测装置,已经用于生产中。拥有一定的实践经验,任然觉得经历尚浅,希望通过这次实习,为您提供一份力量和提升自己技术。

详细介绍一下你做过的项目

  • 功能:搭建linux系统开发环境,编写应用程序,在S3C2440上使用,通过LCD浏览文件,查看电子书、图片。
  • 原理:根据使用Freetype库和libjpeg库将字体和图片进行进行编码和获取位图,再将位图放到显存上,LCD控制器会将显存数据发送到LCD屏幕上。
  • 代码框架:分为几个模块,编码模块、点阵模块、显示模块、输入模块、页面显示模块

独立开发整个项目么?你主要负责那一块?还是参考什么资料写的代码(竟然不相信我能独立写出整个项目)(实际上是边看视屏边做的)

  • 1只能显示根目录下内容,通过分析代码流程,排除输入事件后,在处理数据是发现代码出问题了,没有对目录进行字符串拼接,最后用sprintf拼接字符串,解决了问题。
  • 2查看CPU占用率时,发现竟然有98%太高了,改掉了之前的循环插座模式,而是通过多线程方式操作。Cpu占用率立马降到3%

用多线程方式是开发效率提升了(夸了我一下)
在什么背景下开发这个项目,为什么开发这个项目?

  • 这是我在网上找的项目,用来学习的

用来学习的项目(感觉被鄙视了)
开始聊另外一个项目:功率检测装置

  • 基于stm32和android系统开发的充电桩功率检测装置,已经用于生产中。
  • 单片机主要通过AD8012芯片转换为脉冲信号,而定时器来检测脉冲个数,将功率值转换为数字,一般为500W,由于受温度影响这个值会产生波动,通过旧的均值取8,新值取2,降低波动,但会有延迟。最后将每个250ms去一次,形成一个长度为4的队列,将4个数字相加,为新值,每新增一个值会扔掉一个旧值。

如何实现增加一个值,在扔掉一个值

  • 通过链表实现,指针指向,巴拉巴拉(很模糊,我自己都没弄明白,没回答好,下次看代码研究一下)

将这四个数相加除以4,会考虑什么情况。或者数组内u_int8类型的四个数相加会考虑什么情况。

  • 主要看我需要什么样的精度,若整型的那用u_int8可以的,若精度高就用double和float类型。

为啥不考虑变量溢出。

  • 这个我们充电桩功率一般都是在500W,功率不会溢出的。

但我们代码测试的时候要考虑各种情况,这个溢出也是要测试的。
函数调用指针,一般会进行哪些方面的考虑

  • 定义指针,绑定变量,使用变量和指针,使用完释放指针,复制NULL

HR问,这些代码测试和你开发的工作有什么不一样的么

  • 除了功能编写,也会随出现的问题,找代码bug,针对bug做各种测试。

技术部门:你来工作主要是用来做代码测试而不是找bug,或者直接告诉你bug在哪

  • 我先把本职工作做好,其他再说(感觉回答的不太好)

技术部门:写过小程序么?

  • 用JAVA很过飞机大战

好了我没问题了。
HR;你有什么问题?

  • 公司所少人

团队11人,上海那边有50人

  • ABB做机器人,现在做机器人哪些方面

主要负责仪表,传感器,最近做NB低功耗

  • (NB我熟悉啊)什么芯片,stm32、8、三星、还是华为海思

等你来了就知道了

  • 是stm32么?我之前用过stm32开发NB-iot,低功耗穿透性强。

不是

总结:

  • 技术:他是来找我做代码测试的,主要想了解我写过哪些代码,如何实现的。正对一些基本的代码例如指针运用的注意事项。曾经解决过的问题。而不是泛泛而谈。
  • HR:能否来,假设出现问题,能待几天。
  • 疑问:ABB公司为杭州只有11人,世界五百强就这么少人?
  • 有个问题不太敢问:实习后能转正么等类似问题?

你可能感兴趣的:(面试)