小米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,但又聊了一个半小时,面试官不会这么有时间吧。
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,但又聊了一个半小时,面试官不会这么有时间吧。
全部评论
老哥复活赛是什么意思,流程结束了又被捞了吗?
相关推荐
10-22 14:54
蚌埠坦克学院 嵌入式软件开发 点赞 评论 收藏
分享
查看8道真题和解析
点赞 评论 收藏
分享