操作系统面经30问

1.switch能不能用浮点型
2.介绍一下死锁
3.多态是什么?多态是怎么实现的?
4.C++继承关系
5.C/C++区别
6.动态链接和静态链接
7.STL容器用过哪些,用在什么地方
8.虚函数实现多态原理
9.给你1G内存怎么管理?怎么实现动态内存分配?
10.共用体的作用
11.定义一个类,一个成员都没有在64位上占多少字节?如果加一个虚析构函数呢?
12.头文件重复包含解决
13.深拷贝和浅拷贝的区别
14.多线程如何保证线程安全
15.链接过程涉及到的文件类型,这个问题感觉他问的不太清楚,提示让我从堆栈角度分析
16.如何将左值强制转换成右值(这里开始考查C++11了)
17.使用auto在程序中是否会显示变量类型?
18.C++11的那些特性?
19.static在C语言中的函数和C++的对象中有什么区别
20.16位机器中,char* 和 int* 的内存大小
21.什么是函数指针,指针函数?
22.指针数组和数组指针;
23.struct和class的区别?
24.virtual函数的作用?
25.glibc的内存管理的实现
26.typedef和#define
27.如果有一个线程长时间占用资源怎么办?
28.说说内核态和用户态
29.说说缓存吧!为什么操作系统有缓存机制?
30.进程什么情况下会发生调度!
答案在下方面经中都有整理
全部评论

相关推荐

1. 描述C++程序到可执行程序的四个过程。2. 说明面向对象的特性。3. 区分静态多态和动态多态。4. 解释动态多态和静态多态的原理,并比较它们的效率。5. 什么是智能指针?6. `shared_ptr` 是否线程安全?7. 解释深拷贝和浅拷贝的区别。8. 比较 `i++`、`++i` 和 `++(i++)` 的行为。9. 解释右值引用、移动语义以及其底层原理。10. `vector` A 存储在哪里?`A.push_back(1)` 中的 `1` 存储在哪里?11. `vector` 的 `clear` 和 `push_back` 的时间复杂度及其原因。12. STL 容器是否线程安全?为什么?13. 线程和进程的区别。14. 计算线程创建的最大数量的公式。15. 什么是协程?协程是否有创建数量的限制?16. 什么是死锁?17. 每个线程需要 100 把锁,如何避免死锁?18. 解释 `thread_local` 的用法和作用。19. 什么是野指针?如何避免野指针?20. 解释 `new`、`delete` 和 `malloc`、`free` 的区别和常识。21. 虚函数、虚函数表和虚指针的概念是什么?22. 面向对象的基本特征。23. 解释死锁的四个必要条件。24. 区分内联函数和宏定义。25. 动态链接和静态链接的区别。26. 编译过程的各个阶段是什么?27. 如何找到两个无环链表的公共节点?28. 如何在无序的浮点数数组中找到中位数?29. 快速排序的原理及其优化方式。30. 列出三种智能指针及其特点。31. 解释左右值的概念。32. 描述三种特殊构造函数。33. `i++` 和 `++i` 是左值还是右值?34. 什么是完美转发?35. 右值能否取到地址?问题答案已经整理到专栏中了,关注我分享更多知识。  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看35道真题和解析
点赞 评论 收藏
分享
1. vector的insert()和emplace()有什么区别?2. C++中的智能指针有哪些?各自的特点是什么?3. 解释一下C++中的RAII原则。4. 默认构造函数、拷贝构造函数和移动构造函数的区别是什么?5. C++中如何实现多重继承?存在哪些问题?6. 什么是构造函数委托?如何使用?7. 解释一下C++中的类型推导。8. C++中static和const的区别是什么?9. 解释一下C++中的命名空间。10. C++中的引用和指针有什么区别?11. C++中的const_cast、static_cast、dynamic_cast和reinterpret_cast的区别是什么?12. C++中如何实现单例模式?13. 解释一下C++中的虚析构函数的作用。14. C++中的内存对齐是什么?为什么重要?15. 如何实现一个线程安全的单例类?16. C++中如何处理异常?异常安全的保证是什么?17. C++中的析构函数执行顺序是什么?18. 解释一下C++中的模板特化。19. C++中如何使用std::bind和std::function?20. C++中的std::unique_ptr与std::shared_ptr的区别是什么?21. C++中如何使用std::tuple?22. 解释一下C++中的std::variant。23. C++中的lambda表达式的返回类型如何推导?24. C++中如何实现自定义的哈希函数?25. C++中的std::optional是什么?有什么用?26. 解释一下C++中的move语义和拷贝语义。27. C++中如何使用多线程库(如std::thread)?28. C++中的内存管理策略有哪些?29. C++中如何实现自定义的迭代器?30. C++中的std::array与C风格数组的区别是什么?31. C++中的volatile关键字有什么作用?32. C++中如何使用条件变量实现线程同步?33. 解释一下C++中的函数模板与类模板的区别。34. C++中的std::string与C风格字符串的区别是什么?35. C++中如何实现自定义的异常类?  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看35道真题和解析
点赞 评论 收藏
分享
2 10 评论
分享
牛客网
牛客企业服务