相同优先级的几个线程是怎么运行的?  通常,RTOS对相同优先级的任务采用时间片轮询的方式进行调度,确保公平性。     对于临界区数据的处理,使用互斥锁和自己通过条件来判断,哪样更好,为什么?  使用互斥锁通常更好,因为它提供了一个明确和标准化的方法来确保数据的同步和互斥性。手动通过条件判断可能会引入错误,不易于维护。     上下文切换的时候系统做了些什么?  在上下文切换时,系统会保存当前任务的状态和寄存器的内容,然后加载新任务的状态和寄存器内容,以便可以从新任务的上次停止的地方继续执行。     函数指针了解么,在哪里有用到?  函数指针是指向函数的指针。它们常用于回调函数,如qsort()函数中的比较函数。     struct字节对齐了解么?  是的,字节对齐涉及到数据结构中各个字段在内存中的布局。对齐可以确保数据结构的访问速度更快,但可能会浪费一些内存。     什么是大端小端?  大端和小端是指二进制数据在内存中的存储顺序。大端方式是最高有效字节在最低地址处,而小端方式是最低有效字节在最低地址处。     内存分配函数了解么?如果系统中只有10K内存,而我要分配12K,能分配成功吗?如果能,那么将分配到的区域用memset进行初始化,会成功吗?  了解。使用例如malloc()的函数进行内存分配。如果系统只有10K,尝试分配12K通常会失败,返回NULL。如果某种原因成功了,使用memset()进行初始化会导致未定义行为,可能会覆盖其他重要的内存区域。     除了堆区,程序运行的内存中还有哪些区域?  文本或代码区、数据区、BSS区、堆、栈。     智能指针有了解吗?  智能指针如std::unique_ptr和std::shared_ptr是C++的一部分,用于自动管理对象的生命周期。     容器了解吗?vector实现的机制是怎么样的?  了解。是一个动态数组,当元素添加到vector时,如果当前的内存不足以容纳更多的元素,它会重新分配更大的内存块,复制旧的元素并释放旧的内存。     
点赞 4
评论 1
全部评论

相关推荐

牛客83265014...:完了,连现在都没开始面,13号投的是不是晚了
秋招的第一个offer,...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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