C++ 基础知识复习(六)
操作系统部分:
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++ 基础知识复习(六)的更多相关文章
- Linux基础知识第六讲,远程管理ssh操作
目录 Linux基础知识第六讲,远程管理ssh操作 一丶什么是SSH 1.什么是SSH 2.了解域名跟端口 二丶SSH命令以及远程连接linux进行维护 1.ssh命令格式 2.scp远程终端拷贝文件 ...
- ZYNQ笔记(0):C语言基础知识复习
ZYNQ的SDK是用C语言进行开发的,C语言可以说是当今理工类大学生的必备技能.我本科学C语言时就是对付考试而已,导致现在学ZYNQ是一脸懵逼.现在特开一帖,整理一下C语言的基础知识. 一.定义 1. ...
- spring 基础知识复习
spring是一个分层架构,由 7 个定义良好的模块组成.Spring 模块构建在核心容器之上,核心容器定义了创建.配置和管理 bean 的方式. 组成spring框架的每个模块(或组件)都可单独存在 ...
- JavaScript进阶【三】JavaScript面向对象的基础知识复习
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- MySQL数据库基础知识复习
现在是2020年寒假,这也是新年写的第一篇博客,用了十几天的时间自学了数据库基础部分,想总结一下得失同时并通过写博客来复习前面学的知识点. 个人: 1.本来是计划一周学完基础部分的178p但没能完成这 ...
- javascript基础知识复习一
JavaScript 一.数据类型 A.String B.Number C.boolean 1.undefined.false.null.0.“”这五个返回的都是false: 2.NAN==NAN返 ...
- C#基础知识总结(六)
摘要 方法的总结:其中包含方法的解释.方法参数.方法返回值,方法重载,out.ref.in的用法一.C#面向过程方面的总结 顺序结构:程序按照程序代码的顺序执行 分支结构:if-else.switch ...
- Android学习之基础知识十六 — Android开发高级技巧的掌握
一.全局获取Context的技巧 前面我们很多地方都使用到了Context,弹出Toast的时候.启动活动的时候.发送广播的时候.操作数据库的时候.使用通知的时候等等.或许目前来说我们并没有为得不到C ...
- JAVA基础部分复习(六、常用关键字说明)
/** * JAVA中常用关键字复习 * final * finalize * finally * * @author dyq * */ public class KeyWordReview exte ...
随机推荐
- 【jQuery示例】遍历表单数据并显示
<!DOCTYPE html> <html> <head> <style> body, select { font-size:14px; } form ...
- sqlserver 游标
DECLARE ChangeInvCodeCursor CURSOR FOR SELECT A.name AS tablecolumn,C.name AS tablename FROM sys.col ...
- sharedUserId
android:sharedUserId sharedUserId的作用是让两个应用程序共享一个user id,我们都知道linux进程给每一个应用程序分配了一个独立的user id,所以如果两个或多 ...
- 关于GeoWebCache的部署说明
最近因为工作需要学习了GeoWebCache,有了一些实战经验跟大家分享一下. 废话不多说,直接上问题! 1.切片的缓存问题 当地图服务(这里默认指WMS)的数据更新时,GeoWebCache的切片如 ...
- MySQL安装步骤
MySQL安装步骤 1. 下载MySQL Community Server 5.6.21,注意选择系统类型(32位/64位) 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下. ...
- Angular作用域的层级概念(scope)
首先引入 angular 的根作用域:$rootScope ng-app:定义了angualr的作用域 ng-controller:定义了控制器 $scope定义了视图与控制器之间的纽带,而scope ...
- css基于绝对定位的垂直水平居中技术
翻译:http://blog.csdn.net/freshlover/article/details/11579669 原文:http://coding.smashingmagazine.com/20 ...
- Python的MySQLdb模块安装
MySQL-python-1.2.1.tar.gz 下载地址:https://pan.baidu.com/s/1kVfH84v 然后解压,打开README(这个其实没有什么鸟用) 里面有安装过程: ...
- Codeforces Round #238 (Div. 2) D. Toy Sum(想法题)
传送门 Description Little Chris is very keen on his toy blocks. His teacher, however, wants Chris to s ...
- XPath函数——字符串函数(转载)
本文是转载的,原文网址:http://www.cnblogs.com/zhaozhan/archive/2010/01/17/1650242.html 字符串函数主要用来处理字符串.字符串函数主要包括 ...