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 ...
随机推荐
- TAC 坦克队
The Art of Code 团队成员 组长: 031402330吴宇轩 组员: 031402509胡泽善 031402224彭 巍 031402230张建明 031402508 ...
- asp.net mvc4+mysql做一个简单分页组件(部分视图)
在开始做mysql分页功能组件前,便设定的是要有一定可复用性.先在项目里Views文件夹下右键新建名为_PaginationComponent.cshtml,这里html及css我采用的bootstr ...
- ansible的SSH连接问题
问题描述: 在ansible安装完毕后一般需要以SSH的方式连接到需要进行管理的目标主机,一开始遇到了如下问题: # ansible -m ping all 10.200.xx.xx | UNREAC ...
- PHP处理0e开头md5哈希字符串缺陷/bug
PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他 ...
- hoj 2634 How to earn more
有m个项目和n个员工,做项目i可以获得Ai元,但是必须雇用若干指定的员工.雇用员工j需要Bj元,一旦雇用便可以参与多个项目.问最大收益. 1<=M,N<=100. 最小割. 源点向每个项目 ...
- Python Day8
Socket Socket是网络编程的一个抽象概念.通常我们用一个Socket表示"打开了一个网络链接",而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型 ...
- ASP.NET中使用JqGrid完整实现
文章提纲 介绍 & 使用场景 JqGrid的一些说明 JqGrid和ASP.NET整合详细步骤 前置准备 框架搭建 数据填充 数据增/删/改 其他 介绍&使用场景 JqGrid不是一个 ...
- 面试题目——《CC150》位操作
面试题5.1:给定两个32位的整数N与M,以及表示比特位置的i与j.编写一个方法,将M插入N,使得M从N的第j位开始,到第i位结束.假定从j位到i位足以容纳M,也即若M=10011,那么j与i之间至少 ...
- python程序一直在后台运行的解决办法
刚写了个python程序,要一直在后台运行,即使断开ssh进程也在,下面是解决办法: 假如Python程序为test.py 编写shell脚本start.sh #!/bin/bash python t ...
- DbHelper为什么要用Using?
我们分析一下DbHelper做什么事情,大家都知道它用于数据库的连接操作,这里的数据库连接会创建非托管资源,c#的垃圾回收机制不会对它处理,需要实现IDisposable接口手动释放. 手动释放的 ...