操作系统部分:

79. 操作系统的最小调度单位:线程。 线程thread,进程process。一个进程至少包含一个线程,主线程,main thread。

80. 资源的最小单位是:进程。

81. 进程与线程的区别:

答: 进程是程序的运行实例,由进程控制块,程序段,数据段三部分组成。一个程序至少有一个进程,一个进程至少一个线程。进程拥有独立内存单元,多个线程共享进程的内存。进程可以独立运行,线程不可以。

82. 线程间通信:多线程可以提高系统效率,但涉及到独占性系统资源访问时可能出现问题,可以使用临界区,互斥量和信号量方式使线程同步。可以参照http://baike.baidu.com/view/6501899.htm

83. 内存管理模式:根据是否有系统区和用户区分类如下,1)无管理分区 2)单一分区 3)固定分区 4)可变分区 5)页模式。 其中页模式最常用。

84. 作业调度的算法:先来先服务算法FCFS,最短作业优先算法SJF,最高响应比优先算法HRN,基于优先数调度算法HPF。

85. 作业的一般状态:进入,后备,运行,完成。

计算机网络部分:

86. OSI七层模型是什么:

答:OSI为开放式系统互联参考模型,从下至上依次为物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。

87. TCP/IP四层机构模型:

答:将OSI参考模型中的会话、表示层合并至应用层。将物理层,数据链路层合并至主机到网络层。网络层改为网络互联层。

88. 关于进程间通信的机制:http://www.cnblogs.com/applebunny/archive/2012/07/11/2586483.html 共享存储系统,消息传递系统和管道

一些其他问题:

89. 死锁的四个必要条件:互斥条件,资源只能被一个进程使用。请求与保持条件,请求时其他已有的不释放。不剥夺条件,不能强行剥夺。循环等待条件,形成了一个环。

90. struct 成员默认是公有的,class默认是私有的。

91. 多态的作用:封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了――代码重用。 那么,多态的作用是什么呢?多态是为了实现另一个目的――接口重用!

92. new/delete 和malloc/free的联系和区别:都是在堆上进行的内存操作。malloc需指定字节数且不能初始化,new会自动调用构造函数,delete自动调用析构函数,free不会调用析构函数。c++用malloc后要强制类型转换一下。

93. C++四种强制类型转换:dynamic_cast 安全的向下转型,对象继承中使用。 static_cast 强制隐形转换,non const变为const,int变为double,void *变为具体类型。const_cast 可以强制消除对象的常量性质。 reinterprt_cast 底层强制转型,指针转整数等等。

94. static关键字的作用:限制变量作用域,设置变量存储域。(外部变量,全局变量也属于静态存储方式,但不是静态变量。注意static限定的外部变量只能在本文件中使用。)

95. 平衡二叉树,左右子树都是平衡二叉树且深度差值不大于1.

96. 什么是常函数及其作用:const是函数类型的一部分,在实现部分也要带该关键字。const关键字可以用于对重载函数的区分。常成员函数不能更新类的成员变量,也不能调用该类中没有用const修饰的成员函数,只能调用常成员函数。

C++ 基础知识复习(六)的更多相关文章

  1. Linux基础知识第六讲,远程管理ssh操作

    目录 Linux基础知识第六讲,远程管理ssh操作 一丶什么是SSH 1.什么是SSH 2.了解域名跟端口 二丶SSH命令以及远程连接linux进行维护 1.ssh命令格式 2.scp远程终端拷贝文件 ...

  2. ZYNQ笔记(0):C语言基础知识复习

    ZYNQ的SDK是用C语言进行开发的,C语言可以说是当今理工类大学生的必备技能.我本科学C语言时就是对付考试而已,导致现在学ZYNQ是一脸懵逼.现在特开一帖,整理一下C语言的基础知识. 一.定义 1. ...

  3. spring 基础知识复习

    spring是一个分层架构,由 7 个定义良好的模块组成.Spring 模块构建在核心容器之上,核心容器定义了创建.配置和管理 bean 的方式. 组成spring框架的每个模块(或组件)都可单独存在 ...

  4. JavaScript进阶【三】JavaScript面向对象的基础知识复习

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. MySQL数据库基础知识复习

    现在是2020年寒假,这也是新年写的第一篇博客,用了十几天的时间自学了数据库基础部分,想总结一下得失同时并通过写博客来复习前面学的知识点. 个人: 1.本来是计划一周学完基础部分的178p但没能完成这 ...

  6. javascript基础知识复习一

    JavaScript 一.数据类型 A.String B.Number C.boolean  1.undefined.false.null.0.“”这五个返回的都是false: 2.NAN==NAN返 ...

  7. C#基础知识总结(六)

    摘要 方法的总结:其中包含方法的解释.方法参数.方法返回值,方法重载,out.ref.in的用法一.C#面向过程方面的总结 顺序结构:程序按照程序代码的顺序执行 分支结构:if-else.switch ...

  8. Android学习之基础知识十六 — Android开发高级技巧的掌握

    一.全局获取Context的技巧 前面我们很多地方都使用到了Context,弹出Toast的时候.启动活动的时候.发送广播的时候.操作数据库的时候.使用通知的时候等等.或许目前来说我们并没有为得不到C ...

  9. JAVA基础部分复习(六、常用关键字说明)

    /** * JAVA中常用关键字复习 * final * finalize * finally * * @author dyq * */ public class KeyWordReview exte ...

随机推荐

  1. Hibernate批量处理海量数据的方法

    本文实例讲述了Hibernate批量处理海量数据的方法.分享给大家供大家参考,具体如下: Hibernate批量处理海量其实从性能上考虑,它是很不可取的,浪费了很大的内存.从它的机制上讲,Hibern ...

  2. hbase shell 常见命令

    quick start from official Hbase  hbase(main):003:0> create 'test', 'cf' 0 row(s) in 1.2200 second ...

  3. OpenGL Common Mistakes

    https://www.opengl.org/wiki/Common_Mistakes Do not use constructors/destructors to initialize/destro ...

  4. 数据存储_SQLite (2)

    SQL代码应用示例 一.使用代码的方式批量添加(导入)数据到数据库中 在ios项目中使用代码批量添加多行数据示例 代码示例: 1 // 2 // main.m 3 // 01-为数据库添加多行数据 4 ...

  5. 几款开源ESB总线的比较

    现有的开源ESB总线中,自从2003年第一个开源总线Mule出现后,现在已经是百花争鸣的景象了.现在我就对现有的各种开源ESB总线依据性能.可扩展性.资料文档完整程度以及整合难易程度等方面展开. CX ...

  6. 在Activity之间传递参数(二)

    传递数据包bundle: 1.MainActivity.class: findViewById(R.id.btnStartAty).setOnClickListener(new View.OnClic ...

  7. [译]git log进阶

    格式化log输出 oneline --oneline标记将每个commit压缩成一行. 默认情况下显示一个commit ID和commit描述的第一行. 输出如下: 0e25143 Merge bra ...

  8. uboot学习第一天

    Windows操作系统BIOS(设置) Windows系统 文件系统 驱动程序 应用程序 linux操作系统bootloader(引导系统) kernel(内核) 文件系统 驱动程序 应用程序 交叉编 ...

  9. ANT的安装

    1.下载ANT http://ant.apache.org/bindownload.cgi 2.将下载下来的压缩包解压到任意文件夹下,例如D盘根目录下D:/apache-ant-1.9.2 3.添加环 ...

  10. #define #include #undef的其中一个用法(目的)

    一.背景 最近在跟一段系统级的代码,和原来单纯的下位机代码相比,真的是刘姥姥进大观园--看花了眼.相较于 之前所常见的各种下位机代码,系统级代码常常会出现深层次结构体嵌套,结构体内的各种回调函数导致对 ...