温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
智能家居项目写到简历里边能找到工作吗?很多人都说了这个项目烂大街了,但我就是有那么多的学员靠这个项目找到工作了,如果你能够按照我说的去准备,相信我,你会回来感谢我的。其实面试官真正想听的不是用了温湿度传感器、OLED和WiFi模块,因为这些模块造成教程都能够接起来,他更想知道的是系统怎么去分层的,数据怎么去流动的,异常怎么去处理的,以及呢,哪一部分是真正你正在做的。如果你觉得智能家居还不过瘾,我还额外准备了15个项目,写到简历里边呢,面试官都会对你刮目相看,想要的是一下我。面试官会先从第一层开始追问整个系统的数据链路是怎样的,你至少要说清楚传感器多久采集一次数据,经过了什么处理,怎样显示或上传控制命令,又怎样回到了执行器。错误的回答是把模块挨个念了一遍,正确的回答是画出采集、处理、通信、控制、反馈的链路。第二层会问到任务怎么安排的。如果你用到了弗利亚,面试官可能会问你。
01:00
为什么要建立这么多的任务优先级?怎么去确定的?任务之间为什么用队列不直接共享全局变量?比如说传感器每秒采集一次通信任务,需要随时的收入任务报警,裸机又要及时的响应,可以把采集、通信和控制分开,通过队列来传数据,但任务并不是越多越高级,如果所有的工作都简单,用状态机和定时调度也能够更加的清晰,你必须解释自己的结构解决了什么问题。第三层是通信,使用EB866或者说其他的联网模块的时候呢?不要只是说通过MPTP上传与端,面试官会继续的问,设备掉线了怎么重连?消息重复了怎么办呢?网络阻塞了会被拖住了。控制逻辑如果你把联网直接发送,如果你把联网发送直接写到控制任务里,一旦网络变差,控制响应有可能会受到影响,更合理的做法是把通行于本地控制解耦,并设计缓存,超时或重试策略。第4层是异常温湿度传感器。突然不。
02:00
感应的怎么办?错误做法是在读取函数里面无限等待,正确的做法是设置超时,记录错误产生恢复,并让上层知道当前数据无效。继电器控制失败了怎么办?系统重启以后设备保持什么状态?这些问题解决你的项目是DEMO还是有工程思维的作品?第5层是验证。很多同学只会展示功能,能跑却没有测试记录。你可以设计几组场景,断开传感器,关闭路由器,连续发送几个错误的命令,让设备运行一个整网,记录恢复的时间、丢失的数据和内存的变化。面试时能够拿出这些结果比再加一个分闭器更有说服力。你可以用6句话准备项目的介绍,他解决了什么问题,系统有哪些模块构成?你负责了什么?最难的问题是什么?怎么定位和解决,最后怎么去验证的,然后再准备三类的追问原理、追问方案、对比和异常场景。所以回到开头,智能家居项目的价值不在于模块多,而在于你能不能讲清系统。
03:00
问题和验证。
我来说两句