C++和操作系统面试题 本文旨在总结和解释 C++ 和操作系统的常见面试题,帮助读者更好地理解和掌握相关知识点。 C++ 知识点 1. inline 函数的使用限制:inline 函数只能用于简单的函数体代码,不能包含复杂的结构控制语句,如 while 和 switch。同时,inline 函数不能是直接递归函数。 2. C++ 多态实现机制:在 C++ 中,对于有 virtual 的类,其 sizeof 会比正常情况多处 4 个字节。这些字节用于存储 VTABLE 表的地址,VTABLE 中存储虚函数的指针数组。 3. 继承机制:C++ 中的继承机制可以控制成员的访问权限,分为 public、protected 和 private 三种。继承成员的访问控制规则由父类成员的访问控制方式和继承访问控制方式共同决定。 4. 模板和 virtual 异同:模板和 virtual 都是 C++ 中的重要概念,但它们有着不同的应用场景和实现机制。 5. static 的用途:static 有多种用途,包括限制变量的作用域和设置变量的存储域。 6. 引用与指针的区别:引用和指针都是 C++ 中的重要概念,但它们有着不同的特点和应用场景。 操作系统知识点 1. 进程和线程:进程是操作系统资源分配的最小单位,线程是 CPU 运行的最小单位。在 Linux 中,使用的是用户线程,对应核心线程,线程管理由内核实现。 2. 软件开发流程:软件开发流程包括需求分析和项目计划、软件设计说明书、使用手册、测试报告和项目总结等步骤。 其他知识点 1. 实时系统的基本特性:实时系统的基本特性包括在特定时间内完成特定的任务,实时性与可靠性。 2. 全局变量和局部变量的区别:全局变量储存在静态数据区,局部变量在堆栈。 3. 平衡二叉树:平衡二叉树是一种特殊的二叉树,左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于 1。 4. 堆栈溢出:堆栈溢出一般是由没有回收垃圾资源导致的。 5. 构造函数:构造函数不能声明为虚函数。 6. 冒泡排序算法:冒泡排序算法的时间复杂度是 O(n^2)。 7. 浮点数比较:浮点数比较需要注意精度问题,通常使用 if(x>0.000001&&x<-0.000001)来比较浮点数。 8. 网络协议: Internet 采用 TCP/IP 协议,该协议的主要层次结构包括应用层、传输层、网络层、数据链路层和物理层。 9. 地址解析协议:ARP 协议用于将 IP 地址转换为物理地址。 10. IP 地址编码:IP 地址由两部分组成,网络号和主机号,需要和子网掩码按位与上来区分哪些是网络位哪些是主机位。
- 粉丝: 16
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助