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 ...
随机推荐
- PE启动菜单修改工具 MsgDiyer(GfxMenu Message制作工具) V2.0.3官方版
MsgDiyer基本功能 1.新建message文件.修改现有message文件:2.自定义背景图片:3.制作message字体,包括行高.大小等(目前不兼容WIN7):4.自定义字库:5.导入外置 ...
- npm命令教程
教程:http://www.runoob.com/nodejs/nodejs-npm.html 常用命令:http://www.cnblogs.com/PeunZhang/p/5553574.html
- 了解了下 Google 最新的 Fuchsia OS
就是看到篇报道,有点好奇,就去FQ挖了点东西回来. 我似乎已开始就抓到了重点,没错,就是 LK . LK 是 Travis Geiselbrecht 写的一个针对 ARM 的嵌入式操作系统,开源的.点 ...
- ReSharper 配置及用法
1:安装后,Resharper会用他自己的英文智能提示,替换掉 vs2010的智能提示,所以我们要换回到vs2010的智能提示 2:快捷键.是使用vs2010的快捷键还是使用 Resharper的快捷 ...
- php 错误
ini_set('display_errors', '1');error_reporting(E_ALL ^ E_NOTICE); 有时有了其它框架 应该用它的配置,要不然,你改了,它又改回去了: ...
- 看完《Thinking in Java》后,我觉得自己就是一个不懂编程的小孩子,如何快速摆脱这种自卑感
我虽然不懂java也不懂程序员,但我理解这种心情.当看到自己还算自信的专业领域中一部超越自己水平很多的作品或比自己优秀太多的人,难免会感到震惊,继而进行自我否定.就像我曾经非常喜欢写作,在杂志和校报上 ...
- String类的compareTo()方法的源码解析
private final char value[]; 字符串会自动转换为一个字符数组. public int compareTo(String anotherString) { //this -- ...
- 2Struts2配置----青软S2SH(笔记)
实例的文件目录如下:两个配置文件(web.xml和struts.xml),一个UserAction.java,三个jsp. 1.配置Struts2应用环境: 下载Struts2的jar包,官网是:ht ...
- centos7 没有iptables服务 file or directory? 用secureCRT登录centos?
cenetos7 采用systemd来管理服务 centos7 没有采用传统的iptables服务, 而是采用的firewalld 服务, 以及firewall-cmd 命令; 也可以采用传统的 ip ...
- tyvj1113 魔族密码
描述 风之子刚走进他的考场,就…… 花花:当当当当~~偶是魅力女皇——花花!!^^(华丽出场,礼炮,鲜花) 风之子:我呕……(杀死人的眼神)快说题目!否则……-_-### 花 ...