momenta日常实习面经-嵌入式软件开发

👋一面:1.freertos优先级有几种模式
               2.freertos的任务调度
               3.freertos的任务优先级设置的值越大,优先级是越高还是越低
               4.Linux移植根文件系统用什么做的
               5.编译流程
               6.MQTT的了解
               7.长连接和短连接
               8.cmake和makefile
               9.git
               10.问时间安排
               11.怎么学习新知识
               12.反问
🤏二面:1.对uboot和Linux内核的了解,怎么编译
               2.bootcmd
               3.了不了解top命令,查看系统信息
               4.网络传输
               5.LCD驱动开发
               6.i2c时序
               7.i2c调试-i2c-tools
               8.i2c驱动和应用
               9.问时间安排等
               10.反问

#我的OC时间线#
全部评论
没手撕么bro
2 回复 分享
发布于 06-24 18:02 上海
佬有 offer 了吗
点赞 回复 分享
发布于 07-07 20:57 广东

相关推荐

06-28 18:25
已编辑
中国科学院大学 C++
写一写面经,回馈一下社区。⌚️timeline:五月底👋part1:自我介绍 && 项目介绍1. 项目里的内存占用,资源使用的性能评估?性能优化的思考?2. 端侧大模型的选型?3. 机器人比赛中最难的一个问题?技术方案的选择用了多长的时间?4. 之前实习的主要工作?方案是如何确定的?5. 对车载中间件的了解?6. 。。。忘了🤏part2:八股拷打1. 设计模式?平时开发有用到过哪一些设计模式吗?2. 对多态的了解?静态and动态?3. 虚函数里面父类和子类的交互?4. C++容器中vector和list的差异?5. vector的底层实现原理?扩容机制?如何避免反复扩容?.6. vector是存储在堆上还是栈上?好像是元数据在栈上,实际元素在堆上。7. C++智能指针的了解?weak_ptr的用处?shared_ptr循环引用问题?8. linux系统中多进程通信?性能要求高的场景用什么通信?9. 项目中用到了那些多进程通信?怎么选择的?10. linux调度策略?cfs?11. 对上下文切换的了解?12. 如何通过代码优化来减少频繁的上下文切换开销?线程代替进程,线程绑定cpu...13. 对于linux内存管理的了解?14. 了解虚拟内存吗?三级页表?15. socket通信,tcp的流程和api?16. 对IO多路复用的了解?poll,select,epoll原理与区别?✌️part3闲聊:1. 未来三五年的规划?2. 实习时长?43. 平时的爱好?遇到压力怎么排解?实习比赛中压力最大的时候?4. 反问?工作内容?正向文档与写代码的比例?55开全程大概45~50分钟,体验不错,面试官很友好。
查看50道真题和解析
点赞 评论 收藏
分享
1.简历自我介绍2.技术面(面试官全程1h问的都是实操经验,没有八股文,问题比较开放-因人而异)●离职原因?为何没有骑驴找马?(行业低迷下寻求个人进一步发展+家人生病的时机)●iic协议时序是怎么样的?是如何启动的,如何结束,如何确定ACK和NACK?(scl高时,sda由高变低; scl高时 sda由低变高;第九个时钟-拉低sda即为ACK,拉高则为NACK)●是如何仲裁的?(比如多个从机的仲裁)--这个我说不出来--慌的一批!!(现在想是不是线与逻辑?)●在linux操作系统和MCU上,如何查找内存故障相关的问题?(MCU讲了如何JLINK调试工具+寄存器打印和保存+栈回溯,LINUX上讲了如何gdb+coredump,后面也提及了strace工具)(他问了gdb如何去执行和调试coredump和使用过程?我记不起来了...顿时感觉药丸了)●用过哪些操作系统(UCOS,LINUX,NUTTX,RTT),在实时操作系统上用过或者做过哪些工具?(我说到了单片机上用示波器去拉低拉高io查看耗时情况,然后自己对应的位置设立flag查看调用情况,第三方工具没用过---感觉不是对方想听到的答案)●阅读过内核哪一部分的代码?(我说我-以前看内核视频的适合,每个部分都看过源码,现在有点久远了)●如何解决程序瓶颈问题?(我讲到了top,free指令,还有perf工具)●如何解决内存溢出类似的内存问题(我提到了人工检查--释放和申请成对,mcu利用调试工具和栈回溯,然后Linux上的valgrind工具);●描述下最有印象的一次项目经历?(讲了一下给别人解决bug的一次项目经历)●自己感觉比较擅长或希望哪一个方向?(我说-按照公司方向走,反说公司开发得看看自己怎么选择?我mcu或者linux方向的应用开发皆可-如果两者还有选择的话,我选linux方向-希望在这方面更加深入成长--后来感觉给自己埋了一个雷)说一下内核那几个子系统--内存管理,进程管理,网络管理,文件系统,进程间通信,驱动等对哪个比较熟悉?(我选了网络--因为开发的时候有用到了●有无linux开机优化的经验-讲一讲?(我说有过将47s开机启动完善到20内的经历:说了几个比如ssh的优化,rcS内复位的优化,将很多内核操作后置的行为-●比如加载文件系统、ko模块,启动UI的优化等等)●如何优化开机启动-比如给任务优化到5s--给思路!(属实没有研究过内核启动的必要条件,说不太出来---面试官安慰说-没关系。)●网络传输如果发生丢帧或者延时和卡顿,怎么办--给解决思路?(我提及了这个接入交换机或者路由器-通过抓包工具来查,提及了两个工具wireshark和tcpdump,来分析到底是网络风暴/拥塞,发送方发出数据帧慢了还是错了,还是接收方收的慢还是收错了还是他应答的慢了,来定位)●网络的可调参数有哪些?(这真的到了盲区了,我一开始说的是TCP的socket,bind,listen函数里面的参数,他说不是这个,我有点懵,后来反应了--应该是TCP流程的那一套参数:比如建立连接的参数-SYN Retry(SYN 重传次数)、SYN Timeout(SYN 超时时间)数据传输参数:TCP Window Size(TCP 窗口大小)、Max Segment Size(MSS,最大段大小)、TCP Congestion Control Algorithm(TCP 拥塞控制算法)连接关闭参数:FIN Wait Time(FIN 等待时间)、Time - Wait State Duration(TIME - WAIT 状态持续时间)、Keepalive Time(保活时间)只有这个收发缓存是我用过的:Receive Buffer Size(接收缓冲区大小) 和 Send Buffer Size(发送缓冲区大小)我后来AI查的,但是没想到。。。药丸的感觉越来越重)●最后问了下:MTU的含义?即最大传输单元(Maximum Transmission Unit)●●反问阶段:我想问下这个岗位的定位是怎么样的?说是给其他团队兜底的存在!其他团队解决不了的他们来解决!所以不需要懂得太广,要懂得深刻!沉默了--没其他问题了!上述应该是80%+的问题,可能有个别遗漏,全程一个小时,语速和节奏中等偏快!●--面完总体感觉:我回答的不够深入,感觉不够完美,难过!--
豁达的小鲸鱼反对画饼:太强了佬
查看19道真题和解析
点赞 评论 收藏
分享
评论
9
42
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务