时长:15分钟左右
1、自我介绍,项目介绍
2、问项目是什么性质,我说是学校分给我们实验室的项目
3、问项目共分配给多少人使用过,本人做的是物联网平台。回答是实验室单独使用,最多接入过学校里的50个设备。
4、项目中最难的地方?怎么解决难题?经典回答翻博客、看开源项目、google学术、看论文。
5、问设备数据怎么存储?回答设备实时的数据都存储在Redis,历史数据以及操作、下发命令的日志存储在ElasticSearch,也有用RabbitMQ做持久化处理。
6、问设备数据是自动发送还是手动?回答设备每隔一段时间通过传感器收集数据发送给服务器,在后端实现了定时任务的功能,能定时自动下发指令给设备。整体是根据事件触发来调用功能,原本想在平台中实现规则引擎,但太难了后面放弃了。
7、问物联网协议MQTT和CoAP底层实现,回答传输层MQTT使用TCP,CoAP使用UDP。网络层用了IP、IPv6和6LoWPAN等协议。
8、问使用过什么数据库,回答MySQL,和短暂使用过PostgreSQL,当时忘了怎么读,就说P开头的一个数据库。
9、问http的get和post区别,回答get将请求数据放在请求头,post放在请求体,get传输的数据量小,只有几千字符,post较大,具体传多少不知道。
10、问redis数据类型,回答string、hash、list、set、zset和geo、位图bitmap,还说了5.0的stream。
11、问HashMap的value能存什么类型,回答基本类型和对象都能存储。后面查了一下,HashMap只能存引用类型和null,能存基本类型是因为自动装箱的机制。
12、问了解反射吗。当时脑抽了,回答成了jdk动态代理,不过也算和反射沾边吧。
13、面试官询问是否接受出差,说刚入职的前1~2周可能会在省内出差,说是去了解客户需求啥的?不是很清楚。然后再回公司做项目。
14、反问:部门的业务,面试官回答做教育产品,包括中高考那些,类似学习通?不过科大讯飞做的好像是啥智慧教学方案。
15、反问:用到的技术栈。面试官回答SpringBoot、SpringCloud,没听到有啥。
#面经##科大讯飞#