小米提前批C/C++面经
小米c/c++一面面经,时间: 8.20,时长: 50分钟(约了1个小时)
1. 自我介绍2. 介绍项目
3. 介绍ROS,是否使用过Linux
4. 程序内存模型?堆和栈的增长空间?
5. static的作用
6. 说一下new和malloc的区别
7. 介绍一下多重继承以及其中存在的问题?多重继承内部是怎么实现的?(不会)
8. 介绍一下STL的五大组件
9. STL中堆和栈是容器吗?内部的实现是什么?
10. 介绍各种迭代器
11. 了解C++11吗?介绍一下C++11的新增的枚举类型(不懂)
12. 介绍一下函数对象
13. 使用过lamba吗?lamba和函数指针的区别?
14. 介绍一下内核空间和用户空间?用户空间什么时候需要访问到内核空间?举个例子
15. 介绍一下死锁?怎么避免死锁?
16. 了解过设计模式吗?单例中饿汉模式和懒汉模式是怎么的?懒汉模式怎么实现线程安全的?
17. 说一下TCP和UDP的区别?
18. 怎么保证TCP的稳定传输?
19. 介绍一下流量控制和拥塞控制?具体讲一下流量控制里面的窗口,拥塞控制是怎样的?
20. 刷题,删除链表中的倒数第n个元素(核心代码模式)
21. 说一下思路和你写的代码里面有什么缺陷
22. 毕业的时间?可以来实习吗?
23. 介绍一下曾经的团队合作存在的问题
24. 面试管介绍一下部门,具体的工作
25. 反问环节
小米c/c++二面面经,时间: 8.26, 时长: 45分钟(约了一个小时)
1. 自我介绍
2. 介绍项目,随便问点项目里面的内容
3. 介绍一下智能指针,分别说一下里面的原理,引用计数具体是怎么实现的
4. 是否熟悉Linux
5. 说一下用户态和内核态,以及怎么访问到内核态
6. 设备驱动号什么的(不懂)
7. 网络模型有多少层,分别是什么
8. 传输层有什么协议
9. TCP怎么保证稳定传输的
10. 详细介绍下流量控制和拥塞控制
11. 介绍一下快速重传
12. 刷题:合并有序链表
13. 智力题
14. 闲聊和反问环节
总得来说,小米的面试体验就好,许愿offer