小米C++复活赛

1. ptrace的底层实现,操作系统是怎么做的

2. 拷打和操作系统相关的一个项目

3. Linux是怎么检测死锁的(内核源码)

4. Linux的内存管理

5. 让你自己实现一个malloc和free怎么做,怎么实现一个内存分配器(简单讲了下ptmalloc,但没讲好bins干脆说成伙伴系统了)

6. 自己实现的内存分配器怎么检测内存泄漏(我说用引用计数,面试官说是多线程环境下,类似线程局部内存块,要加pid)

7. 手撕:

   1. 实现一个memcpy

   2. 用宏判断一个数是否为2的n次

   3. 实现container_of

   4. 实现链表删除中的一个节点(很简单,链表是双向链表,不用free操作,不用判空,默认前后都存在)

   5. 输入一行字符,统计其中有多少个单词。

   6. \#include

      int main()

      {

      ​    int a[5][5];

      ​    int(*p)[4];

      ​    p = a;

      ​    printf("%p,%d\n", &p[4][2] - &a[4][2], &p[4][2] - &a[4][2]);

      ​    return 0;

      }这段代码的输出

   7. int main()

      {

      ​        char a;

      ​        char *str=&a;

      ​        strcpy(str,"hello");

      ​        printf(str);

      ​        return 0;

      }这段代码有什么问题。

8. 反问:哪个部门的,小米RTOS操作系统(面试官一看就是大佬)

因为是用第三方平台手撕的,所以结束了还能看题目。我就写了一句“熟悉内存管理”,就一直问我怎么实现一个内存分配器,讨论了半个多小时

手撕太简单了,不知道是不是KPI,但又聊了一个半小时,面试官不会这么有时间吧。
全部评论
老哥复活赛是什么意思,流程结束了又被捞了吗?
1 回复 分享
发布于 2023-10-10 08:06 辽宁

相关推荐

5 47 评论
分享
牛客网
牛客企业服务