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 ...
随机推荐
- UITableView的使用
参考:IOS7.0 programming cookbook. http://www.cnblogs.com/kenshincui/p/3931948.html http://blog.csdn.ne ...
- 运维自动化轻量级工具pssh
1pssh介绍 pssh是python写的可以并发在多台机器上批量执行命令的工具,它的用法可以媲美ansible的一些简单用法,执行起来速度比ansible快它支持文件并行复制,远程命令执行,杀掉远程 ...
- VS使用技巧——统计代码行数
通常为了统计一个文件或者一整个解决管理方案中代码行量,可能会选择定位来获取行量,但是当文件尤其大时,传统方式就不行了,这里推荐使用正则表达式搜索统计,可以快速获取目标文档的总代码量. Tips: ct ...
- 在渲染前获取 View 的宽高
在渲染前获取 View 的宽高 这是一个比较有意义的问题,或者说有难度的问题,问题的背景为:有时候我们需要在view渲染前去获取其宽高,典型的情形是,我们想在onCreate.onStart.onRe ...
- import第三方库的头文件找不到的错误
问题描述:使用cocoapods导入了第三方库,import该第三方库的某个头文件,然后编译报错找不到这个头文件内所import的头文件. 产生原因:我们需要配置头文件的搜索路径,告诉系统头文件的路径 ...
- deepin 15.3添加PPA源 安装php5.6
想要在deepin 15.3上安装PHP5.6,我们需要手动添加源. 在https://launchpad.net/+search?field.text=php上可以通过搜索找到你想要的软件源, PP ...
- Xcode真机测试could not find developer disk image解决方法
原文地址:http://my.oschina.net/u/2340880/blog/521700 Xcode真机测试could not find developer disk image解决方法 在使 ...
- bzoj1616
水水啊,直接搜就行,不过bfs好像会mle(一定是我太菜了QAQ) #include<iostream> #include<algorithm> #include<cst ...
- js获取Html元素的实际宽度高度
第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}.这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度. 第 ...
- jquery的offset().top 和position().top 详解 和如何用js实现
1 jquery定义: offset().top 相对于当前文档的坐标(的高度) ps:包括滚动条卷去的高度 position().top 返回的是相对于其定位的祖辈元素的坐标(的高度) ps:包括滚 ...