计算机复试常见面试题

计算机复试常见面试题
计算机复试常见面试题

概念问题

C++/数据结构

1、

简述你对“面向对象”和“面向过程”编程思想的认识与思考

用就可以了。

面向过程

就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、

轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。

而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。

可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。

功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能,如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的循序都要进行大规模调整。如果是面向对象的话,只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。

再比如我要把这个五子棋游戏改为围棋游戏,如果你是面向

过程设计,那么五子棋的规则就分布在了你的程序的每一个角落,要改动还不如重写。但是如果你当初就是面向对象的设计,那么你只用改动规则对象就可以了,五子棋和围棋的区别不就是规则吗?(当然棋盘大小好像也不一样,但是你会觉得这是一个难题吗?直接在棋盘对象中进行一番小改动就可以了。)而下棋的大致步骤从面向对象的角度来看没有任何变化。

当然,要达到改动只是局部的需要设计的人有足够的经验,

使用对象不能保证你的程序就是面向对象,初学者或者很蹩脚的程序员很可能以面向对象之虚而行面向过程之实,这样设计出来的所谓面向对象的程序很难有良好的可移植性和可扩展性。

2、ADT是什么?简述你对“数据抽象”和“信息隐藏”的认识

抽象数据类型(Abstract Data Type 简称ADT)是指一个数学模

型以及定义在此数学模型上的一组操作。抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。抽象数据类型是与表示无关的数据类型,是一个数据模型及定义在该模型上的一组运算。对一个抽象数据类型进行定义时,必须给出它的名字及各运算的运算符名,即函数名,并且规定这些函数的参数性质。一旦定义了一个抽象数据类型及具体实现,程序设计中就可以像使用基本数据类型那样,十分方便地使用抽象数据类型。

抽象数据类型通过类(class)实现

程序设计语言对抽象数据类型的支持是指允许用户自定义具有如下特征的数据类型:

1. 模块封装:The representation of, and operations on, objects of the type are defined in a single

syntactic unit

2. 信息隐蔽:The representation of objects of the type is hidden from the program units that use these

objects, so the only operations possible are those provided in the type's definition

3、const和static有什么作用?

const是一个C和C++语言的关键字,它限定一个变量不允许被改变,即只读。使用const在一定程度上可以提高程序的安全性和可靠性,也便于实现对此进行优化(如把只读对象放入ROM 中)。const作为类型限定符,是类型的一部分。

4、友元关系的利与弊

如果将一个函数或一个类声明为另一个类的友元,那么它就可以直接存取这个类对象中的各种数据,而不必在意这些数据的封装级别,即无论是private的,protected的,还是public的,有钱同使,有难同当。

5、C++多态的实现

1. 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。

2. 存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。

3. 多态性是一个接口多种实现,是面向对象的核心。分为类的多态性和函数的多态性。

4. 多态用虚函数来实现,结合动态绑定。

5. 纯虚函数是虚函数再加上= 0。

6. 抽象类是指包括至少一个纯虚函数的类。

构造函数顺序:

基类构造函数 派生类构造函数

前面输出的结果是因为编译器在编译的时候,就已经确定了

对象调用的函数的地址,要解决这个问题就要使用迟绑定(late binding)技术。当编译器使用迟绑定时,就会在运行时再去确定对象的类型以及正确的调用函数。而要让编译器采用迟绑定,就要在基类中声明函数时使用virtual关键字(注意,这是必须的,很多学员就是因为没有使用虚函数而写出很多错误的例子),这样的函数我们称为虚函数。一旦某个函数在基类中声明为virtual,那么在所有的派生类中该函数都是virtual,而不需要再显式地声明为virtual。

前面输出的结果是因为编译器在编译的时候,就已经确定了

对象调用的函数的地址,要解决这个问题就要使用迟绑定(late binding)技术。当编译器使用迟绑定时,就会在运行时再去确定对象的类型以及正确的调用函数。而要让编译器采用迟绑定,就要在基类中声明函数时使用virtual关键字(注意,这是必须的,很多学员就是因为没有使用虚函数而写出很多错误的例子),这样的函数我们称为虚函数。一旦某个函数在基类中声明为virtual,那么在所有的派生类中该函数都是virtual,而不需要再显式地声明为virtual。

编译器在编译的时候,发现基类中有虚函数,此时编译器会为每个包含虚函数的类创建一个虚表(即vtable),该表是一个一维数组,在这个数组中存放每个虚函数的地址。

那么如何定位虚表呢?编译器另外还为每个类的对象提供了一个虚表指针(即vptr),这个指针指向了对象所属类的虚表。在程序运行时,根据对象的类型去初始化vptr

,从而让

vptr正确的指向所属类的虚表,从而在调用虚函数时,就能够找到正确的函数。对于例1-2的程序,由于pAn实际指向的对象类型是fish,因此vptr指向的fish类的vtable,当调用

pAn->breathe()时,根据虚表中的函数地址找到的就是fish类的breathe()函数。

那么虚表指针在什么时候,或者说在什么地方初始化呢?

答案是在构造函数中进行虚表的创建和虚表指针的初始化。还记得构造函数的调用顺序吗,在构造子类对象时,要先调用父类的构造函数,此时编译器只“看到了”父类,并不知道后面是否后还有继承者,它初始化父类对象的虚表指针,该虚表指针指向父类的虚表。当执行子类的构造函数时,子类对象的虚表指针被初始化,指向自身的虚表。对于例2-2的程序来说,当fish类的fh对象构造完毕后,其内部的虚表指针也就被初始化为指向fish 类的虚表。在类型转换后,调用pAn->breathe(),由于pAn实际指向的是fish类的对象,该对象内部的虚表指针指向的是fish类的虚表,因此最终调用的是fish类的breathe()函数。

要注意:对于虚函数调用来说,每一个对象内部都有一个虚表指针,该虚表指针被初始化为本类的虚表。所以在程序中,不管你的对象类型如何转换,但该对象内部的虚表指针是固定的,所以呢,才能实现动态的对象函数调用,这就是C++多态性实现的原理。

6、STL是什么?组成部分和核心作用

标准模板库于1994年2月年正式成为ANSI/ISO C++的一部份,它的出现,促使C++程序员的思维方式更朝向泛型编程(generic program)发展。

7、阐述C++在什么情况下必须进行运算符重载。

8、为什么说“继承是C++面向对象的一个主要特征之一”,请做一下简要说明。

?

9、请说明函数模板(Function Template)和函数模板实例化(function-template specification)的区别和联系。

函数模板实例化

在函数模板为每个类型时首先调用中,编译器创建一个实例化。每个实例化是为该类型的该模板化功能的版本。在中,此函数为类型时,使用此实例化将调用。如果您有几个相同的实例化,即使在不同的模块,因此,只有该实例化的一个副本在可执行文件将结果。

函数参数将所有参数的函数模板允许和参数,对该参数不依赖于模板参数的位置。

函数模板可以通过声明与特定类型的模板显式实例化作为参数。

C++中提供了函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表,这个通

用函数就成为函数模板。使用模板的好处就是对于那些函数体相同的函数都可以用这个模板来代替,而不必去定义每个具体的函数去实现。下面通过一个简单的具体例子(比较两个数的大小)来说明:

#include

using namespace std;

template //模板声明,T为类型参数

T Max(T a, T b) //定义一个通用函数,用T作虚拟的类型名{

if (a>b)

{

return a;

}

else

return b;

}

模板实例化(template instantiation )是指在编译或链接时生成函数模板或类模板的具体实例源代码。ISO C++定义了两种模板实例化方法:隐式实例化(当使用实例化的模板时自动地在当前代码单元之前插入模板的实例化代码)、显式实例化(直接声明模板实例化)。

10、编译和链接的过程

源文件的编译过程包含两个主要阶段,而它们之间的转换是自动的。第一个阶段是预处理阶段,在正式的编译阶段之前进行。预处理阶段将根据已放置在文件中的预处理指令来修改源文件

的内容。#include指令就是一个预处理指令,它把头文件的内容添加到.cpp文件中还有其他许多预处理指令

这个在编译之前修改源文件的方式提供了很大的灵活性,以适应不同的计算机和操作系统环境的限制。一个环境需要的代码跟另一个环境所需的代码可能有所不同,因为可用的硬件或操作

系统是不同的。在许多情况下,可以把用于不同环境的代码放在同一个文件中,再在预处理阶段修改代码,使之适应当前的环境。

预处理器显示为一个独立的操作,但一般不能独立于编译器

来执行这个操作。调用编译器会自动执行预处理过程,之后才编译代码。

编译器为给定源文件输出的是机器码,执行这个过程需要较

长时间。在对象文件之间并没有建立任何连接。对应于某个源文件的对象文件包含在其他源文件中定义的函数引用或其他指定

项的引用,而这些函数或项仍没有被解析。同样,也没有建立同库函数的链接。实际上,这些函数的代码并不是文件的一部分。这些工作是由链接程序(有时称为链接编辑器)完成的

链接程序把所有对象文件中的机器码组合在一起,并解析它

们之间的交叉引用。它还集成了对象模块所使用的库函数的代码。这是链接程序的一种简化表示,因为这里假定在可执行模块中,模块之间的所有链接都是静态建立的。实际上有些链接是动态的,即这些链接是在程序执行时建立的。

链接程序静态地建立函数之间的链接,即在程序执行之前建

立组成程序的源文件中所包含的函数链接。动态建立的函数之间的链接(在程序执行过程中建立的链接)将函数编译并链接起来,创建另一种可执行模块——动态链接库或共享库。动态链接库

中的函数链接是在程序调用函数时才建立的,在程序调用之前,该链接是不存在的。

动态链接库有几个重要的优点。一个主要的优点是动态链接库中的函数可以在几个并行执行的程序之间共享,这将节省相同函数占用的内存空间。另一个优点是动态链接库在调用其中的函数之前是不会加载到内存中的。也就是说,如果不使用给定动态链接库中的函数,该动态链接库就不会占用内存空间

11、解释“优先级队列”这一抽象数据类型及实现方法

如果我们给每个元素都分配一个数字来标记其优先级,不妨设较小的数字具有较高的优先级,这样我们就可以在一个集合中访问优先级最高的元素并对其进行查找和删除操作了。这样,我们就引入了优先级队列这种数据结构。

缺省情况下,优先级队列利用一个最大堆完成函数列表:empty() 如果优先队列为空,则返回真

pop() 删除第一个元素

push() 加入一个元素

size() 返回优先队列中拥有的元素的个数

top() 返回优先队列中有最高优先级的元素

用途就不用多说了吧,例如Huffman编码、分支限界、A*启发式都需要用到优先队列存放信息。

12、逆波兰式用什么数据结构算法的效率比较高,为什么

13、C和C++,C++和Java的区别

C是一个结构化语言,如谭老爷子所说:它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。

所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为面向对

14、什么是预处理

程序设计中的预处理(Preprocess),程序设计领域,预处理是在程序源代码被编译之前,由预处理器(Preprocessor)对程序源代码进行的处理。这个过程并不对程序的源代码进行解析,但它把源代码分割或处理成为特定的符号用来支持宏调用。

预处理器的主要作用就是把通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有:文件包含,条件编译、布局控制和宏替换4种。

15、堆和栈的区别

栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。

堆栈(英文:stack),也可直接称栈。台湾作堆叠,在计算机科学中,是一种特殊的串行形式的数据结构,它的特殊之处在于只能允许在链结串行或阵列的一端(称为堆栈顶端指标,英文为top)进行加入资料(push)和输出资料(pop)的运算。另外堆栈也可以用一维阵列或连结串行的形式来完成。堆栈的另外一个相对的操作方式称为伫列。

由于堆栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。

堆栈数据结构使用两种基本操作:推入(push)和弹出(pop):

17、简述在面向对象程序设计中,引入继承和封装的主要作用继承:代码重用封装:代码安全

18、简述C语言中指针及其作用

19、Java语言的多线程机制

20、简述四种常见的数据逻辑结构

①集合集合中任何两个数据元素之间都没有逻辑关系,组织形式松散。

④图状结构图状结构中的结点按逻辑关系互相缠绕,任何两个结点都可以邻接

21、简述在一棵二叉排序树中查找一特定元素x的算法过程

二叉排序树(Binary Sort Tree)又称二叉查找树。它或者是一棵空树;

或者是具有下列性质的二叉树:

(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;

(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;

(3)左、右子树也分别为二叉排序树;

在最坏的情况是,两子数列拥有大各为1 和n-1,且调用树(call tree)变成为一个n 个嵌套(nested)调用的线性连串(chain)。第i 次调用作了O(n-i)的工作量,且递归关系式为:这与插入排序和选择排序有相同的关系式,以及它被解为T(n) = O(n2)。

它的最坏情况是很恐怖的,需要

空间,远比数列本身还多。

23、简述在一带权有向图中寻找关键路径的基本思想

关键路径:关键路径是指网络终端元素的元素的序列,该序列具有最长的总工期并决定了整个项目的最短完成时间。在AOE 网中,从始点到终点具有最大路径长度(该路径上的各个活动所持续的时间之和)的路径为关键路径关键活动:关键路径上的活动称为关键活动。

只有所有关键活动提前完成,整个工程才能提前完成。

最早可能开始时间Ve[i]:从原点到顶点Vi最长路径的长度(之前所有事情做完了才可能开始);最迟允许开始时间Vl[i]:保证汇点Vn-1在Ve[n-1]时刻完成的前提下(整体工期不拖),事件Vi最迟允许的开始时间。Vl[i]=min{Vl[k]-dur()} 关键活动:松弛时间(slack time)Al[j]-Ae[k]==0的节点。

24、类作用域和文件作用域的区别是什么

文件作用域也称“全局作用域”。?

?

定义在所有函数之外的标识符,具有文件作用域,作用域为从定义处到整个源文件结束。文件中定义的全局变量和函数都具有文件作用域。如果某个文件中说明了具有文件作用域的标识符,该文件又被另一个文件包含,则该标识符的作用域延伸到新的文件中。如cin和cout是在头文件iostream.h中说明的具有文件作用域的标识符,它们的作用域也延伸到嵌入iostream.h的文件中。

操作系统1. 进程和线程的区别及联系,操作系统的程序栈…

线程和进程的区别:

1、线程是进程的一部分,所以线程有的时候被称为是轻权进程或者轻量级进程。

2、一个没有线程的进程是可以被看作单线程的,如果一个进程内拥有多个进程,进程的执行过程不是一条线(线程)的,而是多条线(线程)共同完成的。

3、系统在运行的时候会为每个进程分配不同的内存区域,但是不会为线程分配内存(线程所使用的资源是它所属的进程的资源),线程组只能共享资源。那就是说,出了CPU之外(线程在运行的时候要占用CPU资源),计算机内部的软硬件资源的分配与线程无关,线程只能共享它所属进程的资源。

4、与进程的控制表PCB相似,线程也有自己的控制表TCB,但是TCB中所保存的线程状态比PCB表中少多了(上下文保存一下就行)。

5、进程是系统所有资源分配时候的一个基本单位,拥有一个完整的虚拟空间地址,并不依赖线程而独立存在。

进程与程序的区别:

程序是一组指令的集合,它是静态的实体,没有执行的含义。而进程是一个动态的实体,有自己的生命周期。一般说来,一个进程肯定与一个程序相对应,并且只有一个,但是一个程序可以有多个进程,或者一个进程都没有也可以只有一个进程。除此之外,进程还有并发性和交往性。简单地说,进程是程序的一部分,程序运行的时候会产生进程。总结:线程是进程的一部分,进程是程序的一部分。

前一句说的不太准确,线程也有自己的资源,比如栈,私有数据等等。说他使用而不拥有资源指的是使用的是进程的打开文件句柄,进程的全局数据,进程的地址空间等等,这些都属于进程,而不属于线程,进程内个线程共享。

进程切换比线程切换开销大是因为进程切换时要切页表,而且往往伴随着页调度,因为进程的数据段代码段要换出去,以便把将要执行的进程的内容换进来。本来进程的内容就是线程的超集。而且线程只需要保存线程的上下文(相关寄存器状态和栈的信息)就好了,动作很小。

2. OS里面进程的“三态”“五态”“七态”是什么

3. 什么是操作系统

计算机面试问题

计算机面试问题 死锁问题,银行家算法, 产生原因:竞争资源,进程间的推进顺序非法必要条件:互斥,请求和保持,不剥夺,环路等待(预防死锁即是是后面三个条件之一不能成立) 处理方法:预防死锁,避免死锁,检测死锁,解除死锁(剥夺资源或者撤销进程) 银行家算法:最具代表性的避免死锁的算法,由牛人Dijkstra 提出,鉴于学过操作系统的都该懂,此处不再详述。 网络操作系统与分布式操作系统的区别, 网络操作系统是使联网的计算机能方便而有效的共享网络资源,为网络用户提供所需各种服务的软件和协议的集合。其功能主要包括高效,可靠的网络通信;对网络中的共享资源进行有效管理;提供电子邮件,文件传输,共享硬盘,打印机等服务;网络安全管理;提供互操作能力。分布式操作系统是由多个分散的计算机经网络连接而成的计算机系统,系统中的计算机无主次之分,任意两台计算机可以通过通信交换信息。为分布式计算机配置的操作系统就是“分布式操作系统”(注意:分布式操作系统是网络操作系统的更高级形式,它保持了网络系统所拥有的全部功能,同时又具有透明性,可靠性,高性能等)。它能直接对系统中的各类资源进行动态的分配和调度,任务划分,信息 1 传输协调工作,并为用户提供一个统一的界面和标准的接口,用户通过这一界面实现所需要的从操作以及使用系统资源,使系统中的若干台计算机相互协作以完成共同的任务,有效控制和协调诸任务的并行执行,并向系统提供统一的,有效的接口软件集合。网络操作系统和分布式操作系统 1 虽然都属于管理分布在不同地理位置上的操作系统,但最大的差别是:网络操作系统工作时必须确认网址,而分布式操作系统则不必知道计算机的确切地址;分

北航计算机复试面试题

操作系统: 1.文件系统和数据库系统的区别,哪个效率更高,为什么。 2.进程上下文切换具体过程,是什么实现的 3.BIOS的意思,程序的可移植性 4..操作系统的基本概念 5.操作系统开机过程; 6.操作系统分哪些部分,进程管理包含什么内容; 7.操作系统我们所学的其他课程有什么关系,还是操作系统是个独立 的课程 8.什么是系统调用?它和库函数调用有什么区别? 计算机网络: 1.数据链路层是干什么的 2.输入数据在网络层叫什么 3.分组的生命期,为什么要设置这个生命期 4.dns的工作过程 5.点击一个链接的网络过程; 6.网络模型,网络层协议有哪些,应用层协议有哪些 7.两台计算机中的进程进行通信,需要解决什么问题? 基础数学:

1.什么是极限,什么是趋近 2.极值的求法 3.泰勒级数的展开式;为什么把一个简单的函数表示成那么麻烦的 泰勒级数? 4.信息和数据的区别? 5.图形和图像有什么区别? 6.概率的全概率公式,高数的傅立叶级数,现代秩的概念 7.一枚硬币抛三次,至少一次正面的概率 8.什么是图的同构 9.说一下数理逻辑的定义 10.矩阵的用途 11.线性相关与无关 12.离散数学包含那些部分; 13.集合的势,无限集合的大小比较,偏序,良序,全序,划分,欧拉图,Hamilton图 14.什么是群 15.谓词逻辑和命题逻辑的区别 16.什么是等价关系,什么是子句,什么是合取范式 17.什么是二元关系 数据结构与算法: 1.什么是二叉树

2.已知病毒特征码一百万个和文件一个,问用什么查找算法能尽快的检测出该文件是否有病毒? 3.快排和插入排序那个更高效? 4.简单描述九宫格算法 5.学数据结构的意义; 6.离散数学的图论和数据结构图论的相同点和不同点 7.堆栈和堆的区别 8.递归变成非递归需要什么(堆栈) 9.堆栈溢出是怎么回事儿 10.算法的几种策略,迪杰斯特拉算法 11.要得到文件的后N行,需要什么数据结构实现 12.数据库中B+树和B-树的区别 13.什么是树?什么是图?树和图有什么区别? 14.矩阵相乘的时间复杂度是多少? 15.现在有一未知大小的文件,里面是单词的集合,现要将文件读入内存,问采用什么存储结构较好? 数据库: 1.数据库查询语句怎样写效率更高 2.使用sql语句实现图的某一顶点可达的该图的其他顶点的查找 3.数据库完整性措施; 4.如何保证数据的一致性

计算机复试面试题目大全

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)决定数据库中的信息内容和结构:数据库中要存放哪些信息

计算机基础知识面试题库

对于项目 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)进程之间并发性粒度粗,并发度不高

面试常见问题_计算机网络

计算机网络 OSI与TCP/IP各层的结构与功能,都有哪些协议。

TCP/IP

相似之处:

基于独立的协议族,层的功能划分相似 差异: ISO/OSI:从概念模型到协议实现; TCP/IP:从协议实现到概念描述 层次数量差别; 2.TCP与UDP的区别。 ●UDP(UserDatagramProtocol):不提供复杂的控制机制,利用IP提供面向无连接的通信 服务。并且他是将应用程序发来的数据在收到那一刻,立刻按照原样发送到网络上的一种机制。即使出现网络拥堵,UDP也无法进行流量控制等避免拥塞的行为。如果传输途中出现丢包,也不负责重发。甚至出现包的到达乱序时也没有纠正功能。如果需要这些细节控制,要交给采用UDP的应用程序处理。UDP将控制转移到应用程序,只提供作为传输层协议的最基本功能。 ●TCP(TransmissionControlProtocol):TCP充分实现了数据传输时的各种控制功能,可 以进行丢包的重发控制、对乱序的分包进行顺序控制。此外,TCP作为一种面向有链接的协议,只有在确认通信对端存在时才会发送数据,从而可以控制通信流量的浪费。 ●TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠 性传输。 ●如何加以区分使用?

TCP用于传输层有必要实现可靠性传输的情况。UDP主要用于对高速传输和实时性有较高要求的通信或广播通信。 区别: 1)TCP面向连接;UDP是无连接的,发送数据之前不需要建立连接。 2)TCP提供可靠的服务。TCP传送的数据无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,不保证可靠交付。 3)TCP面向字节流,实际上TCP把数据看成一串无结构的字节流;UDP是面向报文的,UDP 没有拥塞控制,网络出现拥塞不会使源主机的发送速率降低。 4)每一条TCP连接只能是点对点的;UDP支持一对一、一对多、多对一和多对多的交互通信5)TCP首部开销20字节;UDP首部开销8字节; 6)TCP逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道 3.TCP报文结构。 ?IP结构 首部固定长度20字节,所有IP数据报必须具有。 可选字段,长度可变。 ?版本:占4位,值IP协议的版本,当前IP协议版本号为4(IPv4) ?首部长度:4位,表示最大数值是15个单位(一个单位4字节),首部最大值为60字节。?区分服务:未被使用。

计算机专业复试面试题集

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

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

计算机常见算法面试题

简介:计算机考研之家搜集的华为C语言经典面试题,来试试你的C语言水平吧。每道题都附有详细解答和讲解,很有参考价值的C语言面试题。 怎么判断链表中是否有环? bool CircleInList(Link* pHead) { if(pHead = = NULL || pHead->next = = NULL)//无节点或只有一个节点并且无自环 return (false); if(pHead->next = = pHead)//自环 return (true); Link *pTemp1 = pHead;//step 1 Link *pTemp = pHead->next;//step 2 while(pTemp != pTemp1 && pTemp != NULL && pTemp->next != NULL) { pTemp1 = pTemp1->next; pTemp = pTemp->next->next; } if(pTemp = = pTemp1) return (true); return (false); } 两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串 void insert(char *s, char *t, int i) { memcpy(&s[strlen(t)+i],&s[i],strlen(s)-i); memcpy(&s[i],t,strlen(t)); s[strlen(s)+strlen(t)]='\0'; } 1。编写一个C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的。 char * search(char *cpSource, char ch) { char *cpTemp=NULL, *cpDest=NULL; int iTemp, iCount=0; while(*cpSource) { if(*cpSource == ch) { iTemp = 0; cpTemp = cpSource; while(*cpSource == ch) ++iTemp, ++cpSource; if(iTemp > iCount)

计算机网络之面试常考

OSI,TCP/IP,五层协议的体系结构,以及各层协议 OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网络接口层、网际层、运输层、应用层。 五层协议(5层):物理层、数据链路层、网络层、运输层、应用层。 每一层的协议如下: 物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关) 数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机) 网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、(路由器) 传输层:TCP、UDP、SPX 会话层:NFS、SQL、NETBIOS、RPC 表示层:JPEG、MPEG、ASII 应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS 每一层的作用如下: 物理层:通过媒介传输比特,确定机械及电气规范(比特Bit) 数据链路层:将比特组装成帧和点到点的传递(帧Frame) 网络层:负责数据包从源到宿的传递和网际互连(包PackeT) 传输层:提供端到端的可靠报文传递和错误恢复(段Segment) 会话层:建立、管理和终止会话(会话协议数据单元SPDU) 表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU) 应用层:允许访问OSI环境的手段(应用协议数据单元APDU) IP地址的分类 A类地址:以0开头,第一个字节范围:0~127(1.0.0.0 - 126.255.255.255);B类地址:以10开头,第一个字节范围:128~191(128.0.0.0 - 191.255.255.255); C类地址:以110开头,第一个字节范围:192~223(192.0.0.0 - 223.255.255.255); 10.0.0.0—10.255.255.255, 172.16.0.0—172.31.255.255, 192.168.0.0—192.168.255.255。(Internet上保留地址用于内部) IP地址与子网掩码相与得到主机号 ARP是地址解析协议,简单语言解释一下工作原理。 1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP 地址和MAC地址之间的对应关系。

面试逻辑题目汇总

1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同 的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢? 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取不同种颜色的 两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻? 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形 状上下都不均匀,问你如何才能准确称出4公升的水?(40秒-3分钟) 4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的, 另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问? 5.村子中有50个人,每人有一条狗。在这50条狗中间有病狗(这种病不会传 染)。于是人们就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要枪毙自己的狗,而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。第一天,第二天都没有枪响。到了第三天传来一阵枪声,问有几条病狗,如何推算得出? 6.S先生、P先生、Q先生他们知道桌子的抽屉里有16张扑克牌:红桃A、Q、 4 黑桃J、8、4、2、7、3 草花K、Q、5、4、6 方块A、5。约翰教授从这 16张牌中挑出一张牌来,并把这张牌的点数告诉P先生,把这张牌的花色告诉Q先生。这时,约翰教授问P先生和Q 先生:你们能从已知的点数或花色中推知这张牌是什么牌吗?于是,S先生听到如下的对话: P先生:我不知道这张牌。 Q先生:我知道你不知道这张牌。 P先生:现在我知道这张牌了。 Q先生:我也知道了。 听罢以上的对话,S先生想了一想之后,就正确地推出这张牌是什么牌。请问:这张牌是什么牌? 7.两个男孩各骑一辆自行车,从相距2O英里(1英里合1.6093千米)的两个 地方,开始沿直线相向骑行。在他们起步的那一瞬间,一辆自行车车把上的一只苍蝇,开始向另一辆自行车径直飞去。它一到达另一辆自行车车把,就立即转向往回飞行。这只苍蝇如此往返,在两辆自行车的车把之间来回飞行,直到两辆自行车相遇为止。如果每辆自行车都以每小时1O英里的等速前进,苍蝇以每小时15英里的等速飞行,那么,苍蝇总共飞行了多少英里? 8.有位渔夫,头戴一顶大草帽,坐在划艇上在一条河中钓鱼。河水的流动速度 是每小时3英里,他的划艇以同样的速度顺流而下。“我得向上游划行几英里,” 他自言自语道,“这里的鱼儿不愿上钩!”

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

软件工程(或计算机专业)英语面试,这是本人复试是整理的,成绩一般,大神勿喷。为什么考研(很重要的点,我是软件工程专业的,本段是关于软件工程的) 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.

面试常见问题计算机网络

计算机网络OSI与TCP/IP各层的结构与功能,都有哪些协议。 ISO/OSI模型用途主要作用协议 应用层进程间通信为操作或网络应用程序提供访问 网络服务的接口。TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层数据表示(编码)解决用户信息的语法表示问题。 提供格式化的表示和转换数据服 务。数据的压缩和解压缩,?和解 密等工作都由表示层负责。 无协议 会话层建立和管理主机 间的会话会话层不参与具体的传输,它提供 包括访问验证和会话管理在内的 建立和维护应用之间通信的机制。 如服务器验证用户登录便是由会 话层完成的。(以上统称报文) 无协议 传输层端到端链接提供主机之间连接,屏蔽技术细 节。将分组组成报文,可靠传输、 流量控制。为上层提供端到端(最 终用户到最终用户)的透明的、可 靠的数据传输服务。 TCP,UDP 网络层寻址路径选择为传输层提供建立、维护和网络连 接,解决路由选择。数据单元--- 分组packet IP,ICMP,RIP,OSPF,BGP,IGMP 数据链路层占用传输介质数据链路层在不可靠的物理介质 上提供可靠的传输。建立相邻结点 之间的数据链路,通过差错控制提 供数据帧(Frame)在信道上无差 错的传输。作用;物理地址寻址、 数据的成帧、流量控制、数据的检 错、重发。?SLIP,CSLIP,PPP,ARP,RARP,MTU

TCP/IP 相似之处: 基于独立的协议族,层的功能划分相似差异: ISO/OSI:从概念模型到协议实现;TCP/IP:从协议实现到概念描述

层次数量差别; 2.TCP与UDP的区别。 UDP(UserDatagramProtocol):不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且他是将应用程序发来的数据在收到那一刻,立刻按照原样发送到网络上的一种机制。即使出现网络拥堵,UDP也无法进行流量控制等避免拥塞的行为。如果传输途中出现丢包,也不负责重发。甚至出现包的到达乱序时也没有纠正功能。如果需要这些细节控制,要交给采用UDP的应用程序处理。UDP将控制转移到应用程序,只提供作为传输层协议的最基本功能。 TCP(TransmissionControlProtocol):TCP充分实现了数据传输时的各种控制功能,可以进行丢包的重发控制、对乱序的分包进行顺序控制。此外,TCP作为一种面向有链接的协议,只有在确认通信对端存在时才会发送数据,从而可以控制通信流量的浪费。 TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。 如何加以区分使用? TCP用于传输层有必要实现可靠性传输的情况。UDP主要用于对高速传输和实时性有较高要求的通信或广播通信。 区别: 1)TCP面向连接;UDP是无连接的,发送数据之前不需要建立连接。 2)TCP提供可靠的服务。TCP传送的数据无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,不保证可靠交付。 3)TCP面向字节流,实际上TCP把数据看成一串无结构的字节流;UDP是面向报文的,UDP没有拥塞控制,网络出现拥塞不会使源主机的发送速率降低。 4)每一条TCP连接只能是点对点的;UDP支持一对一、一对多、多对一和多对多的交互通信 5)TCP首部开销20字节;UDP首部开销8字节; 6)TCP逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道 3.TCP报文结构。 IP结构 首部固定长度20字节,所有IP数据报必须具有。 可选字段,长度可变。

教师资格证面试结构化真题解析思路综合分析类25道题

教师资格证面试结构化真题解析思路——综合分析类(25道题) 1.如果一个老师上课拖堂了,同学指出应该下课了,老师气呼呼的摔门而去,你怎么看? 题型:综合分析-观点类 分析:要从教师及学生两方面进行分析,各有合理之处,也存在一定的问题。不能全盘否定,要辩证的看待。 参考答案: 点题:老师上课拖堂了,同学指出应该下课了,老师气呼呼的摔门而去,这个教师的作法就欠妥当,同学们直接指出老师问题,也不够礼貌。 析题:作为老师,可能出发点是好的,希望学生多学习知识,取得理想的教学效果,但是不能提倡拖堂,因为首先,占用学生休息时间用来上课,本身会招来学生的反感和抵触情绪。人在教室,心思早已飘出课堂,不能达到很好的教学效果。其次教师应该及时反思,自己的教学安排是否恰当可行,在以后的教学计划中,精简内容,突出重点,吸引学生。最后,当学生指出问题之后,应该虚心接受,不能摔门而出,学生具有向师性,不好的行为,学生也会模仿,不利于学生身心全面发展及良好品行的形成。 作为学生,题目中的学生作法也不妥当,应该在课下开诚布公的告诉老师,或者给代课教师写一封信,做到友好交流,共同解决问题才是关键。 总结:总之,这位教师应该多反思,树立终身学习的理念,不断更新教学的内容和方法。才能适应新时期素质教育要求,形成良好的师生关系,成为受学生欢迎的教师。这些学生也要体会教师的良苦用心,用合适的方法来反映教师的一些问题。 2.有的老师上课的时候频频使用多媒体,给学生播放电影,学生反映老师讲的内容少,你怎么看? 题型:综合分析—现象类 分析:本题采用主体分析法进行作答。这道题目中的主体是老师、学生两个,那就从这两个主体进行分析。 从老师的角度看,希望授课时课程生动,但是方法有所欠缺,缺乏必要知识的引导总结; 从学生角度讲,学生是学习的主体,学习更多知识是追求,反映学生的成长进步等。 参考答案: 点题:有的老师上课的时候频频使用多媒体,给学生播放电影,学生反映老师讲的内容少,对于这种现象,我有以下几点看法:

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

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

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

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

计算机专业复试面试经典问题(含答案)

1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 2. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢while(1){}或者for(;;){} 3. 用变量a给出下面的定义 a) 一个整型数(An integer) b)一个指向整型数的指针(A pointer to an integer) c)一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an intege)r d)一个有10个整型数的数组(An array of 10 integers) e) 一个有10个指针的数组,该指针是指向一个整型数的。(An array of 10 pointers to integers) f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers) g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer) h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数(An array of ten pointers to functions that take an integer argument and return an integer ) 答案是: a) int a; 键字static的作用是什么 这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。 大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。 5. 关键字const有什么含意表示常量不可以修改的变量。 const int a; int const a; const int *a; int * const a; int const * a const; 前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也

[第1题-60题汇总]微软数据结构+算法面试100题

精选微软等公司数据结构 精选微软等公司数据结构++算法面试100题 -----[第1题-60题总] 资源说明: 此份,是为微软等公司数据结构+算法面试100题,之前60题的汇总。 总结整理了前第1题-第60题。特此并作此一份上传。以飨各位。:)。 -------------------------------- 相关资源,包括答案,下载地址: [答案V0.2版]精选微软数据结构+算法面试100题[前20题]--答案修正 https://www.360docs.net/doc/6016649091.html,/source/2813890 //此份答案是针对最初的V0.1版本,进行的校正与修正。 [答案V0.1版]精选微软数据结构+算法面试100题[前25题] https://www.360docs.net/doc/6016649091.html,/source/2796735 [第二部分]精选微软等公司结构+算法面试100题[前41-60题]: https://www.360docs.net/doc/6016649091.html,/source/2811703 [第一部分]精选微软等公司数据结构+算法经典面试100题[1-40题] https://www.360docs.net/doc/6016649091.html,/source/2778852 更多资源,下载地址: http://v_july_https://www.360docs.net/doc/6016649091.html,/ 很快,我将公布第21-40题的答案,敬请期待。:).. 如果你对以下的前第1-60题,有好的思路,和算法,欢迎跟帖回复, 或者,联系我,发至我的邮箱, zhoulei0907@https://www.360docs.net/doc/6016649091.html,。 My CSDN Blog:https://www.360docs.net/doc/6016649091.html,/v_JULY_v My sina Blog:https://www.360docs.net/doc/6016649091.html,/shitou009 帖子维护地址: [整理]算法面试:精选微软经典的算法面试100题[前1-60题] https://www.360docs.net/doc/6016649091.html,/u/20101023/20/5652ccd7-d510-4c10-9671-307a56006e6d.html -------------------------------------- July、2010、/11.12.请享用。:)。 1

相关文档
最新文档