轰哥 level
获赞
13
粉丝
4
关注
1
看过 TA
59
华南师范大学
2026
ARM工程师
IP属地:广东
难搞
私信
关注
选择: 1.TCP、UDP;2.逻辑地址;3.最长公共子序列;4.无序树;5.折半查找法判定树的高度;6.关于sleep和wait;7.linux添加默认网关命令;其他的都不太记得了三道编程题第一二道都很简单,就是给一串字符串,然后那个ASCII编码,输出除给你的那串字符串以外的其他字母的ASCII编码之和,比如说输入ABCDEFGH,那就剩下IJKLMNOPQRSTUVWXYZ这几个字母的ASCII编码之和;第二道判断输入的数是不是”好数“,”好数“的定义就是满足两个条件,1.是质数;2.可以拆分为2个质数;是的话就输出yes,不是的话输出no;第三道是求最小LCM子数组,找出一个最短的子数组LCM刚好跟该数组的LCM相等的,并且输出该子数组的长度,不记得原文怎么说来着了;直接举例子吧;第一行输入一个n,n代表有几个数组;第二行输入第一个数组的长度第三行输入里面的各个元素.............例如:232 3 646 4 2 8那就输出14解释:第一个数组是2 3 6嘛,为什么输出1,因为[2,3,6]的LCM为6,6的LCM也为6,所以最短子数组应该是[6],长度为1;第二个数组是6 4 2 8,[6,4,2,8]的LCM为24,[6,4]的LCM为12,[6,4,2]的LCM为12,[6,4,2,8]的LCM为24.......最短子数组只能是[6,4,2,8]了,长度为4,所以输出4;这道题我没有想到很优的解法,直接暴力算了,最后超时了,做的题太少了,由于自己做的实在太乱,数组越界,中间改错花了好多时间,最后超时了也没时间去降低复杂度了,O (M² × logK),下面是我的屎山代码丢给豆包优化一下变量名之后的:感觉好像还是偏简单一点的题目,但是选择题我实在是对这些概念理解不深
投递科大讯飞等公司10个岗位
0 点赞 评论 收藏
分享
单选:1.多核处理器主要用于提高单线程性能的是什么?2.深度优先遍历?3.按行优先遍历?4.栈;5.为组合对象添加新操作,最佳实践是什么?6.动态规划中,“状态转移方程”目的是什么?7.echo "one,two,three" | cut -d,-f2 结果是?8.二次探测法解决冲突?9.如何使用bash下载文件保存到特定目录?10.森林中有结点为m1,m2,m3的树,转化为二叉树的根节点的右子树有多少个结点?11.二叉树的遍历,输入;以上是不按顺序的哈,我是靠记忆打出来的,可以参考一下,总共好像25道,具体选项是什么我也不太记得了,还有很多是给代码然后选运行结果的;多选:在什么情况下,线程进入Terminated状态?编程题:1.一个赛事总共有n个人参与,m道题,m道题共分为2个关卡,每一个关卡至少有一道题,只要能做出其中一个关卡的所有题目即可进入复赛,主办方为了让更多的人可以进入复赛,专门设置好了关卡,输出最多可以进入复赛的人数;第一行输入n,m;n表示参与的人数,m表示总共有几道题,例如m输入的是8,即题目为1、2、3、4、5、6、7、8;接下来的n行输入第n个人可以做出的题目集合,例如输入:2、4即这位选手可以答对题目为2、3、4的题目,5、8即这位选手可以答对题目为5、6、7、8的题目;例:输入:4 82 53 65 81 3输出:3解释:8道题,第1个人能做2、3、4、5,第二个人能做3、4、5、6,第三个人能做5、6、7、8,第四个人能做1、2、3;把题目分为第一关是3、第二关是1、2、4、5、6、7、8,即第一、二、四个人可以进入复赛;2.一个快递站有n个包裹和m个站点,每个包裹去到一个临时站点的开销为包裹的位置到临时站点的距离,每开启一个临时站点都需要相应的费用,并且必须保证每个包裹的右侧至少有一个站点,意思就是已开启的临时站点的位置必须有一个大于包裹的位置,求最少的开销费用;第一行输入n表示包裹的数量;第二行输入n个整数分别表示n个包裹的起始位置;第三行输入m表示临时站点的数量;第四行输入m个整数分别表示第m个临时站点的位置;第五行输入m个整数分别表示开启第m个临时站点所需的开销;例如:输入:3-3 -2 43-1 2 53  5  7输出:14解释:开启第一(位置为3)和第三(位置为5)个临时站点,分别需要3和7;第一个包裹送往第一个站点需要2,第二个包裹送往第二个站点需要1,第三个包裹送往第三个临时站点需要1,总计14,输出14;感觉还是挺难的,比24届的难
投递小米集团等公司10个岗位
0 点赞 评论 收藏
分享
1. FreeRTOS的核心功能是什么?是一个实时操作系统内核,主要提供任务管理、时间管理、信号量、消息队列、事件组等功能,支持抢占式调度,确保实时任务的及时响应。2. 任务的状态有哪些?运行态(Running):当前正在执行的任务。就绪态(Ready):任务就绪,等待调度器分配CPU。阻塞态(Blocked):任务因等待事件(如延时、信号量)暂时无法运行。挂起态(Suspended):任务被强制暂停,需通过特定函数唤醒。3. FreeRTOS的调度算法是什么?主要采用基于优先级的抢占式调度:高优先级任务可抢占低优先级任务的CPU使用权;同优先级任务默认采用时间片轮转调度(需使能配置)。4. 什么是任务堆栈?作用是什么?每个任务有独立的堆栈,用于保存任务的上下文(寄存器值、局部变量等)。当任务被切换时,堆栈负责保存当前状态,确保下次恢复时能继续执行。5. 信号量和互斥锁的区别?信号量:用于资源计数或同步,允许多个任务同时访问有限资源(如计数信号量),或实现任务间同步(如二进制信号量)。互斥锁(Mutex):专为解决互斥问题设计,支持优先级继承机制,可避免“优先级反转”(高优先级任务因低优先级任务占用资源而等待的问题)。6. 消息队列的作用?如何实现任务间通信?消息队列是任务间传递数据的缓冲区,支持异步通信。一个任务可向队列发送消息,另一个任务从队列接收消息(可设置超时时间),数据通过拷贝方式传递,支持不同长度的数据类型。7. 什么是优先级反转?如何解决?优先级反转:低优先级任务占用资源时,中优先级任务抢占CPU,导致高优先级任务因等待资源被阻塞,优先级被“反转”。解决方式:使用互斥锁的优先级继承机制(低优先级任务暂时继承高优先级任务的优先级,避免被中优先级任务抢占)。8. 任务通知和消息队列相比,有什么优势?任务通知是轻量级通信机制,直接向任务发送事件/数据,无需创建队列,减少内存开销,效率更高(适用于一对一通信场景);但功能较简单,不支持多任务向同一队列发送消息。9. 如何实现任务的延时?vTaskDelay()和vTaskDelayUntil()的区别?vTaskDelay(t) :从调用时刻开始延时 t 个时钟节拍,延时时间是相对的(受任务调度影响)。vTaskDelayUntil() :确保任务按固定周期执行,延时到绝对时间点,适合周期性任务。10. FreeRTOS中的堆管理方案有哪些?提供5种堆内存分配方案(heap_1到heap_5),例如:heap_1:最简单,只分配不释放,适合内存固定的场景。heap_4:支持动态分配和释放,使用链表管理内存,可用于大多数场景。
0 点赞 评论 收藏
分享
这几天在小看一下 Freertos ,了解了内存管理、任务调度、同步互斥、队列及信号量的一些小玩意,写一下小总结:在内存管理方面,Freertos 感觉就是比较灵活,有五种内存分配。每种策略都有不一样的适配场景,像 heap_1 适用于不需要内存释放的简单应用,能在资源受限的小型嵌入式设备中稳定运行;heap_5 则支持动态内存分配,可以管理多个不连续的内存块,对于内存需求复杂多变的系统就比较适用。​任务调度机制是 Freertos 实现多任务高效运行的关键。其中,时间片轮转调度模式按照固定的时间片长度,让处于同一优先级的多个任务轮流获得 CPU ,避免了某一任务长期占用资源的情况;而优先级抢占调度模式则相当于给高优先级任务开小门,当高优先级任务就绪时,能立即打断当前正在执行的低优先级任务,抢 CPU 资源,这种机制保障了系统对紧急事件的快速响应。​同步互斥机制中,就是信号量和互斥锁嘛。信号量本质上是一个具有计数功能的内核对象,它可以用来表示可用资源的数量,信号量还分为二进制和技术型信号量,当多个任务需要访问有限的共享资源时,信号量能有效控制任务的访问顺序和数量,防止资源竞争导致的错误。今天做了个小实验就是小车通行证的,我这里就不多说了,这个方法比较好理解。互斥锁是专门针对优先级反转问题设计,当低优先级任务有着高优先级任务所需要的资源时,互斥锁会将低优先级任务的优先级临时提升至与高优先级任务相同,等到资源释放后再恢复原优先级,这样就可以避免高优先级任务因为等待低优先级任务而被延误的情况,确保了系统的优先级秩序和实时性能。​队列是 Freertos 中任务间通信的东西。它采用先进先出(FIFO)的默认数据处理方式,同时也支持按消息优先级进行排序,满足了不同场景下的数据传递需求。队列可以传递各种类型的数据,不管是简单的整型变量、字符,还是复杂的结构体、指针,都能通过队列在任务间安全、可靠地传递。而且,队列具有异步通信的特点,发送任务和接收任务无需同步等待,发送任务将数据放入队列后即可继续执行其他操作,接收任务在需要时从队列中获取数据,这种特性可以提高了任务间协作的灵活性。​信号量在同步互斥中除了作为资源计数器,还能用于任务间的同步。比如说,在中断服务程序中,当某个事件发生后,可通过释放信号量的方式通知等待该事件的任务,任务在获取到信号量后就知道事件已发生,从而执行相应的处理操作(这里举例就是占厕所,a上厕所,b就上不了,a上完释放信号量厕所可以上了,b去上),实现了中断与任务、任务与任务之间的有效同步。​
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务