文档库 最新最全的文档下载
当前位置:文档库 › 计算机常见技术面试题

计算机常见技术面试题

计算机常见技术面试题
计算机常见技术面试题

第1章C/C++部分

面向对象的三个基本特征,并简单叙述之?

1. 封装:将客观事物抽象成类,每个类对自身的数据和方法实行protection(private, protected,public)

2. 继承:广义的继承有三种实现形式:实现继承(指使用基类的属性和方法而无需额外编码的能力)、可视继承(子窗体使用父窗体的外观和实现代码)、接口继承(仅使用属性和方法,实现滞后到子类实现)。前两种(类继承)和后一种(对象组合=>接口继承以及纯虚函数)构成了功能复用的两种方式。

3. 多态:是将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。

new、delete、malloc、free关系

malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符,new会调用对象的构造函数,delete会调用对象的析构函数。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用malloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。因此C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以及一个能完成清理与释放内存工作的运算符delete。注意new/delete不是库函数。

什么是“引用”?申明和使用“引用”要注意哪些问题?

答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。声明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。不能建立数组的引用。

将“引用”作为函数参数有哪些特点?

(1)传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。

(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还将调用拷贝构造函数。因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。

(3)使用指针作为函数的参数虽然也能达到与使用引用的效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用"*指针变量名"的形式进行运算,这很容易产生错误且程序的阅读性较差;另一方面,在主调函数的调用点处,必须用变量的地址作为实

参。而引用更容易使用,更清晰。

“引用”与指针的区别是什么?

指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。此外,就是上面提到的对函数传ref和pointer的区别。

结构与联合有和区别?

(1). 结构和联合都是由多个不同的数据类型成员组成, 但在任何同一时刻, 联合中只存放了一个被选中的成员(所有成员共用一块地址空间), 而结构的所有成员都存在(不同成员的存放地址不同)。

(2). 对于联合的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于结构的不同成员赋值是互不影响的。

多态的作用?

主要是两个:

1. 隐藏实现细节,使得代码能够模块化;扩展代码模块,实现代码重用;

2. 接口重用:为了类在继承和派生的时候,保证使用家族中任一类的实例的某一属性时的正确调用。

描述内存分配方式以及它们的区别?

1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。

2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集。

3)从堆上分配,亦称动态内存分配。程序在运行的时候用malloc 或new 申请任意多少的内存,程序员自己负责在何时用free 或delete 释放内存。动态内存的生存期由程序员决定,使用非常灵活,但问题也最多。

struct 和class 的区别

答案:struct 的成员默认是公有的,而类的成员默认是私有的。struct 和class 在其他方面是功能相当的。从感情上讲,大多数的开发者感到类和结构有很大的差别。感觉上结构仅仅象一堆缺乏封装和功能的开放的内存位,而类就象活的并且可靠的社会成员,它有智能服务,有牢固的封装屏障和一个良好定义的接口。既然大多数人都这么认为,那么只有在你的类有很少的方法并且有公有数据(这种事情在良好设计的系统中是存在的!)时,你也许应该使用struct 关键字,否则,你应该使用class 关键字。

请说出const与#define 相比,有何优点?

答案:

第1章C/C++部分

Const作用:定义常量、修饰函数参数、修饰函数返回值三个作用。被Const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。

1)const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。

2)有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。

简述数组与指针的区别?

数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。

请你分别画出OSI的七层网络结构图和TCP/IP的五层结构图。

应用层:为应用程序提供服务

表示层:处理在两个通信系统中交换信息的表示方式

会话层:负责维护两个结点间会话连接的建立、管理和终止,以及数据交换

传输层:向用户提供可靠的端到端服务。UDP TCP协议。

网络层:通过路由选择算法为分组通过通信子网选择最适当的路径,以及实现拥塞控制、网络互联等功能。数据传输单元是分组。IP地址,路由器,IP协议。

数据链路层:在物理层提供的服务基础上,数据链路层在通信的实体间建立数据链路连接,传输一帧为单位的数据包(,并采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。)

物理层:传输比特流。传输单元是比特。调制解调器。

请你详细地解释一下IP协议的定义,在哪个层上面?主要有什么作用?TCP与UDP呢?

网络层。

请问交换机和路由器各自的实现原理是什么?分别在哪个层次上面实现的?

交换机:数据链路层。路由器:网络层。

8086是多少位的系统?在数据总线上是怎么实现的?

8086微处理器共有4个16位的段寄存器,在寻址内存单元时,用它们直接或间接地存放段地址。

代码段寄存器CS:存放当前执行的程序的段地址。

数据段寄存器DS:存放当前执行的程序所用操作数的段地址。

堆栈段寄存器SS:存放当前执行的程序所用堆栈的段地址。

附加段寄存器ES:存放当前执行程序中一个辅助数据段的段地址。

由cs:ip构成指令地址,ss:sp构成堆栈的栈顶地址指针。DS和ES用作数据段和附加段的段地址(段起始地址或段值)

8086/8088微处理器的存储器管理

1.地址线(码)与寻址范围:N条地址线寻址范围=2N

2.8086有20地址线寻址范围为1MB 由00000H~FFFFFH

3. 8086微处理器是一个16位结构,用户可用的寄存器均为16位:寻址64KB

4. 8086/8088采用分段的方法对存储器进行管理。具体做法是:把1MB的存储器空间分成若干段,每段容量为64KB,每段存储器的起始地址必须是一个能被16整除的地址码,即在20位的二进制地址码中最低4位必须是“0”。每个段首地址的高16位二进制代码就是该段的段号(称段基地址)或简称段地址,段号保存在段寄存器中。我们可对段寄存器设置不同的值来使微处理器的存储器访问指向不同的段。

5.段内的某个存储单元相对于该段段首地址的差值,称为段内偏移地址(也叫偏移量)用16位二进制代码表示。

6.物理地址是由8086/8088芯片地址引线送出的20位地址码,它用来参加存储器的地址译码,最终读/写所访问的一个特定的存储单元。

7.逻辑地址由某段的段地址和段内偏移地址(也叫偏移量)两部分所组成。写成:

段地址:偏移地址(例如,1234H:0088H)。

8.在硬件上起作用的是物理地址,物理地址=段基地址×10H十偏移地址

什么是平衡二叉树?

答、左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1。

堆栈溢出一般是由什么原因导致的?

答、1.没有回收垃圾资源

2.层次太深的递归调用

什么函数不能声明为虚函数?

答、constructor

Deconstructor 可以声明为虚函数。

冒泡排序算法的时间复杂度是什么?

答、O(n^2)

Internet采用哪种网络协议?该协议的主要层次结构?

答、tcp/ip 应用层/表示层/传输层/网络层/数据链路层/物理层

74.Internet物理地址和IP地址转换采用什么协议?

答、ARP (Address Resolution Protocol)(地址解析协议),通过IP地址得知其物理地址。

第1章C/C++部分

75.IP地址的编码分为哪俩部分?

答、IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与之后才能区分哪些是网络位哪些是主机位。

关键字static的作用是什么?

这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:

1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。

3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。

关键字const是什么含意?

(1)可以定义const常量;

(2)可以修饰函数的参数和返回值,甚至函数的定义体。

被const修饰的东西都受到强制保护,可以预防意外的变动。

我只要一听到被面试者说:“const意味着常数”,我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着“只读”就可以了。尽管这个答案不是完全的答案,但我接受它作为一个正确的答案。(如果你想知道更详细的答案,仔细读一下Saks的文章吧。)如果应试者能正确回答这个问题,我将问他一个附加的问题:下面的声明都是什么意思?

const int a;

int const a;

const int *a;

int * const a;

int const * a const;

前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可

修改的)。如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。顺带提一句,也许你可能会问,即使不用关键字const,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重关键字const呢?我也如下的几下理由:

1). 关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。(当然,懂得用const的程序员很少会留下的垃圾让别人来清理的。)

2). 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。

3). 合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug的出现。

什么是预编译,何时需要预编译?

预编译又称为预处理,是做些代码文本的替换工作。处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等,就是为编译做的预备工作的阶段,主要处理#开始的预编译指令,预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。

c编译系统在对程序进行通常的编译之前,先进行预处理。c提供的预处理功能主要有以下三种:1)宏定义2)文件包含3)条件编译

1、总是使用不经常改动的大型代码体。

2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。

110.进程和线程的区别

什么是进程(Process):普通的解释就是,进程是程序的一次执行,而什么是线程(Thread),线程可以理解为进程中的执行的一段程序片段。在一个多任务环境中下面的概念可以帮助我们理解两者间的差别:

进程间是独立的,这表现在内存空间,上下文环境;线程运行在进程空间内。一般来讲(不使用特殊技术)进程是无法突破进程边界存取其他进程内的存储空间;而线程由于处于进程空间内,所以同一进程所产生的线程共享同一内存空间。同一进程中的两段代码不能够同时执行,除非引入线程。线程是属于进程的,当进程退出时该进程所产生的线程都会被强制退出并清除。线程占用的资源要少于进程所占用的资源。进程和线程都可以有优先级。在线程系统中进程也是一个线程。可以将进程理解为一个程序的第一个线程。

线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:

(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;

(2)进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源

(3)线程是处理器调度的基本单位,但进程不是.

(4)二者均可并发执行.

第1章C/C++部分

111.插入排序和选择排序

插入排序基本思想:(假定从大到小排序)依次从后面拿一个数和前面已经排好序的数进行比较,比较的过程是从已经排好序的数中最后一个数开始比较,如果比这个数小,继续往前面比较,直到找到比它大的数,然后就放在它的后面,如果一直没有找到,肯定这个数已经比较到了第一个数,那就放到第一个数的前面。那么一般情况下,对于采用插入排序法去排序的一组数,可以先选取第一个数做为已经排好序的一组数。然后把第二个放到正确位置。

选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕。

归并排序

归并操作(merge),也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作。

如设有数列{6,202,100,301,38,8,1}

初始状态:[6] [202] [100] [301] [38] [8] [1] 比较次数

i=1 [6 202 ] [ 100 301] [ 8 38] [ 1 ] 3

i=2 [ 6 100 202 301 ] [ 1 8 38 ] 4

i=3[ 1 6 8 38 100 202 301 ] 4

总计:11次

堆排序

堆排序的特点是:在排序过程中,将R[l..n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系(参见二叉树的顺序存储结构),在当前无序区中选择关键字最大(或最小)的记录

希尔排序

先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2

该方法实质上是一种分组插入方法。

给定实例的shell排序的排序过程

假设待排序文件有10个记录,其关键字分别是:

49,38,65,97,76,13,27,49,55,04。

增量序列的取值依次为:5,3,1

有关重载函数

返回值类型不同构不成重载

参数参数顺序不同能构成重载

c++函数同名不同返回值不算重载!函数重载是忽略返回值类型的。

、插入排序(Insertion Sort) 1. 基本思想:每次将一个待排序的数据元素,插入到前

面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。

选择排序 1. 基本思想:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。

、冒泡排序(BubbleSort) 1. 基本思想:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。

快速排序(Quick Sort) 1. 基本思想:在当前无序区R[1..H]中任取一个数据元素作为比较的"基准"(不妨记为X),用此基准将当前无序区划分为左右两个较小的无序区:R[1..I-1]和R[I+1..H],且左边的无序子区中数据元素均小于等于基准元素,右边的无序子区中数据元素均大于等于基准元素,而基准X则位于最终排序的位置上,即R[1..I-1]≤X.Key≤R[I+1..H](1≤I≤H),当R[1..I-1]和R[I+1..H]均非空时,分别对它们进行上述的划分过程,直至所有无序子区中的数据元素均已排序为止。

快速排序是目前基于比较的内部排序中被认为是最好的方法

结构体大小

注意内存对齐的原则,一般为最大数据长度的整数倍;如果最大数据长度大于处理器长度,取为处理器长度的整数倍。

静态成员变量不占用大小(在静态区域分配内存,sizeof无法测出)

③类大小

空类大小为1;

多重继承空类空间大小为1;

虚继承的空类大小为4(虚指针的大小)

④指针大小

4字节

⑤数组大小

数组名的本质:不仅仅是常量指针,包含更多信息,但可以赋值给指针。

注意区别数组名与指针。

Sizeof(数组名)――数组大小

Sizeof(数组首地址)――指针大小

⑥字符串大小

Sizeof(字符串)――包含结束符’\0’

Strlen(字符串)――字符串大小

(1)内存分配方式有三种:

从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。

第1章C/C++部分

在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。

从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活。

1.拷贝构造函数

特殊的构造函数,用于依据已建立的对象建立一个新对象。

(1)自定义的拷贝构造函数

Classname(const classname &p)

{

//函数体;

}

(2)缺省的拷贝构造函数

C++编译器自动生成,基本能够胜任大多数工作,无需再自定义。

但只能执行浅拷贝。

当成员变量含有指向堆的指针(动态申请内存的指针)时,就必须用深拷贝,即自己定义拷贝构造函数。

浅拷贝:没有复制资源,复制后指向同一资源

深拷贝:复制了资源,复制后指向不同资源。

(3)调用形式:

Classname p2(p1); //p1是已建立的对象;

Classname p2 = p1;

注意:与构造函数一样,拷贝构造函数同样没有返回值。类中有指针时,有时拷贝构造函数有可能会产生错误。

3 如果一个类对象作为另外一个类的成员,即组合,则在构造时,先调用成员构造函数,再调用整个类的构造函数。析构时顺序相反。

2.This指针

This指针是一种特殊的对象指针,是一种隐含指针。它是成员函数所属对象的指针,指向调用该成员函数的对象的地址。

This指针是如何工作的呢?

对于每一个成员函数,C++编译器都会将其做一些简单处理,如:

Init(int x, int y);

会变成:

Init(&ob,int x,int y);

C++编译器把对象作为参数传递给函数(传地址)。

1.1虚函数

用于实现多态(允许将子类类型的指针赋值给父类类型指针)机制,核心理念就是通过基类访问派生类定义的函数。一个类中的虚函数常常是你希望重载的成员函数。

多态:用同一代码产生不同的效果的特点。

使用时,基类声明的虚函数,在派生类中也是虚函数,即使不再使用virtual 关键字。

虚函数的限制:

?只有类的成员才能声明为虚函数;

?静态成员函数不能声明为虚函数

?内联函数不能声明为虚函数

?构造函数不能声明为虚函数

?析构函数通常声明为虚函数,否则会出现内存泄漏的情况。

1.1.1Vtable机制

编译器为每个类的虚函数建立一个虚函数表Vtable,vtable实际上是一个函数指针的数组,派生类有自己的vtable,派生类的vtable与基类的vtable有相同的函数排列顺序,在创建类事例的时候,编译器还会在每个事例的内存布局中增加一个vptr字段,该字段指向本类的vtable。在运行时刻决定调用个函数。

每个虚函数都在vtable中占了一个表项,保存着一条跳转到它的入口地址的指令(实际上就是保存了它的入口地址)。当一个包含虚函数的对象(注意,不是对象的指针)被创建的时候,它在头部附加一个指针指向vtable中相应的位置。调用虚函数的时候,不管你是用什么指针调用的,它先根据vtable找到入口地址再执行,从而实现了“动态”联编。而不是像普通函数那样简单地跳转到一个固定位置。

1.1.2override与overload的区别

override是指派生类重写基类的虚函数,类似与“覆盖”。允许子类重新定义

第1章C/C++部分

成员函数。本质是迟后联编。正是多态的实现方式。

overload是指编写一个与已有函数同名但参数表不同的函数,类似与“重载”。允许存在多个同名函数,依靠参数确定与哪个函数匹配。本质是先期联编,与多态无关。

1.1.3纯虚函数

classa

{

virtualb()=0;//纯虚函数

virtualc(){...}//虚函数

};

?纯虚函数所属的类仅做为接口使用,不能实例化(即不能生成一个该类的对象).属于抽象类。

?接口类的子类(derivedclass)必须overriden每个纯虚函数,使之成为非纯虚函数后,该类才能产充许产生实例;

?纯虚函数可以有该函数的定义,有可以没有.但纯虚析构函数必须要有定义.

?虚函数在派生类中可以重载也可以不,但纯虚函数必须要重载。二者都体现了多态性。但最大区别:有纯虚函数的类不能定义对象。

1.1.4虚析构函数

基类的析构函数必须是虚的。否则,会出现一种典型的,很隐蔽的内存泄漏情况,如下:

基类的析构函数必须是虚的,否则会出现一种典型的内存泄漏情况。

class A

{

Public:

A() {ptra = new char[10];}

~A() {delet[] ptra;}

Private:

Char *ptra;

};

Class B:public A

{

Public:

B() {ptrb = new char[20];}

~B() {delete[] ptrb;}

Private:

Char *ptrb;

};

Void foo()

{

A *a = new B;

Delete a;

}

//由于在delete a的时候实际上调用的析构函数是A::~A(),而B类的析构函数并没有被调用,此时会出现内存泄漏。

//因此,基类的析构函数必须要声明为虚函数。

1.2其他问题

1.2.1文件操作

声明一个文件指针:FILE *fp;

打开文件:fp = fopen(filename,使用方式);

关闭文件:fclose(fp);

向文件写字符:fputc(ch,fp);

从文件读字符:ch = fget(fp);

1.2.2内存泄漏浅析

就是使用内存资源后没有被回收。通常是指堆内存的泄漏,堆内存在使用完后必须显式释放。

malloc,realloc,new申请,free,delete释放。

内存泄漏分为4类:

(1)常发性内存泄漏;

(2)偶发性内存泄漏;

(3)一次性内存泄漏;

(4)隐式内存泄漏;

单元测试,一个一个得试,看是哪个模块出了问题。

检测内存泄漏,关键是能截获住对分配和释放内存的函数的调用,然后跟踪每一块内存的生命周期。

Windows下,检测内存泄漏的工具常用的有三种:

(1)MS C-runtime Library;

(2)Performance Monitor;

第1章C/C++部分

(3)Purify, BoundsChecher等,外挂式;

面向对象

MFC

Windows程序的入口是哪里?写出Windows消息机制的流程。???

入口在.main()/WinMain()

应用层:为应用程序提供服务

表示层:处理在两个通信系统中交换信息的表示方式

会话层:负责维护两个结点间会话连接的建立、管理和终止,以及数据交换

传输层:向用户提供可靠的端到端服务。UDP TCP协议。

网络层:通过路由选择算法为分组通过通信子网选择最适当的路径,以及实现拥塞控制、网络互联等功能。数据传输单元是分组。IP地址,路由器,IP协议。

数据链路层:在物理层提供的服务基础上,数据链路层在通信的实体间建立数据链路连接,传输一帧为单位的数据包(,并采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。)

物理层:传输比特流。传输单元是比特。调制解调器。

Windows应用程序消息处理机制:

A. 操作系统接收应用程序的窗口消息,将消息投递到该应用程序的消息队列中

B. 应用程序在消息循环中调用GetMessage函数从消息队列中取出一条一条的消息,取出消息后,应用程序可以对消息进行一些预处理。

C. 应用程序调用DispatchMessage,将消息回传给操作系统。

D. 系统利用WNDCLASS结构体的lpfnWndProc成员保存的窗口过程函数的指针调用窗口过程,对消息进行处理。

简单理解:应用程序相当于大脑,操作系统相当于感知神经,输入输出设备相当于动作。

3:应用程序调用windows API函数通知操作系统执行某个具体的动作,如操作系统能控制声卡发出声音,但需要应用程序告诉操作系统发出什么样的声音。

1:操作系统按照某API函数提供的参数信息产生一个相应的动作。

4:操作系统将输入输出设备的变化传给应用程序,如:用户按下键盘,操作系统知道用户按下的是哪一个键。

2:操作系统并不决定对这一事件如何做出反应,而是将这一事件转交给应用程序,由应用程序决定如何对这一事件作出反应,即消息响应。

消息队列:操作系统将每个感知到的事件包装成一个称为消息的结构体MSG来传递给应用程序。

MFC:

第1章C/C++部分

(Microsoft Foundation Classes),是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。

MSDN (Microsoft Developer Network),这是微软公司面向软件开发者的一种信息服务。

通过MSDN可以看到MFC中类的继承图表,用MSDN可以方便查找MFC的类及其成员函数的用法。

VS2005提供了强大的向导工具MFC

AppWizard:使用AppWizard生成应用程序的框架。常用的MFC类:

CWinApp:MFC希望把程序的主函数的函数体分也作为一个对象来处理,为此提供了应用程序类CWinApp.

CFrameWnd:框架窗口类。承担应用程序窗口边框那部分任务。

CView:视图类。程序窗口的用户区部分,由它的对象来完成数据的显示,用户区消息响应和处理。

CDocument:文档类。负责程序数据的存储,运算和管理。

CDialog:对话框类。由它派生出如字体对话框类CFontDialog,颜色对话框类 CColorDialog等。

大多数MFC类的基类:CObject。其虚析构函数是虚拟的。

COM ----Component Object Model :是个二进制规范,可以建立能够相互通信的组件,COM组件开发:先开发组件接口,保证一切能顺利配合,然后实现接口要求的一切。

1.接口

接口是纯抽象积累(成员函数是纯虚函数)。

组件继承于多个接口(多重继承),并对纯抽象基类的纯虚函数实现。

接口定义:(命名:以I打头)

#include //define interface

Interface IX //接口

{

纯虚函数;

}

Interface IX

{

纯虚函数;

}

Class CA:public IX //组件

Public IY

{

Implementation of IX;

Implementation of IX;

}

图形化表示:客户和组件通过两个接口通信。

COM所有接口都继承了IUnknown接口,每个接口的vtbl(Vtbl是虚拟函数表,包含一组指向虚拟函数实现的指针)中的前三个函数都是QueryInterface,AddRef,Release.

2.QueryInterface函数:查询接口

COM客户并不知道一个组件所支持的接口是什么,为知道某个组件是否支持某

个特定的接口,通过此函数查询某个组件是否支持某个特定的接口。

IUnknown的另外两个成员函数AddRef和Release的作用:给客户提供一种让它指示何时处理完一个接口的手段。生命周期的控制

3. 类厂:类厂是一种特殊的对象,它包含致力于创建对象的方法;

类厂创建了一个实现对象,并返回该对象上的一个接口。(因为,一个实现可以

包含多个接口的方法)。

类厂实际上就是一个带有能够创建其他组件的组件。

3.智能指针:实际也是定义接口的指针。

智能指针是一个和接口相关的类,类似于接口指针的行为,伴随有自动的参数计算。

接口CATIxxx的智能指针为CATIxxx_var,智能指针定义在相同的头文件中。

智能指针通过构造函数,析构函数,赋值运算符等等管理参数计数。

用智能指针还是AddRef/Release?(作用类似)

当一个函数返回接口指针时,要避免用智能指针get result。

当一个函数返回智能指针时,用智能指针获取结果。

你可以在函数中用智能指针访问作为输入参数的接口指针。

4.H RESULT:许多COM接口函数的返回值。

数据结构:排序,链表,二叉树(课件)

二叉树:二叉树第i(i≥1)层上至多有2i-1个结点。深度为k(k≥1)的二叉树至多有2k-1个结点。

先根遍历可以递归的描述如下:

如果根不空,则

(1) 访问根结点;

(2) 按先根次序遍历左子树;

(3) 按先根次序遍历右子树;

中根遍历可以递归的描述如下:

如果根不空,则

(1) 按中根次序遍历左子树;

(2) 访问根结点;

(3) 按中根次序遍历右子树;

第1章C/C++部分

如果根不空,则

(1) 按后根次序遍历左子树;

(2) 按后根次序遍历右子树;

(3) 访问根结点;

建立二叉排序树的思路:

(1) 让k1做根;

(2) 对于k2,若k2

(3) 对于k3,从根k1开始比较。若k3

(4) 对于k4,k5,…,kn,重复第(3)步,直到kn处理完为止

哈夫曼树(Huffman)又称最优二叉树,是一类带权路径长度最短的树,

1. 哈夫曼树的基本概念

在讨论哈夫曼树之前首先需要弄清楚关于路径和路径长度的概念。树中两个结点之间的路径由一个结点到另一结点的分支构成。两结点之间的路径长度是路径上分支的数目。树的路径长度是从根结点到每一个结点的路径长度之和。

网络

软件工程

软件测试

计算机基础知识面试题库

对于项目 1. 明确你的项目到底是做什么的,有哪些功能 2. 明确你的项目的整体架构,在面试的时候能够清楚地画给面试官看并且清楚地指出从哪里调用到哪里、使用什么方式调用 3. 明确你的模块在整个项目中所处的位置及作用 4. 明确你的模块用到了哪些技术,更好一些的可以再了解一下整个项目用到了哪些技术 操作系统 1.操作系统的四大特性: a)并发性 b)共享性 c)虚拟性 d)不确定性 2.请叙述一下并发和并行两个概念的区别? a)并行是指两个或多个事件在同一时刻发生,并发是指两个或多个事件在同一时间 间隔内发生。 3.什么是进程?什么是线程? a)“进程是一个可并发执行的,具有独立功能的程序关于某个数据集合的一次执行过 程,也是操作系统进行资源分配和调度的独立单位”。进程是资源分配的基本单 位。 b)线程也称为轻量级进程(LWP),是程序执行流量的最小单位,它是进程的一个实 体,是系统独立调度和分派处理机的基本单位。线程是操作系统调度的最小单 位。 4.进程和线程的区别?从调度、并发性、拥有资源和系统开销四个方面来比较: a)调度。在引入线程的操作系统中,把线程作为调度和分派CPU的基本单位,把进 程作为资源分配的基本单位,显著提高了并发程度。由于系统调度的基本单位是 线程,所以每个进程至少创建一个线程,否则无法被调度。 b)并发性。多线程可以提高服务的质量,在一个线程阻塞时,还有其他线程提供服 务。

c)拥有资源。进程是拥有资源的独立单位,线程自己不拥有系统资源,而是共享进 程的资源(包括代码段、数据段即系统资源等)。 d)系统开销。进程切换的开销远远大于线程切换的开销,进程的切换需要保存很多 现场,但线程只需要保存和设置少量的寄存器内容,不涉及存储器管理方面的操 作。 5.进程的特征: a)动态性:进程是动态产生和动态消亡的,有其生存周期。 b)并发性:一个进程可以与其他进程一起向前推进。 c)独立性:一个进程是一个相对完整的调度单位。 d)异步性:每个进程都已相对独立、不可预知的速度向前推进。 e)结构性:为了控制和管理进程,系统为每个进程设立一个进程控制块(PCB)。 6.进程有几种状态? a)就绪状态 b)运行状态:单CPU环境下,系统处于运行状态的进程最多只有一个。 c)阻塞状态 7.进程的组成: a)程序: b)数据集合:进程独有 c)进程控制块(PCB):它和进程一一对应,PCB是操作系统能感知进程存在的唯一标 识,操作系统正是通过管理PCB来管理进程的。系统创建进程时,为每个进程分 配PCB,进程执行完成后,系统释放PCB,进程也随之消亡。 8.进程的切换: a)进程上下文包含用户级上下文、系统级上下文、寄存器上下文 b)进程上下文切换是核心态的切换,不发生在用户态。 c)用户态到核心态之间的转变是CPU模式的改变。模式切换不同于进程切换,并不 引起进程状态的改变。 9.为什么会提出线程这个概念?进程的缺点是什么? a)进程切换开销大 b)进程通信代价大 c)进程之间并发性粒度粗,并发度不高

计算机复试面试题目大全

1. 什么是程序局部性,为什么会有程序的空间局部性? 程序局部性是指程序在运行时呈现出局部性规律,在一段时间间隔内,程序的执行是局限在某个部份,所访问的存储空间也只局限在某个区域。 空间局部性是指若一个存储单元被访问,那么它附近的单元也可能被访问,这是由于程序的顺序执行引起的。 2. 比较TCP与UDP TCP与UDP都是传输层的协议,且都用端口号标识数据所达的进程。 TCP提供的是面向连接服务,提供可靠交付。且具有流量控制和拥塞控制。可用于可靠要求高的场合如:SMTP,FTP,HTTP等 UDP提供的是无连接服务,提供不可靠交付,且无确认机制。主要用于即时强的场合如:视频聊天,语音电话等。 3. 网络协议的三个核心要素,及概念 .各起什么作用? 语法,定义了数据与控制信息的格式; 语义,定义了需要发出何种控制信息,完成何种响应动作以及作出何种响应; 同步,定义了事件实现顺序的详细说明; 4. 关系数据库都有那些操作,特点是什么? ◇查询:选择、投影、连接、除、并、交、差 ◇数据更新:插入、删除、修改 关系操作的特点:集合操作方式,即操作的对象和结果都是集合。 5. 解释一下网络体系结构,它得实现和理论有什么区别? 是指通信系统的整体设计,它为网络硬件、软件、协议、存取控制和拓扑提供标准。 网络体系统结构采用分层结构,各层之间相互独立、较易维护、灵活性好。 国际标准化组织制定了OSI/RM标准,该标准采用了七层结构应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。七层协议体系结构既复杂又不实用,但其概念清楚,体系结构理论较完整。而TCP/IP却成为了事实上的标准,它采用了四层结构即应用层、传输层、网络层和网络接口层。 6. 为了实现重定位需要哪些硬件? 最简单的方式是在系统中增设一个重定位寄存器,用来存放正在执行作业的内存地址,每次访问数据时,由硬件自动将相对地址与重定位寄存器中的起始地址相加,形成实际的特理地址。当然在分页式与分段式系统中,具地址变换机构,以及快表等硬件。 7. 数据库保护(访问)的内容有哪些? 利用权限机制,利用完整性约束防止法数据进入数据库,提供故障恢复能力,提供并发访问控制 8. 在交互式系统中,非剥夺是不是一个好的策略?为什么? 非剥夺方式:分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生某事件而阻塞时,才把处理机分配给另一个进程。 剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程、优先原则、时间片原则。 在分时系统中不剥夺并不是一个好的策略。因为,在分时系统中,除了交互性以外,及时性是很重要的性能因素。当一个作业被阻塞后,CPU就完全空闲了,别的用户的及时性就无法保证了,而完全可以把这些时间分配给别的作业运行。以提高整体的吞吐量。 9. DBA的职责是什么? DBA则是这个机构的一个(组)人员,负责全面管理和控制数据库系统.职责有: (1)决定数据库中的信息内容和结构:数据库中要存放哪些信息

计算机基础知识理论复习题及答案【通用】.doc

基础知识复习题及答案 一、选择题 1.第三代计算机所使用的电子器件是( )。 A)晶体管B)电子管C)中小规模集成电路D)大规模和超大规模集成电路 2.微型计算机中使用的关系数据库,就应用领域而言是属于( )。 A)科学计算B)实时控制C)数据处理D)计算机辅助设计 3.计算机的主要特点是:具有运算速度快、精度高、( )及逻辑判断功能。 A)存储记忆B)自动编程C)无须寻址D)按位串行执行 4.计算机中常用术语CAD是指( )。 A)计算机辅助设计B) 计算机辅助制造C) 计算机辅助教学D) 计算机辅助测试 5.巨型计算机指的是( )。 A)体积大B)重量大C)耗电量大D)功能强 6.486微机的字长是( )。 A)8位B)16位C)32位D)64位 7.计算机之所以能按照人们的意图自动地进行操作,主要是因为采用了( )。 A)二进制编码B)高速的电子元器件C)高级语言D)存储过程控制 8.与十六进制数CDH等值数是( )。 A)204 B)205 C)206 D)203 9.与十进制数291等值十六进制数是( )。 A)123 B)213 C)231 D)296 10.下列4个无符号十进制整数中,能用8个二进制数位表示的是( )。 A)257 B)201 C)313 D)296 11.下列一组数据中最大的数是( )。 A)(227)8B)(1FF) 16C)(1010001) 2D)(789) 10 12.下列一组数据中最小的数是( )。 A)(247)8B)(6A) 16C)(10101000) 2D)(169) 10 13.字符的ASCII码在机器中的表示二进制准确的描述应是( )。 A)使用8位二进制代码,最右边一位为1 B) 使用8位二进制代码,最左边一位为0 C) 使用8位二进制代码,最右边一位为0 D) 使用8位二进制代码,最左边一位为1 14.ASCII码表中的字符“A”的值为41H,它所对应的十进制数值是( )。 A)61 B)65 C)66 D)100 15.数字字符3的ASCII码为十进制数51,数字字符9的ASCII码为十进制数( )。 A)55 B)56 C)57 D)58 16.在微型计算机中,应用最普遍的字符编码是( )。 A)BCD码B)国标码C)汉字编码D)ASCII 码 17.汉字编码有四种方式,其中( )的编码长度是固定的。 A)字形编码B)字母编码C)数字编码D)混合编码 18.在32位微型计算机中,1Word=( )Bytes=( )bits。 A) 1,8 B) 2, 16 C) 3, 16 D) 4, 32

计算机基础知识笔试题

计算机基础知识笔试题 1、第一台电子计算机使用的逻辑部件是()。 A.集成电路 B.大规模集成电路 C.晶体管 D.电子管 2、微型计算机系统由()组成。 A. 主机和显示器 B. 运算器和控制器 C. 硬件系统和软件系统 D. 输入系统和输出系统 3、可以作为CPU主要性能指标的是() A.分辨率B.网络速度C.外型尺寸D.时钟频率 4、中央处理器(CPU)的组成部分是() A、内存储器、运算器、控制器 B、硬盘、内存储器 C、内存储器、外存储器 D、控制器、运算器 5、所说的“Pentium III,128MB,20G”,其中的“Pentium III”是指计算机的() A 、重量B、内存容量C、CPU型号D、硬盘大小 6、“32位”这个词,这里“位”的含义是()。 A.字 B.字长 C.字节 D.二进制位 7、计算机在工作时突然断电,会使存储在()中的数据丢失。 A.RAM B.ROM C.硬盘D.软盘 8、U盘是IGB的,比你的容量大一倍,那么你的U盘是()的。 A 500M B B IGB C 512MB D 2GB 9、存储器读写速度的排序其中正确的说法是()。 A.RAM>光盘>硬盘>软盘 B. 光盘>RAM >硬盘>软盘 C. 光盘>硬盘>RAM>软盘 D. RAM>硬盘>光盘>软盘 10、购买的微机安装软件时,最不可缺少的是()。 A浏览器软件B数据恢复软件C操作系统D杀毒软件 11、在计算机的众多特点中,其最主要的特点是()。 A.计算速度快B.计算精度高 C.应用广泛 D.存储程序与自动控制 12、计算机唯一能够直接识别和处理的语言是()。 A.机器语言B.高级语言C.最高级语言D.汇编语言

计算机专业复试面试题集

计算机专业复试集锦 1.什么是程序局部性,为什么会有程序的空间局部性? 程序局部性是指程序在运行时呈现出局部性规律,在一段时间间隔,程序的执行是局限在某个部份,所访问的存储空间也只局限在某个区域。空间局部性是指若一个存储单元被访问,那么它附近的单元也可能被访问,这是由于程序的顺序执行引起的。 2.比较TCP与UDP TCP与UDP都是传输层的协议,且都用端口号标识数据所达的进程。TCP 提供的是面向连接服务,提供可靠交付。且具有流量控制和拥塞控制。可用于可靠要求高的场合如:SMTP,FTP,HTTP等。 UDP提供的是无连接服务,提供不可靠交付,且无确认机制。主要用于即时强的场合如:视频聊天,语音等。 3.网络协议的三个核心要素,及概念.各起什么作用? 语法,定义了数据与控制信息的格式; 语义,定义了需要发出何种控制信息,完成何种响应动作以及作出何种响应; 同步,定义了事件实现顺序的详细说明; 4.关系数据库都有那些操作,特点是什么? ◇查询:选择、投影、连接、除、并、交、差 ◇数据更新:插入、删除、修改

关系操作的特点:集合操作方式,即操作的对象和结果都是集合。 5. 解释一下网络体系结构,它得实现和理论有什么区别? 是指通信系统的整体设计,它为网络硬件、软件、协议、存取控制和拓扑提供标准。网络体系统结构采用分层结构,各层之间相互独立、较易维护、灵活性好。国际标准化组织制定了OSI/RM标准,该标准采用了七层结构应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。七层协议体系结构既复杂又不实用,但其概念清楚,体系结构理论较完整。而TCP/IP却成为了事实上的标准,它采用了四层结构即应用层、传输层、网络层和网络接口层。 6.为了实现重定位需要哪些硬件? 最简单的方式是在系统中增设一个重定位寄存器,用来存放正在执行作业的存地址,每次访问数据时,由硬件自动将相对地址与重定位寄存器中的起始地址相加,形成实际的特理地址。当然在分页式与分段式系统中,具地址变换机构,以及快表等硬件。 7.数据库保护(访问)的容有哪些? 利用权限机制,利用完整性约束防止法数据进入数据库,提供故障恢复能力,提供并发访问控制 8.在交互式系统中,非剥夺是不是一个好的策略?为什么?

计算机理论基础知识题

一、单项选择题 1. 一个完整的微型计算机系统应包括__C___。 A. 计算机及外部设备 B. 主机箱、键盘、显示器和打印机 C. 硬件系统和软件系统 D. 系统软件和系统硬件 2. 十六进制1000转换成十进制数是_A____。 A. 4096 B. 1024 C. 2048 D. 8192 3. ENTER键是__B___。 A. 输入键 B. 回车换行键 C. 空格键 D.换档键 4. 3.5英寸的软盘,写保护窗口上有一个滑块,将滑块推向一侧,使其写保护窗口暴露出来,此时__B___。 A. 只能写盘,不能读盘 B. 只能读盘,不能写盘 C. 既可写盘,又可读盘 D. 不能写盘,也不能读盘 5. 3.5英寸盘的右下角有一塑料滑片,当移动它盖住缺口时___B__。 A. 不能读出原有信息,不能写入新的信息 B. 既能读出原有信息,也能写入新的信息 C. 不能读出原有信息,可以写入新的信息 D. 可以读出原有信息,不能写入新的信息 6. DRAM存储器的中文含义是___B__。 A. 静态随机存储器 B. 动态随机存储器 C. 静态只读存储器 D. 动态只读存储器 7. 在微机中,Bit的中文含义是__A___。 A. 二进制位 B. 字 C. 字节 D. 双字 8. 汉字国标码(GB2312-80) 规定的汉字编码,每个汉字用___B__。 A. 一个字节表示 B. 二个字节表示 C. 三个字节表示 D. 四个字节表示 9. 微机系统的开机顺序是__D___。 A. 先开主机再开外设 B. 先开显示器再开打印机 C. 先开主机再打开显示器 D. 先开外部设备再开主机 10. 使用高级语言编写的程序称之为__A___。 A. 源程序 B. 编辑程序 C. 编译程序 D. 连接程序 11. 微机病毒系指__D___。 A. 生物病毒感染 B. 细菌感染 C. 被损坏的程序 D. 特制的具有损坏性的小程序 12. 微型计算机的运算器、控制器及内存存储器的总称是__C___。 A. CPU B. ALU C. 主机 D. MPU 13. 在微机中外存储器通常使用软盘作为存储介质,软磁盘中存储的信息,在断电后 __A___。 A. 不会丢失 B. 完全丢失 C. 少量丢失 D. 大部分丢失 14. 某单位的财务管理软件属于__D___。

计算机基础考试题含答案

( D)1、计算机软件系统由————组成。 (A)、程序和程序说明文档; (B)、硬件系统和软件系统; (C)、指令和程序;(D)、系统软件和应用软件。 ( D )2、在计算机中用来存放程序和数据的设备是————。 (A)、控制器;(B)、运算器;(C)、鼠标;(D)、硬盘。 ( C )3、在Windows XP中,打开“运行”对话框的快捷键是————。 (A)、徽标+E;(B)、徽标+F;(C)、徽标+R;(D)、徽标+M。 ( A )4、WINDOWS中用于量度文件大小的单位是————。 (A)、字节;(B)、位;(C)、磅;(D)、像素。 ( D )5、桌面图标的排列方式中没有的是————。 (A)、按名称;(B)、按类型;(C)、按大小;(D)、按属性。 ( B )6、Windows中的窗口类型有————种。 (A)、1;(B)、2;(C)、3;(D)、4。 ( C )7、用Windows XP中“画图”程序建立的位图文件扩展名是————。 (A)、TXT;(B)、RTF;(C)、BMP;(D)、EXE。( D )8、在Windows窗口中,按下ALT+鼠标左键拖曳,实现的功能是————。 (A)、删除;(B)、移动;(C)、复制;(D)、创建快捷方式。 ( A )9、Windows XP“剪贴板”本质上是————。 (A)、内存中的一块存储区;(B)、硬盘中的一块存储区; (C)、移动盘中的存储区;(D)、Cache中的一块存储区。 ( A )10、文件传输协议的缩写是————。 (A)、FTP;(B)、TCP/IP;(C)、HTTP;(D)、SMTP。 ( B )11、Intel Core 2 Duo E4500 2.20GHz CPU的主频是————。 (A)、4500Hz;(B)、2200MHz;(C)、2200Hz;(D)、2200MB。 ( D )12、在智能ABC(标准)且中文标点符号下,输入省略号(……)的键是————。(A)、/;(B)、@;(C)、\;(D)、^。 ( C )13、操作系统是计算机硬件和————的接口。 (A)、软件;(B)、程序设计语言;(C)、用户;(D)、网络。 ( A )14、与十进制数99等值的二进制数是————。 (A)、1100011B;(B)、1100011D;(C)、1100011H;(D)、1100001B。 ( A )15、删除桌面上的“网上邻居”图标后,可从————中恢复还原。 (A)、自定义桌面;(B)、回收站(C)、开始菜单;(D)、任务栏。 ( C )16、广域网的英文缩写是————。 (A)、MAN;(B)、LNA;(C)、WAN;(D)、LAN。 ( C )17、互联网常用的拓扑结构是————。 (A)、环形拓扑;(B)、星型拓扑;(C)、网状拓扑;(D)、树型拓扑。 ( D )18、由校园局域网连接到Internet必须的设备是————。 (A)、网卡;(B)、路由器;(C)、网桥;(D)、网关。 ( D )19、以下组织机构域名中,属于教育机构的域名是————。 (A)、COM;(B)、GOV;(C)、NET;(D) EDU、。 ( B )20、下面IP地址中,正确的是————。 (A)、255.38.56.8;(B)、218.83.241.80; (C)、192.45.256.88;(D)、222,120,56,90。

(完整版)计算机软件专业考研英语面试必备问题

软件工程(或计算机专业)英语面试,这是本人复试是整理的,成绩一般,大神勿喷。为什么考研(很重要的点,我是软件工程专业的,本段是关于软件工程的) I learnt a lot from university courses during the past four year. However,I think furtherstudy is still urgent for me to realize self-value. Life is precious. It is necessary to seize any chance for self-development,especially in this competitive modern world. And,I am looking forward to making a solid foundation for future profession after two years study here. The major that I hope pursue for my further education is program design. Because I find software are playing a more and more important role in each part of our modern society. And nowadays in China, with the recognition by the government, our domestic software industry is growing rapidly and that may provide a lot of chances to us. I plan to concentrate on study and research in this field in my graduate time. And I hope I can form a systematic view of software engineering and make a solid foundation for future profession after three years study here. 自我介绍 Good morning. I am very glad to be here for this interview. First,let me introduce myself. I come from Suqian city jiangsu province. I will graduate from nanjing university of posts and telecommunications in july this year.In the university, my major is software engineering.I like this major, my ideal is to become an outstanding software engineer.I have learned a lot of courses in the college, data structure, database, software engineering, computer network, software testing, etc.I spent a lot of time to learn the course. In my spare time, I like reading some domestic and foreign literature and magazines, such as "Eugenie Grandet", "the reader". I think reading can increase their self-cultivation and logical ability, and it can exercise a person's patience. I am also very interested in the football, My favorite team is Real Madrid.(本段有语法错误,不过面试中,老师不会在意的,老师只会在意你的流畅度和发音。大神可自行修改) I learnt a lot from university courses during the past four year. However,I think further study is still urgent for me to realize self-value. Life is precious. It is necessary to seize any chance for self-development,especially in this competitive modern world. And,I am looking forward to making a solid foundation for future profession after Two and a half years study here. I want to improve programming ability. Because I find software are playing a more and more important role in each part of our modern society. And nowadays in China, with the recognition by the government, our domestic software industry is growing rapidly and that may provide a lot of chances to us. I plan to concentrate on study and research in this field in my graduate time. And I hope I can form a systematic view of software engineering and make a solid foundation for future profession after two and a half years study in this famous university. That is all, thank you very much. 问题篇(划线部分为必须掌握的点,听不懂的点千万别说pardon,就算再说一遍一般也听不懂) 1、Where are you from? 1、你来自哪里? I come from suqian in the north of Jiangsu province, it is not famous, but it has a very long history. Suqian is the hometown of Xiang Yu.The native place of xiang yu is located at the ancient wotong lane, birthplace of the overlord in the west chu period.Every year a lot of people come to visit it.Suqian also has a very good ecological and cultural environment, I love my hometown.

计算机基础知识试题及答案全

计算机基础知识试题及 答案全 标准化工作室编码[XX968T-XX89628-XJ668-XT689N]

《大学计算机》基础知识试题及答案 (说明:将认为正确答案的字母填写在每小题后面的括号内) 1.世界上第一台通用电子数字计算机诞生于( A )。 A.美国B.英国C.德国 D.日本 2.世界上第一台通用电子数字计算机诞生于( B )。 A.1953年B.1946年C.1964年 D.1956年 3.第一台电子计算机是1946年在美国研制的,该机的英文缩写名是 (A )。 4.一个完整的微型计算机系统应包括( C )。 A.计算机及外部设备 B.主机箱、键盘、显示器 和打印机 C.硬件系统和软件系统 D.系统软件和系统硬件 5.计算机的中央处理器CPU包括运算器和( C )两部分。 A.存储器B.寄存器C.控制器 D.译码器 6.下列设备中,( D )不是微型计算机的输出设备。 A.打印机B.显示器C.绘图仪 D.扫描仪 7.下列各项中,不属于多媒体硬件的是(D )。 A.光盘驱动器 B.视频卡 C.音频卡 D.加密卡 8.计算机中对数据进行加工与处理的部件,通常称为( A )。 A.运算器 B.控制器 C.显示器 D.存储器 9.运算器的组成部分不包括( B )。 A.控制线路 B.译码器 C.加法器 D.寄 存器 10.把内存中的数据传送到计算机的硬盘,称为( D )。 A.显示 B.读盘 C.输入 D.写盘

11.用MIPS为单位来衡量计算机的性能,它指的是计算机的( B ),指 的是每秒处理的百万级的机器语言指令数。 A.传输速率 B.运算速度 C.字长 D.存储器容量 12.计算机硬件的核心部件是( A )。 A.中央处理器B.存储器C.运算器D.控制器13.在外部设备中,打印机属于计算机的( B )设备。 A.输入B.输出C.外存储D.内存储 14.CGA、EGA和VGA标志着( C )的不同规格和性能。 A.打印机 B.存储器 C.显示器 D.硬 盘 15.硬盘上原存的有效信息,在下列哪种情况下会丢失( C )。 A.通过海关的X射线监视仪 B.放在盒内半年没有使用 C.放在强磁场附近 D.放在零下10摄 氏度的库房中 16.人们把以( A )为硬件基本部件的计算机称为第四代计算机。 A.大规模和超大规模集成电路和RAM C.小规模集成电路 D.磁带与磁盘 17.用计算机管理科技情报资料,是计算机在(B )方面的应用。 A.科学计算 B.数据处理 C.实时控制 D.人 工智能 18.主机板上CMOS芯片的主要用途是( C )。 A.管理内存与CPU的通讯 B.增加内存的容量 C.储存时间、日期、硬盘参数与计算机配置信息 D.存放基本输入输出系统程序、引导程序和自检程序 19.下列有关存储器读写速度的排列,正确的是(B )。 >Cache>硬盘B.Cache>RAM>硬盘 >硬盘>RAM D.RAM>硬盘>Cache 20.使用Cache可以提高计算机运行速度,这是因为(C )。 增大了内存的容量扩大了硬盘的容量 缩短了CPU的等待时间可以存放程序和数据 21.一台微机的型号中含有486、586等内容时,其含义是( A )。 A.运算控制单元的档次 B.软盘容量大小

计算机基础考试题A带答案

《计算机基础》试题A卷 题号一二三四五六总分 得分 阅卷人 一、单项选择(每题4分,共40分) 1、用高级程序设计语言编写的程序,要转换成等价的可执行程序,必须经过:() A、汇编 B、编辑 C、解释 D、编译和连接 2、世界上第一太电子计算机是1946年在美国研制成功的,该机的英文缩写是:() A、ENIAC B、EDV AC C、EDSAC D、MARK 3、快捷方式是一个:() A、按扭 B、菜单 C、程序 D、文件 4、Windows2000操作系统的密码不能超过()个字符。 A、14 B、24 C、127 D、17 5、下面不能作为Word2000表格中运用公式进行计算的函数参数是:() A、Below B、Above C、Right D、Left 6、在中文Word2000中,默认的段落标识符是:() A、软回车 B、硬回车 C、分号 D、句号 7、Excel2000的主要功能有大型表格制作功能、图表功能和()功能。 A、文字处理功能 B、数据库管理功能 C、数据透视图报表 D、自动填充功能 8、下面属于算术运算符的是:() A、= B、$ C、% D、& 9、以下网络类型中,()是按拓扑结构划分的网络分类。 A、混合型网络 B、公用网 C、城域网 D、无线网 10、某人想要在电子邮件中传送一个文件,他可以借助()。 A、FTP B、Telent C、WWW D、电子邮件中的附件功能 二、填空(每空2分,共40分) 1、局域网可采用的有线传输介质主要分()、()和()三大类。 2、Excel产生的文件是一种电子表格,该文件又称(),它由若干个( ) 组成. 3、Excel 2000与Word 2000之间的共享信息方式有两种类型:对象()和()。 4、利用()组合键,可以在安装的各种输入法之间切换。 5、Word 2000文档和模板的默认扩展名分别为:()和()。 6、对文件和文件夹的管理,主要有()、()、()、()、() 以及()等基本操作。 7、Windows2000的安装过程,主要分为()、()、( )和() 三、计算题(每题10分,共20分) 1、比较下列各数的大小,写出计算过程 (11011101)2 (DA)16 (219)10 2、写出下列各数的原码、反码和补码形式。 125和-37 得分阅卷人 得分阅卷人得分阅卷人

计算机笔试真题汇总:前端篇

计算机笔试真题汇总:前端篇 一、基础知识专项练习 (一)JavaScript 1、AngularJS1中指定控制器的是哪个指令( )(点击查看答案>>>>>>>>) A、ng-route B、ng-template C、ng-model D、ng-controller 2、要在10秒后调用checkState,下列哪个是正确的()(点击查看答案>>) A、(checkState, 10); B、(checkState, 10000); C、(checkState(), 10); D、(checkState(), 10000); 3、在jquery中指定一个类,如果存在就执行删除功能,如果不存在就执行添加功能,下面哪一个是可以直接完成该功能的(点击查看答案>>>>>>>>) A、removeClass() B、deleteClass() C、toggleClass(class) D、addClass() 4、下面关于块内声明函数的做法哪些是正确的(点击查看答案>>>>>>>>) A、if (x) { function foo() {}} B、if (x) { var foo = function() {}} C、if (x) { foo = function() {}} D、ECMAScript明确的规范了块内函数,javascript实现了这个规范

5、angularjs1中的服务实质上是()(点击查看答案>>>>>>>>) A、网络服务 B、单例对象 C、接口对象 D、函数调用 6、如果需要匹配包含文本的元素,用下面哪种来实现() (点击查看答案>>>>>>>>) A、text() B、contains() C、input() D、attr(name) 7、在jquery中,如果想要获取当前窗口的宽度值,下面哪个是实现该功能的()(点击查看答案>>>>>>>>) A、width() B、width(val) C、width D、innerWidth() 8、angularjs1中使用指令,绑定监听是在什么时候() (点击查看答案>>>>>>>>) A、compiles时 B、link时 C、require时 D、生成DOM时

银行招聘计算机专业面试题及答案【最新】

银行招聘计算机专业面试题及答案 1. 什么是程序局部性,为什么会有程序的空间局部性? 程序局部性是指程序在运行时呈现出局部性规律,在一段时间间隔内,程序的执行是局限在某个部份,所访问的存储空间也只局限在某个区域。 空间局部性是指若一个存储单元被访问,那么它附近的单元也可能被访问,这是由于程序的顺序执行引起的。 2. 比较TCP与UDP TCP与UDP都是传输层的协议,且都用端口号标识数据所达的进程。 TCP提供的是面向连接服务,提供可靠交付。且具有流量控制和拥塞控制。可用于可靠要求高的场合如:SMTP,FTP,HTTP等 UDP提供的是无连接服务,提供不可靠交付,且无确认机制。主要用于即时强的场合如:视频聊天,语音电话等。

3. 网络协议的三个核心要素,及概念.各起什么作用? 语法,定义了数据与控制信息的格式; 语义,定义了需要发出何种控制信息,完成何种响应动作以及作出何种响应; 同步,定义了事件实现顺序的详细说明; 4. 关系数据库都有那些操作,特点是什么? ◇查询:选择、投影、连接、除、并、交、差 ◇数据更新:插入、删除、修改 关系操作的特点:集合操作方式,即操作的对象和结果都是集合。 5. 解释一下网络体系结构,它得实现和理论有什么区别? 是指通信系统的整体设计,它为网络硬件、软件、协议、存取控制和拓扑提供标准。网络体系统结构采用分层结构,各层之间相互独立、较易维护、灵活性好。

国际标准化组织制定了OSI/RM标准,该标准采用了七层结构应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。七层协议体系结构既复杂又不实用,但其概念清楚,体系结构理论较完整。而TCP/IP却成为了事实上的标准,它采用了四层结构即应用层、传输层、网络层和网络接口层。 6. 为了实现重定位需要哪些硬件? 最简单的方式是在系统中增设一个重定位寄存器,用来存放正在执行作业的内存地址,每次访问数据时,由硬件自动将相对地址与重定位寄存器中的起始地址相加,形成实际的特理地址。当然在分页式与分段式系统中,具地址变换机构,以及快表等硬件。 7. 数据库保护(访问)的内容有哪些? 利用权限机制,利用完整性约束防止法数据进入数据库,提供故障恢复能力,提供并发访问控制 8. 在交互式系统中,非剥夺是不是一个好的策略?为什么? 非剥夺方式:分派程序一旦把处理机分配给某进程后便让它一直

计算机基础知识试题配复习资料

计算机基础练习题【删减后】 C1. 微机硬件系统中最核心的部件是____ 。 A、内存储器 B、输入输出设备 C、CPU D、硬盘 C2. 根据计算机使用的电信号来分类,电子计算机分为数字计算机和模拟计算机,其中,数字计算机是以____为处理对象。 A、字符数字量 B、物理量 C、数字量 D、数字、字符和物理量D4. 交互式操作系统允许用户频繁地与计算机对话,下列不属于交互式操作系统的是____。【注:系统unix属于分时,Windows属于多任务系统】 A、Windows系统 B、DOS系统 C、分时系统 D、批处理系统 6.下列四条叙述中,正确的一条是____。 字节通常用英文单词“bit”来表示 B7.一条计算机指令中规定其执行功能的部分称为____。 A、源地址码 B、操作码 C、目标地址码 D、数据码 C8.在微型计算机中,内存储器,通常采用____。 A、光存储器 B、磁表面存储器 C、半导体存储器 D、磁芯存储器D9.微型计算机键盘上的Tab键是____。 A、退格键 B、控制键 C、交替换档键 D、制表定位键 B11. 微型计算机中,ROM的中文名字是____。 A、随机存储器 B、只读存储器 C、高速缓冲存储器 A12. 要存放10个24×24点阵的汉字字模,需要____存储空间。 A、74B B、320B C、720B D、72KB 【注:考试系统原题存放400个24×24点阵的汉字字模,需要28.125KB存储空间】

D13. 把硬盘上的数据传送到计算机的内存中去,称为____。 A、打印 B、写盘 C、输出 D、读盘 B15. 计算机内部采用的数制是____。 A、十进制 B、二进制 C、八进制 D、十六进制 B16. 下列存储器中,存取速度最快的是____。 A、CD-ROM B、内存储器 C、软盘 D、硬盘 C19. 计算机能直接识别的语言是____。 A、高级程序语言 B、汇编语言 C、机器语言(或称指令系统) D、C语言 B20. 计算机存储器中,一个字节由____位二进制位组成。 A、4 B、8 C、16 D、32 B21. 在微机中,1MB准确等于____。 A、1024×1024个字 B、1024×1024个字节 C、1000×1000个字节 D、1000×1000个字 A27. 如果鼠标器突然失灵,则可用组合键____来结束一个正在运行的应用程序(任务)。 A、Alt+F4 B、Ctrl+F4 C、Shift+F4 D、Alt+Shift+F4 B31. 第二代电子计算机使用的电子器件是____。 A、电子管 B、晶体管 C、集成电路 D、超大规模集成电路 D32. 第四代电子计算机使用的电子器件是____。 A、电子管 B、晶体管 C、集成电路 D、超大规模集成电路 C36. 计算机中,应用最普遍的字符编码是____。

计算机基础知识试题及答案(全)..

《大学计算机》基础知识试题及答案 (说明:将认为正确答案的字母填写在每小题后面的括号内) 1.世界上第一台通用电子数字计算机诞生于( A )。 A.美国B.英国C.德国D.日本 2.世界上第一台通用电子数字计算机诞生于( B )。 A.1953年B.1946年C.1964年D.1956年 3.第一台电子计算机是1946年在美国研制的,该机的英文缩写名是(A )。 A.ENIAC B.EDVAC C.EDSAC D.MARK-II 4.一个完整的微型计算机系统应包括( C )。 A.计算机及外部设备 B.主机箱、键盘、显示器和打印机 C.硬件系统和软件系统 D.系统软件和系统硬件 5.计算机的中央处理器CPU包括运算器和( C )两部分。 A.存储器B.寄存器C.控制器D.译码器 6.下列设备中,( D )不是微型计算机的输出设备。 A.打印机B.显示器C.绘图仪D.扫描仪 7.下列各项中,不属于多媒体硬件的是(D )。 A.光盘驱动器 B.视频卡 C.音频卡 D.加密卡 8.计算机中对数据进行加工与处理的部件,通常称为( A )。 A.运算器 B.控制器 C.显示器 D.存储器 9.运算器的组成部分不包括( B )。 A.控制线路 B.译码器 C.加法器 D.寄存器 10.把内存中的数据传送到计算机的硬盘,称为( D )。 A.显示 B.读盘 C.输入 D.写盘 11.用MIPS为单位来衡量计算机的性能,它指的是计算机的( B ),指的是每秒处理的百 万级的机器语言指令数。 A.传输速率 B.运算速度 C.字长 D.存储器容量 12.计算机硬件的核心部件是( A )。 A.中央处理器B.存储器C.运算器D.控制器 13.在外部设备中,打印机属于计算机的( B )设备。 A.输入B.输出C.外存储D.内存储 14.CGA、EGA和VGA标志着( C )的不同规格和性能。 A.打印机 B.存储器 C.显示器 D.硬盘 15.硬盘上原存的有效信息,在下列哪种情况下会丢失( C )。 A.通过海关的X射线监视仪 B.放在盒内半年没有使用

中国电信面试经典必考(计算机50题)

(1)多年来,人们习惯于从计算机主机所使用的主要元器件把计算机的发展进行分代,所谓第4代计算机使用的主要元器件是________。 A)电子管B)晶体管C)中小规模集成电路D)大规模和超大规模集成电路 答案:D 知识点:计算机的发展阶段 评析:第4代计算机使用的主要元器件是大规模和超大规模集成电路。 (2)假设CD盘片的存储容量为600MB,上面存放的数字图像能以每秒25幅画面、每幅画面为360×240×65536色的分辨率播放l小时,则CD盘片上的数字图像的压缩比大约是________。 A)25倍B)10倍C)50倍D)100倍 答案:A 知识点:数据压缩技术 评析:65536色是16位色,即每个像素占2个字节。现在l帧有360×240=86400个像素点,需要172800个字节的存储空间,1秒25帧则需要4320000个字节的存储空间,l小时是3600秒需要155********(约15000MB)个字节的存储空间。现在,这15000MB数据存储在600MB 的光盘上,其压缩比例也就不难算出:约15000/600=25倍。 (3)Internet主要由________、通信线路、服务器与客户机和信息资源四部分组成。 A)网关B)路由器C)网桥D)集线器 答案:B 知识点:Internet的基本结构与主要服务 评析:Internet的主要组成部分 ①通信线路;②路由器:③服务器与客户机;④信息资源。 (4)在IP协议中用来进行组播的IP地址是________地址。 A)A类B)C类C)D类D)E类 答案:C 知识点:TCP/IP协议 评析:在TCP/IP协议中,将IP地址分成5类。其中A、B、C类地址作为单目传送地址。E类地址保留, 以备将来的特殊用途,而D类地址作为组播地址。 (5)文件服务器具有分时系统文件管理的全部功能,能够为用户提供完善的数据、文件和________。 A) 目录服务B)视频传输服务C)数据库服务D)交换式网络服务 答案:A 知识点:操作系统的功能 评析:文件服务器应具有分时系统文件管理的全部功能,它支持文件的概念与标准的文件操作,提供网络用户访问文件、目录的并发控制和安全保密措施。因此,文件服务器应具备完善的文件管理功能,能够对全网实行统一的文件管理,各工作站用户可以不参与文件管理工作。文件服务器能为网络用户提供完善的数据、文件和目录服务。 (6)半个世纪以来,对计算机发展的阶段有过多种描述。下述说法中,比较全面的描述是________。 A)计算机经过四个发展阶段,电子管阶段、晶体管阶段、集成电路阶段、超大规模集成电器 B)计算机经过四段发展,即大型机、中型机、小型机、微型机 C)计算机经过三段发展,即大型机、微型机、网络机

相关文档
相关文档 最新文档