




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
考研计算机复试面试題總結概念問題C++/数据构造1、简述你對“面向對象”和“面向過程”编程思想的认识与思索用就可以了。面向過程就是分析出处理問題所需要的环节,然後用函数把這些环节一步一步实現,使用的時候一种一种依次调面向對象是把构成問題事务分解成各個對象,建立對象的目的不是為了完毕一种环节,而是為了描叙某個事物在整個处理問題的环节中的行為。例如五子棋,面向過程的设计思绪就是首先分析問題的环节:1、開始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回环节2,9、输出最终成果。把上面每個环节用分别的函数来实現,問題就处理了。而面向對象的设计则是從此外的思绪来处理問題。整個五子棋可以分為1、黑白双方,這两方的行為是一模同样的,2、棋盘系统,负责绘制画面,3、规则系统,负责鉴定诸如犯规、输赢等。第一类對象(玩家對象)负责接受顾客输入,并告知第二类對象(棋盘對象)棋子布局的变化,棋盘對象接受到了棋子的i变化就要负责在屏幕上面显示出這种变化,同步运用第三类對象(规则系统)来對棋局進行鉴定。可以明显地看出,面向對象是以功能来划分問題,而不是环节。同样是绘制棋局,這样的行為在面向過程的设计中分散在了總多环节中,很也許出現不一样的绘制版本,由于一般设计人员會考虑到实际状况進行多种各样的简化。而面向對象的设计中,绘图只也許在棋盘對象中出現,從而保证了绘图的统一。功能上的统一保证了面向對象设计的可扩展性。例如我要加入悔棋的功能,假如要改動面向過程的设计,那么從输入到判断到显示這一连串的环节都要改動,甚至环节之间的循序都要進行大规模调整。假如是面向對象的话,只用改動棋盘對象就行了,棋盘系统保留了黑白双方的棋谱,简朴回溯就可以了,而显示和规则判断则不用顾及,同步整個對對象功能的调用次序都没有变化,改動只是局部的。再例如我要把這個五子棋游戏改為围棋游戏,假如你是面向過程设计,那么五子棋的规则就分布在了你的程序的每一种角落,要改動還不如重写。可是假如你當時就是面向對象的设计,那么你只用改動规则對象就可以了,五子棋和围棋的区别不就是规则吗?(當然棋盘大小仿佛也不一样样,可是你會覺得這是一种难題吗?直接在棋盘對象中進行一番小改動就可以了。)而下棋的大体环节從面向對象的角度来看没有任何变化。當然,要到达改動只是局部的需要设计的人有足够的經验,使用對象不能保证你的程序就是面向對象,初學者或者很蹩脚的程序员很也許以面向對象之虚而行面向過程之实,這样设计出来的所谓面向對象的程序很难有良好的可移植性和可扩展性。2、ADT是什么?简述你對“数据抽象”和“信息隐藏”的认识抽象数据类型(AbstractDataType简称ADT)是指一种数學模型以及定义在此数學模型上的一组操作。抽象数据类型需要通過固有数据类型(高级编程語言中已实現的数据类型)来实現。抽象数据类型是与表达無关的数据类型,是一种数据模型及定义在该模型上的一组运算。對一种抽象数据类型進行定义時,必须給出它的名字及各运算的运算符名,即函数名,并且规定這些函数的参数性质。一旦定义了一种抽象数据类型及详细实現,程序设计中就可以像使用基本数据类型那样,拾分以便地使用抽象数据类型。抽象数据类型通過类(class)实現程序设计語言對抽象数据类型的支持是指容許顾客自定义具有如下特性的数据类型:1.模块封装:Therepresentationof,andoperationson,objectsofthetypearedefinedinasinglesyntacticunit2.信息隐蔽:Therepresentationofobjectsofthetypeishiddenfromtheprogramunitsthatusetheseobjects,sotheonlyoperationspossiblearethoseprovidedinthetype'sdefinition3、const和static有什么作用?const是一种C和C++語言的关键字,它限定一种变量不容許被变化,即只讀。使用const在一定程度上可以提高程序的安全性和可靠性,也便于实現對此進行优化(如把只讀對象放入ROM中)。const作為类型限定符,是类型的一部分。4、友元关系的利与弊假如将一种函数或一种类申明為另一种类的友元,那么它就可以直接存取這個类對象中的多种数据,而不必在意這些数据的封装级别,即無论是private的,protected的,還是public的,有钱同使,有难同當。5、C++多态的实現1.用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的组员函数。2.存在虚函数的类均有一种一维的虚函数表叫做虚表。类的對象有一种指向虚表開始的虚指针。虚表是和类對应的,虚表指针是和對象對应的。3.多态性是一种接口多种实現,是面向對象的关键。分為类的多态性和函数的多态性。4.多态用虚函数来实現,結合動态绑定。5.纯虚函数是虚函数再加上=0。6.抽象类是指包括至少一种纯虚函数的类。构造函数次序:基类构造函数派生类构造函数前面输出的成果是由于编译器在编译的時候,就已經确定了對象调用的函数的地址,要处理這個問題就要使用迟绑定(latebinding)技术。當编译器使用迟绑定期,就會在运行時再去确定對象的类型以及對的的调用函数。而要让编译器采用迟绑定,就要在基类中申明函数時使用virtual关键字(注意,這是必须的,诸多學员就是由于没有使用虚函数而写出诸多錯误的例子),這样的函数我們称為虚函数。一旦某個函数在基类中申明為virtual,那么在所有的派生类中该函数都是virtual,而不需要再显式地申明為virtual。前面输出的成果是由于编译器在编译的時候,就已經确定了對象调用的函数的地址,要处理這個問題就要使用迟绑定(latebinding)技术。當编译器使用迟绑定期,就會在运行時再去确定對象的类型以及對的的调用函数。而要让编译器采用迟绑定,就要在基类中申明函数時使用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/ISOC++的一部份,它的出現,促使C++程序员的思维方式更朝向泛型编程(genericprogram)发展。7、论述C++在什么状况下必须進行运算符重载。?8、為何說“继承是C++面向對象的一种重要特性之一”,請做一下简要阐明。?9、請阐明函数模板(FunctionTemplate)和函数模板实例化(function-templatespecification)的区别和联络。函数模板实例化在函数模板為每個类型時首先调用中,编译器创立一种实例化。每個实例化是為该类型的该模板化功能的版本。在中,此函数為类型時,使用此实例化将调用。假如您有几种相似的实例化,虽然在不一样的模块,因此,只有该实例化的一种副本在可执行文献将成果。函数参数将所有参数的函数模板容許和参数,對该参数不依赖于模板参数的位置。函数模板可以通過申明与特定类型的模板显式实例化作為参数。C++中提供了函数模板,实际上是建立一种通用函数,其函数类型和形参类型不详细指定,用一种虚拟的类型来代表,這個通用函数就成為函数模板。使用模板的好处就是對于那些函数体相似的函数都可以用這個模板来替代,而不必去定义每個详细的函数去实現。下面通過一种简朴的详细例子(比较两個数的大小)来阐明:#include<iostream>usingnamespacestd;template<classT>//模板申明,T為类型参数TMax(Ta,Tb)//定义一种通用函数,用T作虚拟的类型名{if(a>b){returna;}elsereturnb;}模板实例化(templateinstantiation)是指在编译或链接時生成函数模板或类模板的详细实例源代码。ISOC++定义了两种模板实例化措施:隐式实例化(當使用实例化的模板時自動地在目前代码單元之前插入模板的实例化代码)、显式实例化(直接申明模板实例化)。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,LastInFirstOut)的原理运作。堆栈数据构造使用两种基本操作:推入(push)和弹出(pop):17、简述在面向對象程序设计中,引入继承和封装的重要作用继承:代码重用封装:代码安全18、简述C語言中指针及其作用19、Java語言的多线程机制20、简述四种常見的数据逻辑构造①集合集合中任何两個数据元素之间都没有逻辑关系,组织形式松散。④图状构造图状构造中的結點按逻辑关系互相缠绕,任何两個結點都可以邻接21、简述在一棵二叉排序树中查找一特定元素x的算法過程二叉排序树(BinarySortTree)又称二叉查找树。它或者是一棵空树;或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有結點的值均不不小于它的根結點的值;(2)若右子树不空,则右子树上所有結點的值均不小于它的根結點的值;(3)左、右子树也分别為二叉排序树;在最壞的状况是,两子数列拥有大各為1和n-1,且调用树(calltree)变成為一种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(<Vi,Vk>)}关键活動:松弛時间(slacktime)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.什么是操作系统4.死锁的条件,检测死锁的也許措施及其基本思想Adeadlockisasituationinwhichtwoormorecompetingactionsareeachwaitingfortheothertofinish,andthusneithereverdoes.1.(互斥):Atleasttworesourcesmustbenon-shareable.[1]Onlyoneprocesscanusetheresourceatanygiveninstantoftime.2.HoldandWaitorResourceHolding:Aprocessiscurrentlyholdingatleastoneresourceandrequestingadditionalresourceswhicharebeingheldbyotherprocesses.3.No(严禁抢占):Theoperatingsystemmustnotde-allocateresourcesoncetheyhavebeenallocated;theymustbereleasedbytheholdingprocessvoluntarily.4.Aprocessmustbewaitingforaresourcewhichisbeingheldbyanotherprocess,whichinturniswaitingforthefirstprocesstoreleasetheresource.Ingeneral,thereisaofwaitingprocesses,P={P1,P2,...,PN},suchthatP1iswaitingforaresourceheldbyP2,P2iswaitingforaresourceheldbyP3andsoonuntilPNiswaitingforaresourceheldbyP1.[1][7]ThesefourconditionsareknownastheCoffmanconditionsfromtheirfirstdescriptionina1971articleby[7]Unfulfillmentofanyoftheseconditionsisenoughtoprecludeadeadlockfromoccurring.Ensurethatthesystemwillneverenteradeadlockstate.Prevention:Ensureoneofthefourconditionsfails.Avoidance:TheOSneedsmoreinformationsothatitcandetermineifthecurrentrequestcanbesatisfiedordelayed.死锁检测:1.Resource-AllocationGraph2.DetectionAlgorithm5.顾客态和内核态當程序运行在3级特权级上時,就可以称之為运行在顾客态,由于這是最低特权级,是一般的顾客進程运行的特权级,大部分顾客直接面對的程序都是运行在顾客态;反之,當程序运行在级特权级上時,就可以称之為运行在内核态。顾客态切换到内核态的3种方式a.系统调用這是顾客态進程积极规定切换到内核态的一种方式,顾客态進程通過系统调用申請使用操作系统提供的服务程序完毕工作,例如前例中fork()实际上就是执行了一种创立新進程的系统调用。而系统调用的机制其关键還是使用了操作系统為顾客尤其開放的一种中断来实現,例如Linux的int80h中断。b.异常當CPU在执行运行在顾客态下的程序時,发生了某些事先不可知的异常,這時會触发由目前运行進程切换到处理此异常的内核有关程序中,也就转到了内核态,例如缺页异常。c.外围设备的中断當外围设备完毕顾客祈求的操作後,會向CPU发出對应的中断信号,這時CPU會暂停执行下一条即将要执行的指令转而去执行与中断信号對应的处理程序,假如先前执行的指令是顾客态下的程序,那么這個转换的過程自然也就发生了由顾客态到内核态的切换。例如硬盘讀写操作完毕,系统會切换到硬盘讀写的中断处理程序中执行後续操作等。這3种方式是系统在运行時由顾客态转到内核态的最重要方式,其中系统调用可以认為是顾客進程积极发起的,异常和外围设备中断则是被動的。6.面包店算法该算法的基本思想源于顾客在面包店中购置面包時的排队原理.顾客在進入面包店前,首先抓一种号,然後按照号码由小到大的次序依次進入面包店购置面包.這裏,面包店发放的号码是由小到大的,可是两個或两個以上的顾客却有也許得到相似的号码(使所抓号码不一样需要互斥),假如多种顾客抓到相似的号码,则规定按照顾客名字的字典次序進行排序,這裏假定顾客是没有重名的.在计算机系统中,顾客就相称于進程,每個進程有一种唯一的標识,我們用P的下面加一种下標来表达.例如:對于Pi和Pj,假如有i<j,则先為Pi服务,即Pi先進入临界区7.系统调用和库函数的区别(1)调用形式不一样。過程(函数)使用一般调用指令,其转向地址是固定不变的,包括在跳转語句中;但系统调用中不包括处理程序入口,而仅仅提供功能号,按功能号调用。(2)被调用代码的位置不一样。過程(函数)调用是一种静态调用,调用者和被调用代码在同一程序内,通過连接编辑後作為目的代码的一部份。當過程(函数)升级或修改時,必须重新编译连結。而系统调用是一种動态调用,系统调用的处理代码在调用程序之外(在操作系统中),這样一来,系统调用处理代码升级或修改時,与调用程序無关。并且,调用程序的長度也大大缩短,減少了调用程序占用的存储空间。(3)提供方式不一样。過程(函数)往往由编译系统提供,不一样编译系统提供的過程(函数)可以不一样;系统调用由操作系统提供,一旦操作系统设计好,系统调用的功能、种类与数量便固定不变了。(4)调用的实現不一样。程序使用一般机器指令(跳转指令)来调用過程(函数),是在顾客态运行的;程序执行系统调用,是通過中断机构来实現,需要從顾客态转变到关键态,在管理状态执行,因此,安全性好。8.經典進程同步問題是什么,同步思想?生产者-消费者問題是著名的進程同步問題,它描述一组生产者進程向一组消费者進程提供消息。它們共享一种有界缓冲池,生产者向其中投放消息,消费者從中获得消息。生产者-消费者問題是許多互相合作進程的一种抽象。假定缓冲池中有n個缓冲区,每個缓冲区寄存一种消息。由于缓冲池是临界资源,它只容許一种生产者投入消息,或者一种消费者從中取出消息。生产者之间、生产者与消费者之间、消费者之间都必须互斥地使用缓冲池。因此必须设置互斥信号量mutex,它代表缓冲池资源,它的数值為1。讀者-写者問題問題描述:一种数据集(如文献)被几种并行進程所共享,有些進程只规定讀数据集内容,称為讀者,而另某些進程则规定修改数据集内容,称為写者,几种讀者可以同步讀数据集,而不需要互斥,但一种写者不能和其他進程(不管是写者或讀者)同步访問這些数据集,它們之间必须互斥。哲學家進餐問題该問題描述如下:有五個哲學家,她們的生活方式是交替地進行思索和進餐。哲學家們公用一张圆桌,周围放有五把椅子,每人坐一把。在圆桌上有五個碗和五根筷子,當一种哲學家思索時,她不与其他人交談,饥饿時便试图取用其左、右最靠近她的筷子,但她也許一根都拿不到。只有在她拿到两根筷子時,方能進餐,進餐完後,放下筷子又继续思索。9.文献管理及组织,FATFAT=Table10.设备驱動程序与否属于OS,她的作用是什么不是,驱動程序是此外安装的软件,是操作系统控制并且和硬件之间通讯的桥梁(程序)11.程序和任务的区别任务是最抽象的,是一种一般性的术語,指由软件完毕的一种活動。一种任务既可以是一种進程,也可以是一种线程。简而言之,它指的是一系列共同到达某一目的的操作。例如,讀取数据并将数据放入内存中。這個任务可以作為一种進程来实現,也可以作為一种线程(或作為一种中断任务)来实現。進程常常被定义為程序的执行。可以把一种進程當作是一种独立的程序,在内存中有其完备的数据空间和代码空间。一种進程所拥有的数据和变量只属于它自已。线程则是某一進程中一路單独运行的程序。也就是說,线程存在于進程之中。一种進程由一种或多种线程构成,各线程共享相似的代码和全局数据,但各有其自已的堆栈。由于堆栈是每個线程一种,因此局部变量對每一线程来說是私有的。由于所有线程共享同样的代码和全局数据,它們比進程更紧密,比單独的進程间更趋向于互相作用,线程间的互相作用更轻易些,由于它們自身就有某些供通信用的共享内存:進程的全局数据進程的全局数据進程的全局数据進程的全局数据進程:资源分派、调度运行的基本單位。线程:進程中执行运算的最小單位,执行处理机调度的基本單位。12.数据库安全性和操作系统安全性的关系安全性問題不是数据库系统所独有的,所有计算机系统均有這個問題.只是在数据库系统中大量数据集中寄存,并且為許多最终顾客直接共享,從而使安全性問題更為突出.系统安全保护措施与否有效是数据库系统的重要指標之一.数据库的安全性和计算机系统的安全性,包括操作系统,网络系统的安全性是紧密联络,互相支持的.13.中断处理的過程祈求中断→响应中断→关闭中断→保留断點→中断源识别→保护現場→中断服务子程序→恢复現場→中断返回在实际运行中,一旦设备通過某引脚N向8259A发出中断指令,後者便向8086A的INTR引脚发送中断信号。8086A通過INTA引脚告知8259A中断有效(這個過程实际上還包括對此8259A的选址),後者即通過地址總线将對应引脚N的中断类型码(已预先存好,見上节)发送給CPU。CPU得到中断类型码後,先進行現場保护,重要包括:1.状态寄存器FLAGS压栈(同步堆栈寄存器SP-2);2.关闭中断(将FLAGS寄存器的IF位置零);3.将目前代码段寄存器CS和程序计数器IP压栈(同步堆栈寄存器SP-4)。現場保护完毕後,CPU開始按照前述的两环节翻译中断程序入口地址。在得到中断处理程序地址之後但调用中断处理程序之前,CPU會再检查一下NMI引脚与否有信号,以防在刚刚的处理過程中忽视了也許的NMI中断。NMI的优先级一直高于INTR。中断处理程序虽然是由程序员编写,但须循一定规范。作為例程,中断处理程序应當先将各寄存器信息(除了IP和CS,此二寄存器現已指向目前中断程序)压入堆栈予以保留,這样才能在中断处理程序内部使用這些寄存器。在程序結束時,应當按与压栈保护時相反的次序弹出各寄存器的值。中断程序的最终一句一直是IRET指令,這条指令将栈顶6個字节分别弹出并存入IP、CS和FLAGS寄存器,完毕了現場的還原。當然,假如是操作系统的中断处理程序,则未必——一般不會——還原中断前的状态。這样的中断处理程序一般會在调用完寄存器保留例程後,调用進程调度程序(多由高级語言编写),并决定下一种运行的進程。随即将此進程的寄存器信息(上次中断時保留下来的)存入寄存器并返回。在中断程序結束之後,主程序也发生了变化。14.计算机系统怎样实現存储保护1.防止地址越界(對進程所产生的地址必须加以检查,发生越界時产生中断,由操作系统進行對应处理)2.防止操作越权(對属于自已区域的信息,可讀可写:對公共区域中容許共享的信息或获得授权可使用的信息,可讀而不可修改;對未授权使用的信息,不可讀,不可写)15.调度的基本准则(SchedulingCriteria)Therearemanycriteriaforcomparingdifferentschedulingalgorithms.Herearefivecommonones:CPUutilization(CPU运用率)Throughput(吞吐量)Turnaroundtime(周转時间)Waitingtime(等待時间)Responsetime(响应時间)16.多线程与否真正能提高效率17.磁盘调度算法有哪几种FCFSSSTF(ShortestSeekTimeFirst)Scan/LookC-Sacn/C-Look18.RAID工作原理RAID(RedundantArrayofIndependentDisks)通過条带化存储和奇偶校验两個措施来实現其冗余和容錯的目的。条带化存储意味著可以一次写入一种数据块的方式将文献写入多种磁盘。条带化存储技术将数据分開写入多种驱動器,從而提高数据传播速率并缩短磁盘处理總時间。這种系统非常合用于交易处理、但可靠性却很差,由于系统的可靠性等于最差的單個驱動器的可靠性。奇偶校验通過在传播後對所有数据進行冗余校验可以保证数据的有效性。运用奇偶校验,當RAID系统的一种磁盘发生故障時,其他磁盘可以重建该故障磁盘。在這两种状况中,這些功能對于操作系统都是透明的。由磁盘阵列控制器(DAC)進行条带化存储和奇偶校验控制。19.Windows中段最長多少字节?20.同步、互斥22.简述祈求段页式虚拟内存管理基本思想Bringapageintomemoryonlywhenitisneeded.LessI/OneededLessmemoryneededFasterresponseMoreusersPageisneeded⇒referencetoitinvalidreference⇒abortnot-in-memory⇒bringtomemory网络1.路由协议常見路由协议有:RIP,OSPF,BGP等2.CSMA/CD,指数回退载波侦听多路访問/冲突检测(英語:CarrierSenseMultipleAccesswithCollisionDetection,CSMA/CD)此方案规定设备在发送帧的同步要對信道進行侦听,以确定与否发生冲突,若在发送数据過程中检测到冲突,则進行如下冲突处理操作:1.发送特殊阻塞信息并立即停止发送数据:特殊阻塞信息是持续几种字节的全1信号,此举意在强化冲突,以使得其他设备能尽快检测到冲突发生。2.在固定期间(一開始是1contentionperiodtimes)内等待随机的時间,再次发送。3.若仍旧碰撞,则采用進行发送。即拾次之内停止前一次“固定期间”的两倍時间内随机再发送,拾次後则停止前一次“固定期间”内随机再发送。尝试16次之後仍然失败则放弃传送。载波侦听多路访問/冲突防止(英語:CarrierSenseMultipleAccesswithCollisionAvoidance,CSMA/CA)此种方案采用积极防止碰撞而非被動侦测的方式来处理冲突問題。可以满足那些不易精确侦测与否有冲突发生的需求,如無线网域。CSMA/CA协议重要使用两种措施来防止碰撞:1.设备欲发送讯框(Frame),且讯框听到通道空闲時,维持一段時间後,再等待一段随机的時间依然空闲時,才提交数据。由于各個设备的等待時间是分别随机产生的,因此很大也許有所区别,由此可以減少冲突的也許性。2.RTS-CTS三向握手(:handshake):设备欲发送讯框前,先发送一种很小的RTS(RequesttoSend)讯框給目的端,等待目的端回应CTS(CleartoSend)帧後,才開始传送。此方式可以保证接下来传送数据時,不會发生冲突。同步由于RTS帧与CTS帧都很小,让传送的無效開销变小。3.解释的全称及其原理。文献传播的异同TransferProtocolHTTP:HyperTextTransferProtocol都是应用层协议。4.七层协议的名称PhysicalDataLinkNetworkTransmissionSessionPresentationApplication5.電子邮件发送到接受的過程,协议電子邮件的工作過程遵照客户-服务器模式。每份電子邮件的发送都要波及到发送方与接受方,发送方式构成客户端,而接受方构成服务器,服务器具有众多顾客的電子信箱。发送方通過邮件客户程序,将编辑好的電子邮件向邮局服务器(SMTP服务器)发送。邮局服务器识别接受者的地址,并向管理该地址的邮件服务器(POP3服务器)发送消息。邮件服务器识将消息寄存在接受者的電子信箱内,并告知接受者有新邮件到来。接受者通過邮件客户程序连接到服务器後,就會看到服务器的告知,進而打開自已的電子信箱来查收邮件。发送:SMTP接受:POP,IMAP6.P2P技术,详细的实現机制实現P2P需要一种中转服务器。也就是需要一种第三方。(一會儿我們来說為何需要一种第三方)7.网络中的握手問題8.無线传感网络(WSN)及其应用無线传感网络(Wirelesssensornetwork),或译無线感知网络,是由許多在空间中分布的自動装置构成的一种無线通讯计算机网络,這些装置使用传感器协作地监控不一样位置的物理或环境状况(例如温度、声音、振動、压力、运動或污染物)。無线传感器网络的发展最初来源于战場监测等軍事应用。而現今無线传感器网络被应用于诸多民用领域,如环境与生态监测、健康监护、家居自動化以及交通控制等。無线传感网络重要包括三個方面:感应,通讯,计算(硬件,软件,算法)。其中的关键技术重要有無线数据库技术,例如使用在無线传感器网络的查询,和用于和其他传感器通讯的网络技术,尤其是多次跳跃路由协议。9.目前网络新技术及其应用,Web2.0Web2.0,指的是一种运用Web的平台,由顾客主导而生成的内容互联网产品模式,為了区别老式由网站雇员主导生成的内容而定义為web2.08.無线传感网络(WSN)及其应用無线传感网络(Wirelesssensornetwork),或译無线感知网络,是由許多在空间中分布的自動装置构成的一种無线通讯计算机网络,這些装置使用传感器协作地监控不一样位置的物理或环境状况(例如温度、声音、振動、压力、运動或污染物)。無线传感器网络的发展最初来源于战場监测等軍事应用。而現今無线传感器网络被应用于诸多民用领域,如环境与生态监测、健康监护、家居自動化以及交通控制等。無线传感网络重要包括三個方面:感应,通讯,计算(硬件,软件,算法)。其中的关键技术重要有無线数据库技术,例如使用在無线传感器网络的查询,和用于和其他传感器通讯的网络技术,尤其是多次跳跃路由协议。9.目前网络新技术及其应用,Web2.0Web2.0,指的是一种运用Web的平台,由顾客主导而生成的内容互联网产品模式,為了区别老式由网站雇员主导生成的内容而定义為web2.011.TCP拥塞控制(congestioncontrol)与流量控制(flowcontrol)的功能和区别流量控制处理的問題:通信双方速率不匹配。措施:Slidingwindow,控制滑動窗口大小,自适应速率。拥塞控制处理的問題:双方速率都容許的状况下,怎样保证途中不出問題。措施:使用RTT(RoundTripTime)以及RTO(RetransmissionTimeOut)以及计算這两個量的算法,保证传播也許失败的時候重传。12.PPP协议點對點协议(英語:Point-to-PointProtocol,PPP)工作在数据链路层(以OSI参照模型的观點)。它一般見在两节點间创立直接的连接,并可以提供连接认证、传播加密(使用ECP,RFC1968)以及压缩。13.集线器、路由器和互换机有什么区别。中继器、集线器、互换机、网桥、网关、路由器的功能14.P2P网络编程的特點?15.DNS的递归查询和迭代查询(1)递归查询递归查询是一种DNS服务器的查询模式,在该模式下DNS服务器接受到客户机祈求,必须使用一种精确的查询成果答复客户机。假如DNS服务器當地没有存储查询DNS信息,那么该服务器會問询其他服务器,并将返回的查询成果提交給客户机。(2)迭代查询DNS服务器此外一种查询方式為迭代查询,DNS服务器會向客户机提供其他可以解析查询祈求的DNS服务器地址,當客户机发送查询祈求時,DNS服务器并不直接答复查询成果,而是告诉客户机另一台DNS服务器地址,客户机再向這台DNS服务器提交祈求,依次循环直到返回查询的成果為止。16.ARP协议、ARP袭击地址解析协议(AddressResolutionProtocol),其基本功能為通過目的设备的IP地址,查询目的设备的MAC地址,以保证通信的顺利進行。它是中网络层必不可少的协议,不過在中已不再合用,并被邻居发現协议(NDP)所替代。在以太网协议中规定,同一局域网中的一台主机要和另一台主机進行直接通信,必须要懂得目的主机的MAC地址。而在TCP/IP协议中,网络层和传播层只关怀目的主机的IP地址。這就导致在以太网中使用IP协议時,数据链路层的以太网协议接到上层IP协议提供的数据中,只包括目的主机的IP地址。于是需要一种措施,根据目的主机的IP地址,获得其MAC地址。這就是ARP协议要做的事情。所谓地址解析(addressresolution)就是主机在发送帧前将目的IP地址转换成目的MAC地址的過程。ARP欺骗的运作原理是由袭击者发送假的ARP数据包到网络上,尤其是送到网关上。其目的是要让送至特定的IP地址的流量被錯误送到袭击者所取代的地方。因此袭击者可将這些流量另行转送到真正的闸道(被動式数据包嗅探,passivesniffing)或是篡改後再转送(中间人袭击,man-in-the-middleattack)。17.计算机网络的接入类型有哪些局域网、城域网、广域网和互联网四种19.電路互换和报文互换的区别报文互换(英語:Messageswitching),又称存储转发互换,是数据互换的三种方式之一,报文整個地发送,一次一跳。报文互换是分组互换的前身,是由由列奥纳德·克莱因饶克于1961年提出的。报文互换的重要特點是:存储接受到的报文,判断其目的地址以选择路由,最终,在下一跳路由空闲時,将数据转发給下一跳路由。报文互换系统現今都由分组互换或電路互换网络所承载。電路互换(CircuitSwitching)是相對于封包互换(或称分组互换)的一种概念。電路互换规定必须首先在通信双方之间建立连接通道。在连接建立成功之後,双方的通信活動才能開始。通信双方需要传递的信息都是通過已經建立好的连接来進行传递的,并且這個连接也将一直被维持到双方的通信結束。在某次通信活動的整個過程中,這個连接将一直占用著连接建立開始時,通信系统分派給它的资源(通道、带宽、時隙、码字等等),這也体現了電路互换区别于分组互换的本质特性。20.计组/接口1.Cache的两种更新方略一般有两种回写方略:写回(Writeback)和写通(Writethrough)。写回是指,仅當一种缓存块需要被替代回内存時,才将其内容写入内存。假如缓存命中,则總是不用更新内存。為了減少内存写操作,缓存块一般還设有一种脏位(dirtybit),用以標识该块在被载入之後与否发生過更新。假如一种缓存块在被置换回内存之前從未被写入過,则可以免除回写操作。2.计算机中小数點是怎样表达的定點、浮點表达。3.计算机中怎样表达数据,知识?4.Cache的原理及思想,评价原则,改善方案,计算机软硬件中其他用到這個思想的措施缓存之因此有效,重要是由于程序运行時對内存的访問展現局部性(Locality)特性。這种局部性既包括空间局部性(SpatialLocality),也包括時间局部性(TemporalLocality)。有效运用這种局部性,缓存可以到达极高的命中率。评估缓存的性能一般使用平均内存访問時间(AverageMemoryAccessTime,AMAT)這一指標。5.分页、分段、段页式的特點,為何要引入分页(英語:Paging),是一种操作系统裏存储器管理的一种技术,可以使電脑的主存可以使用存储在辅助存储器中的数据。操作系统會将辅助存储器中的数据分区成固定大小的区块,称為“页”(pages)。當不需要時,将分页由主存移到辅助存储器;當需要時,再将数据取回,加载主存中。相對于分段,分页容許存储器存储于不持续的区块以维持文献系统的整洁。在分页实現前,分段會使文献于系统中持续,這使它轻易导致空间杂乱且产生許多碎片。段页式存储器兼顾了程序和数据的逻辑結构以及存储器的物理結构两方面的特點,兼收页式和段式虚拟存储器两者的長处,并具有如下特點:面向用户的程序地址空间采用段式分隔。内存分成位置固定、長度相等的若干页面。将每一段的线性地址空间划分為页,页長与内存页面相等。6.中断的作用中断的經典应用包括系统時钟、磁盘输入输出操作、断電信号以及软件自陷等。7.DMA优先级為何比CPU高DMA是有专用数据通路的DMA传送過程中cpu可以继续工作不會阻塞可以响应外部中断独享總线的DMA會在传播是占用總线,這時候CPU将總线让給DMA,這時候DMA优先级比CPU高祈求型DMA會在占用總线是向CPU发起祈求,CPU优先级比DMA高8.虚拟内存容量由什么决定寻址長度(地址總线数量)虚拟存储区的容量与物理主存大小無关,而受限于计算机的地址构造和可用磁盘容量。9.根据内存大小算地址總线数量10.8086指令地址的计算方式基址寄存器BX,BP变址寄存器SI,DIBX,SI,DI默认DS段BP默认SS段立即数寻址直接寻址:MOVAX,[H]MOVAX,ES:[H]寄存器寻址MOVAX,BX寄存器间接寻址MOVAX,[BX]寄存器相對寻址MOVAX,[SI+06H]基址变址寻址MOVAX,[BS+SI]基址变址相對寻址MOVAX,[BX+DI+6]11.冯.诺伊曼机以什么部件為中心以运算器為中心,I/O设备与存储器间的数据传送都要通過运算器12.CISC/RISC的特點(1)指令系统:RISC设计者把重要精力放在那些常常使用的指令上,尽量使它們具有简朴高效的特色。對不常見的功能,常通過组合指令来完毕。因此,在RISC机器上实現特殊功能時,效率也許较低。但可以运用流水技术和超標量技术加以改善和弥补。而CISC计算机的指令系统比较丰富,有专用指令来完毕特定的功能。因此,处理特殊任务效率较高。(2)存储器操作:RISC對存储器操作有限制,使控制简朴化;而CISC机器的存储器操作指令多,操作直接。(3)程序:RISC汇编語言程序一般需要较大的内存空间,实現特殊功能時程序复杂,不易设计;而CISC程序编程相對简朴,科學计算及复杂操作的程序社设计相對轻易,效率较高。(4)中断:RISC机器在一条指令执行的合适地方可以响应中断;而CISC机器是在一条指令执行結束後响应中断。(5)CPU:RISCCPU包具有较少的單元電路,因而面积小、功耗低;而CISCCPU包具有丰富的電路單元,因而功能强、面积大、功耗大。(6)设计周期:RISC微处理器构造简朴,布局紧凑,设计周期短,且易于采用最新技术;CISC微处理器构造复杂,设计周期長。(7)顾客使用:RISC微处理器构造简朴,指令规整,性能轻易把握,易學易用;CISC微处理器构造复杂,功能强大,实現特殊功能轻易。(8)应用范围:由于RISC指令系统确实定与特定的应用领域有关,故RISC机器更适合于专用机;而CISC机器则更适合于通用机。13.8254,8255,825914..汇编的,說是怎么让寄存器低两位的值取反15.一级缓存存取速度快是為何静态RAM(SRAM)不用刷新,直接与CPU数据總线相连16.RS-232接口17.大意是說汇编語言成果為零時ZF是多少(各個Flag的含义)118.主存-Cache构造有什么作用19.简述虚拟存储器的基本概念虚拟存储器是指具有祈求调入功能和置换功能,能從逻辑上對内存容量加以扩充的一种存储器系统。其逻辑容量由内存容量和外存容量之和来决定,其运行速度靠近于内存速度,而每位的成本却又靠近于外存。可見,虚拟存储技术是一种性能非常优越的存储器管理技术,故被广泛地应用于大、中、小型和微型机器中。21.其他(广)什么是计算机,计算,語法,語义,語用计算机(computer)俗称電脑,是一种用于高速计算的電子计算机器,可以進行数值计算,又可以進行逻辑计算,還具有存储记忆功能。語义:机器對自然語言的理解語用:怎样运用和理解語言(离散)群中Lagrange定理及其证明主线不懂(离散)解释元素,树,图。并各举一例(软工)软件架构的理解软件架构是有关软件整体构造与组件的抽象描述,用于指导大型软件系统各個方面的设计。软件架构師定义和设计软件的模块化,模块之间的交互,顾客界面風格,對外接口措施,创新的设计特性,以及高层事物的對象操作、逻辑和流程。软件架构師与客户商談概念上的事情,与經理商談广泛的设计問題,与软件工程師商談创新的构造特性,与程序员商談实現技巧,外观和風格。软件架构是一种系统的草图。软件架构描述的對象是直接构成系统的抽象组件。各個组件之间的连接则明确和相對细致地描述组件之间的通讯。在实現阶段,這些抽象组件被细化為实际的组件,例如详细某個类或者對象。在面向對象领域中,组件之间的连接一般見接口来实現。(广)什么是平台無关性就是說(java)写的程序不用修改就可以在不一样的软硬件平台上运行例如你写了一种程序,在windows下可以执行那你直接拷到Linux下也可以执行,只要都装了JRE(数据库)查询优化有哪些基于关系代数等价变换规则的优化措施:代数优化物理优化:基于规则的启发式优化,基于代价估算的优化,两者結合的优化措施(离散)握手定理握手定理:有n個人握手,每人握手x次,握手總次数為S,必有S=nx/2。顶點度数之和為边数之和的两倍。推论任何图(無向的或有向的)中,奇度顶點的個数是偶数(数据库)事务的四個特點(ACID)ACID,是指数据库管理系统(DBMS)在写入/异動资料的過程中,為保证事务(transaction)是對的可靠的,所必须具有的四個特性:原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。原子性:一种事务(transaction)中的所有操作,要么所有完毕,要么所有不完毕,不會結束在中间某個环节。事务在执行過程中发生錯误,會被回滚(Rollback)到事务開始前的状态,就像這個事务历来没有执行過同样。一致性:在事务開始之前和事务結束後来,数据库的完整性没有被破壞。這表达写入的资料必须完全符合所有的默认规则,這包括资料的精确度、串联性以及後续数据库可以自发性地完毕预定的工作。隔离性:當两個或者多种事务并发访問(此处访問指查询和修改的操作)数据库的同一数据時所体現出的互相关系。事务隔离分為不一样级别,包括讀未提交(Readuncommitted)、讀提交(readcommitted)、可反复讀(repeatableread)和串行化(Serializable)。持久性:在事务完毕後来,该事务對数据库所作的更改便持久地保留在数据库之中,并且是完全的。(数据库)基本的关系操作有哪些关系模型中常見的关系操作包括查询操作和插入、删除、修改操作两大部分。关系的查询表达能力很强,是关系操作中最重要的部分。查询操作可以分為:选择、投影、连接、除、并、差、交、笛卡尔积等。其中,选择、投影、并、差、笛卡尔积是五种基本操作。(数据库)数据库故障的种类1、事务内部的故障2、系统故障3.介质故障4.计算机病毒(数据库)SQL的主键约束和唯一约束有什么区别主键不能為空而唯一可认為空相似的就是都不容許反复(数据库)2PL协议1)两段锁协议是指所有事务必须分两個阶段對数据项加锁和解锁。1)在對任何数据進行讀、写操作之前,首先要申請并获得對该数据的封锁;2)在释放一种封锁之後,事务不再申請和获得任何其他封锁。“两段”的含义是,事务分為两個阶段:第一阶段是获得封锁,也称為扩展阶段。在這阶段,事务可以申請获得任何数据项上的任何类型的锁,可是不能释放任何锁。第二阶段是释放封锁,也称為收缩阶段。在這阶段,事务释放已經获得的锁,可是不能再申請任何锁。(数据库)关系完整性包括哪三個方面1.实体完整性2.参照完整性3.顾客定义的完整性(数据库)数据库恢复方略有哪几种1.数据转储(数据冗余)2.曰志文献、(?)数据字典一般包括5個部分1.数据项2.数据构造3.数据流4.数据存储5.处理過程(数据库)视图(View)的作用及長处(数据库)数据库三要素数据模型的三要素:一般而言,数据模型是一组严格定义的概念的集合。這些概念精确地描述了系统的静态特性(数据构造)、動态特性(数据操作)和完整性约束条件,這就是数据模型的三要素。(数据库)索引技术、曰志文献目的:提供多种存储途径,加紧查找速度。建立索引需要考虑的問題:1.没有查询、记录的需要则不建2.数据增删改频繁,系统會花费許多時间来维护索引,從而減少了查询效率(数据库)完整性与安全性的区别完整性和安全性是两個不一样的概念。前者是為了防止数据库中存在不符合語义的数据,防止錯误信息的输入和输出导致的無效操作和錯误成果,而後者是防止数据库被惡意的破壞和非法的存取。當然,完整性和安全性是亲密有关的。尤其是從系统实現的措施来看,某一种机制常常既可以用于安全保护亦可用于完整性保证。(离散)無向图中某条边出目前所有生成树中的充要条件這条边是割边(删去這条边後,连通分支會增長)(编译)LR(0)(离散)一棵树有1個度為4的結點,1個度為3的結點,1個度為2的結點,其他全為叶子結點,問一共有多少個叶子?5個(编译/离散)闭包运算数學中,對一种集合的组员進行某种运算,生成的仍然是這個集合的组员,则该集合被称為在某個运算下闭合。例如,实数在減法下闭合,但自然数不行:自然数3和7的減法3−7的成果不是自然数。(离散)17条边的简朴图至少多少個顶點n阶完全图的边数n(n-1)/2,完全图的度是最大的n>=7(软工)白盒测试、黑盒测试黑盒测试也称功能测试或数据驱動测试,它是在已知产品所应具有的功能,通過测试来检测每個功能与否都能正常使用,在测试時,把程序看作一种不能打開的黑盆子,在完全不考虑程序内部构造和内部特性的状况下,测试者在程序接口進行测试,它只检查程序功能与否按照需求规格阐明書的规定正常使用,程序与否能合适地接受输入数锯而产生對的的输出信息,并且保持外部信息(如数据库或文献)的完整性。白盒测试也称构造测试或逻辑驱動测试,它是懂得产品内部工作過程,可通過测试来检测产品内部動作与否按照规格阐明書的规定正常進行,按照程序内部的构造测试程序,检查程序中的每条通路与否均有能按预定规定對的工作,而不顾它的功能,白盒测试的重要措施有逻辑驱動、基路测试等,重要用于软件验证。灰盒测试,确实是介于两者之间的,可以這样理解,灰盒测试关注输出對于输入的對的性,同步也关注内部体現,但這种关注不象白盒那样详细、完整,只是通過某些表征性的現象、事件、標志来判断内部的运行状态,有時候输出是對的的,但内部其实已經錯误了,這种状况非常多,假如每次都通過白盒测试来操作,效率會很低,因此需要采用這样的一种灰盒的措施。(离散)独异點的*运算表包涵什么一般也會多加上另一种公理:(离散)什么是联結詞完备集设S是一种联結詞集合,假如任何n(n≥1)元真值函数都可以由仅含S中的联結詞构成的公式表达,则称S是联結詞完备集S={┐,∧,∨}是联結詞完备集(软工)什么是UML统一建模語言(UML,英語:UnifiedModelingLanguage)是非专利的第三代建模和规约語言。UML是一种開放的措施,用于阐明、可视化、构建和编写一种正在開发的、面向對象的、软件密集系统的制品的開放措施。UML展現了一系列最佳工程实践,這些最佳实践在對大规模,复杂系统進行建模方面,尤其是在软件架构层次已經被验证有效。(算法)论述對一种数据集進行等价类划分的基本思想和過程并查集应用:数据构造書p267(离散)简述欧拉回路的基本含义及一种应用。另,哈密顿回路對于一种給定的连通图,怎样判断与否存在著一种恰好包括了所有的边,并且没有反复的途径?這就是一笔画問題。用图论的术語来說,就是判断這個图与否是一种可以遍历完所有的边而没有反复。這样的图現称為欧拉图。這時遍历的途径称作欧拉途径(一种环或者一条链),假如途径闭合(一种圈),则称為欧拉回路一笔画問題哈密顿图(英語:Hamiltonianpath,或Traceablepath)是一种無向图,由天文學家哈密顿提出,由指定的起點前去指定的终點,途中通過所有其他节點且只通過一次。在图论中是指具有哈密顿回路的图,闭合的哈密顿途径称作哈密顿回路(Hamiltoniancycle),具有图中所有顶的途径称作哈密顿途径。第29/33页(?)简述對一种集合也許的表达措施(至少描述两种)列举法,描述法..(离散)简述逻辑命題与逻辑谓詞的关系?(编译)简述用于定义語言句法的文法类型及其重要特性乔姆斯基把措施提成四种类型,即0型、1型、2型和3型。0型,無限制文法。無限制文法是對文法的产生式左右两侧都没有限制的。1型,上下文有关文法。此文法對应于线性有界自動机。它是在0型文法的基础上每一种α→β,均有|β|>=|α|。這裏的|β|表达的是β的長度。此外容許Sε2型,上下文無关文法。它對应于下推自動机。2型文法是在1型文法的基础上,再满足:每一种α→β均有α是非终止符。如A->Ba,符合2型文法规定。3型,正规文法。它對应于有限状态自動机。它是在2型文法的基础上满足:A→α|αB(右线性)或A→α|Bα(左线性)。(编译)简述预测分析法LL(1)的基本思想自顶向下句法分析以文法開始符号為根,试图构造以输入符号串為树叶的推导树,每次都以最左边的那個非终止符為子树根,选择合适的产生式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅行注意事项提示表
- 电力行业专业技能资格证书明(7篇)
- 业务费用报销记录表
- 2025年四川省南充市中考地理试题 (解析版)
- 清新插画风青春期心理健康教育模板
- 领导力培训与大数据分析的融合
- 风能与太阳能技术在船舶动力中的应用
- 项目管理高效团队的运作与管理
- 顾客体验优化在新零售教育领域的应用
- 顾客体验优化实践从需求出发的零售策略
- 门窗安装工程施工方案
- 结合新规JGJ231-2021讲讲盘扣架模板工艺标准及施工安全
- 学前儿童科学教育活动指导-002-国开机考复习资料
- 2024至2030年锦氨弹力针织布项目投资价值分析报告
- 再生障碍性贫血诊断与治疗中国指南(2024年版)解读
- 《旅游概论》考试复习题库(附答案)
- 绿色矿山发展策略
- 日间手术质量控制管理制度
- 化工企业防火安全管理制度(5篇)
- 基于大数据和云计算技术的电力调度数据采集系统
- 2024年基金应知应会考试试题
评论
0/150
提交评论