需要掌握哪些技能
需要了解并使用过几款常见的单片机。
需要熟悉常见的硬件接口譬如 UART 、SPI 、I2C
需要了解一些传感器相关的知识,譬如声、光、磁、温、惯性器件
需要能看懂 datasheet 读懂芯片的操作规范,就是用代码对传感器的寄存器进行配置
能读懂原理图、看懂 PCB
会使用示波器、会分析电路
实际面试考什么
C语言基础知识,算法水题
聊天,聊项目、聊如何实现的
工作中实际用什么
我面试成功的机会都是来源于这些主要做单片机的公司,而且都是小公司,进入的团队也小,做的东西也是两三个人就可以搞定的事情。虽然我自认为写程序还可以,但是每次答算法水题都答不好,让我着实比较郁闷,虽然近期已经补充了不少相关知识了,但是我还是感觉如果一直做这些单片机嵌入式的项目,我可能永远都用不到这些算法知识。
很早以前我就知道这些,计算机数据结构及算法之于单片机程序开发就是水月镜花。而另外一种意义上的算法倒是很实用,比如早在我毕业之前就买过一本北航出的《嵌入式系统软件设计中的常用算法》这本算是很使用的一本工具书,很多方法在实际的嵌入式软件开发当中十分有效,我把这一类算法归为DSP,也就是数字信号处理,要处理单片机中的数据都是数字信号的数据,要对这些数据分析总结,处理之后是从传感器得到的信息,之后再使用控制器或通讯器对外界进行反馈
|