广州蝠鲨面经(嵌软)

1.modbus协议作为一主多从的协议,如何来确定从机 (设备地址)

2.从机地址是主机确定的还是从机确定的(从机)

3.讲一下rs485协议?ttl?232?(485有点忘了,说都是电平协议,就是三个都是物理层协议可以上面搭载modbus)

4.你说你深入阅读了freertos源码讲讲(大致答了通用寄存器入栈和出栈 从tcb控制块开始说,里面有栈顶指针,cortexm3有自动入栈和出栈的寄存器,本质任务切换就是入栈出栈,切换栈顶指针)

5.freertos可以调节每个任务的时间频率?(这个问题没听懂什么意思,答得是有config宏可以控制时间片调度时间, 但是面试官和我说抢占式也有?)

6.dhcp原理(我答得是dhcp请求包,回包包含分配ip但是面试官和我说不全,这里确实是忘了)

7.聊聊mqtt (我答建立在udp的基础上,完善了udp的无连接问题,引出订阅和推送)

8.聊聊spi (全双工 可以进行扩展,换成半双工)

9.聊聊半双工spi (半双工spi有dio clk cs三线 常用在屏幕上)

10.聊聊扩展spi (我答有dspi qspi 接着问dspi是几线答四线,qspi几线我不会)

11.项目里面有一个多种传感器具体型号是?有几种?(有点久远了 就答了数字光敏电阻电位器调节,接着问具体什么型号,不会直接摆了,还有温湿度传感器,接着问温湿度传感器什么型号, 面试官这里提出异议说写的多种就三种? 只是用来学习,可以自定义命令表扩展,我很期待问命令表扩展但是没问)

12.这个项目里面开了几个task(有网络信息 有mqtt 有传感器采集 有查询命令机制)

13.就做了这些有没有更复杂的?(这题真绷不住,网络信息处理还不够复杂?表示对我只开一个任务采集数据表示简单)

14.让我聊聊任务切换中具体怎么寻找下一个任务(以就绪列表为例,数组指针,所有任务双向链表升序排列,优先级越高,数组下标越高,难绷的是面试官貌似嫌我说的太长)

15 dhcp项目里面咋用?(a网卡桥接b网卡 单片机利用b网卡分配ip之后 共享a网卡上网,面试官说我不过是做了网口那些配置,感觉嫌我做的太简单?)

总结: 面试官完全不了解lwip内部和rtos结合经过解释之后还是感觉我做的东西没什么含金量,感觉被人鄙视了,第二个ota项目也是一点没问,bootloader也没问 启动流程也没问,感觉很难绷,准备的全都没问,自己也没发挥好,偏八股协议具体问的多

全部评论
16.刚刚又想起来还问了can (不会没学过)
点赞 回复 分享
发布于 02-24 20:43 广东

相关推荐

bg: 27双非目前我是正在一个成都小厂远程实习中,今天下午面了家成都中厂(大概几千个人那种),面了1.5h,面我的是前端这个团队的组长,每周4天(坐班)先说面的东西吧:1. vue2/3的响应式实现,及vue2响应式实现的缺陷2. history路由和hash路由的区别及history路由可能刷新白页的问题3.学校主修课程和前端有关系吗?平时怎么自学的前端?----聊项目4.Echarts大量数据渲染解决方案。(项目中有要同时渲染好几万个点数据的场景,且每个点还要有特效,各种属性样式要单独计算,所以不能直接用Echarts的large等配置)5. Echarts渲染组件(组件中有比较多的图片),因为Echarts组件中加图片的话,需要把每个图片网络请求发完拿到之后才能渲染组件,这样就有延迟,当时是问我怎么解决的6.网络一次性请求这么多数据,网络上的性能消耗怎么解决的------7.如果现在存在一个系统或者页面 卡顿或操作卡这种,如何去排查问题,在哪些方面进行优化8. mqtt消息订阅(之前的实习中有)---css9. 多种方式实现盒子居中10.css显示文字省略号---js11.js的数据类型有哪些12.typeof可以判断哪些数据类型13.如何判断数组14. 用Array.isArray()以外的方法来判断数组有什么问题15.原型链具体是什么东西16. const obj = {} 的隐式原型是什么17.如何判断js中两个变量、对象相等 (Obeject.is()、===、手写浅比较、递归判断...,问了他要哪种程度的相等)18. 实现深拷贝的方法19.为什么不能用json来实现深拷贝20. 函数可以被json序列化吗---- 代码题21. 手写深拷贝22. 讲一下什么是节流和防抖23. 手写节流 (太紧张没撕出来了)24. 下列代码输出什么(promise + 微队列问题)async function async1() {  console.log("async1 start");  await async2();  console.log("async1 end");}async function async2() {  console.log("async2");}console.log("start");setTimeout(function () {  console.log("setTimeout");}, 0);async1();new Promise(function (resolve) {  console.log("promise1");  resolve();}).then(function () {  console.log("promise2");});console.log("end");--------vue使用相关25.vue的生命周期26.组件挂载和卸载的时候,我们可能做什么事情27.computed和watch的使用场景28.v-for为什么要加key29.vue组件间通信有哪些方式30.跨标签页通信方式-----反问----然后就结束了,当时也基本都答出来了,他说对我挺满意的,然后问了下我的一些要求什么的,最后说这周内告诉我面试情况以及之后去不去之类的,佬们,我的问题是这个有必要去吗,虽然现在还没正式发offer什么的,但是感觉希望挺大的,有必要去吗,虽然待遇、公司规模什么的都比我现在远程实习的这家好,但是每周工作日去上4天班的话,学校这边只能找dk了啊,这学期有些课的老师还挺严的,每节课拿着带人像的花名册那种,dk还是蛮有风险的,有必要去吗,佬们,而且如果去的话,我目前远程实习的这家,才实习了3个星期,感觉也不好写简历上面,而且dk还有风险,佬们,我该怎么搞啊 #实习##该代课出去实习吗##双非实习##27届# #牛客AI配图神器#
查看30道真题和解析
点赞 评论 收藏
分享
基本上都是在聊天,问各种思路,八股文不多。感觉时间过的很快,一下50分钟过去了。把一个基础问题说错了,不知道结果咋样了,再然后就是他是纯C++公司,大部分时间问我linux内核的东西1.你和照片长的不像 (我说商家P图的)2.自我介绍3.研究的什么方向,解释了很久,我的算法了啥的(我研究的是操作系统混合任务关键算法)4.有没有发论文,有没有啥成果(我说sci正在审稿,然后发了软著)5.对linux了解多少,对linux内核或者Linux系统哪里比较熟悉(我说内核驱动还有系统开发都比较熟悉,然后问更熟悉那个,我就说了现在是应用方面吧)6.问我linux内核驱动是怎么设计的(我说有3种方式,普通传统的软硬不分离一起写古老的版本,然后平台设备模型,还有设备树)7.你认为3种方式哪种好,(分别分析了优缺点,然后说最后一种好,也有可扩展性啥的)8.你觉得可扩展性是什么,怎么做到,你有什么优点9.设备树怎么就和软件匹配上了(我说了设备树本质就是个文本文件通过里面的属性匹配的,包括of_match_table啥的)10.又问设备树是怎么兼容那么多硬件平台的,写一个i2c设备驱动流程11.项目遇到了哪些问题,怎么解决的,怎么找到的,哪个项目学到的最多,为什么(我说的很详细,摄像头帧数不匹配啥的,排查是看手册,中间还考虑了av_compare_ts的函数api,查看了他们的返回值了,还试了修改缓冲区了啥的等等,最后就是查手册看到的那个参数,,,甚至还问怎么想到的看这个)12.场景题:假如客户端和服务器连接好着,过了几天突然服务器坏了,你觉得是哪里的问题怎么排查(我说了查看网络,查看日志,检测数据,管理软件,重启等方法)13.然后他就说假如日志看不懂,别的也没问题,我怎么还知道这个进程到底死没死(我就说了ps  top htop等命令可以看)14.然后接着问,假如我还想知道,这个进程他都有什么状态(我说了有运行态,停止态等,在PS命令里面的表现就是一个R T 等等大写字母表示)15.假如处于运行,怎么查看他在跑什么逻辑(我说这个我不是特别了解,就是一般也是通过命令查看,具体命令没记住)16.函数内部静态局部变量,和全局静态变量的区别17.如果他们都作为返回值会有什么问题,(然后我说了半天局部的会有问题,但是他好像没听懂以为我说的全局的,然后问我那局部的呢,我就又说了一遍局部的,因为作用域的问题可能函数调用完了就释放了,中间还扯了半天static的特点啥的,,但是算起来全局作为返回值应该是说错了,,)
点赞 评论 收藏
分享
评论
1
6
分享

创作者周榜

更多
牛客网
牛客企业服务