银行it面试题.docx_第1页
银行it面试题.docx_第2页
银行it面试题.docx_第3页
银行it面试题.docx_第4页
银行it面试题.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、选择题1、计算机系统中采用补码运算的目的是为了(B)。 A、与手工运算方法保持一致 B、提高运算速度 C、简化计算机的设计 D、提高运算的精度 2、长度相同但格式不同的两种浮点数,假设前者阶码长、尾数短,后者阶码短、尾数长,其他规定均相同,则它们可表示的数的范围和精度为(2)。 A、两者可表示的数的范围和精度相同 B、前者可表示的数的范围大但精度低 C、后者可表示的数的范围大但精度高 D、前者可表示的数的范围大但精度高 3、数值x*的近似值x0.121510-2,若满足|x-x*|(3),则称x有4位有效数字。 A、0.510-3 B、0.510-4 C、0.510-5 D、0.510-6 4、一个具有767个结点的完全二叉树,其叶子结点个数为(4)。 A、383 B、384 C、385 D、386 5、对于一个线性表既要求能够进行较快的插入和删除,又要求存储结构能够反应数据之间的逻辑关系,则应该用(5)。 A、顺序方式存储 B、链接方式存储 C、散列方式存储 D、以上方式均可 6、地址码长度为二进制24位时,其寻址范围是(C)。 A、512kB B、1MB C、16MB D、24MB 解析:2的10次方是1024b,也就是1KB,16M=16*1024*1024也就是2的24次方,所以24位时就是16MB.7、有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是(A)。A.1至(m-1) B.1至m-1 C.1至m D.1至m程序的执行结果是(19)。 A、函数调用出错 B、8 C、9 D、7 20、选择下面程序的运行结果是(20)。 #include struct stu int num; char name10; int age; ; void fun(stu *p) cout(*p).name) 图中所示为一个小的死锁的例子。这时进程P1占有资源R1而申请资源R2,进程P2占有资源R2而申请资源R1,按循环等待条件,进程和资源形成了环路,所以系统是死锁状态。进程P1,P2是参与死锁的进程。 下面我们再来看一看死锁检测算法。算法使用的数据结构是如下这些: 占有矩阵A:n*m阶,其中n表示并发进程的个数,m表示系统的各类资源的个数,这个矩阵记录了每一个进程当前占有各个资源类中资源的个数。 申请矩阵R:n*m阶,其中n表示并发进程的个数,m表示系统的各类资源的个数,这个矩阵记录了每一个进程当前要完成工作需要申请的各个资源类中资源的个数。 空闲向量T:记录当前m个资源类中空闲资源的个数。 完成向量F:布尔型向量值为真(true)或假(false),记录当前n个并发进程能否进行完。为真即能进行完,为假则不能进行完。 临时向量W:开始时W:=T。算法步骤: (1)W:=T, 对于所有的i=1,2,.,n, 如果Ai=0,则Fi:=true;否则,Fi:=false (2)找满足下面条件的下标i: Fi:=false并且Ri=W 如果不存在满足上面的条件i,则转到步骤(4)。 (3)W:=W+Ai Fi:=true 转到步骤(2) (4)如果存在i,Fi:=false,则系统处于死锁状态,且Pi进程参与了死锁。什麽时候进行死锁的检测取决于死锁发生的频率。如果死锁发生的频率高,那麽死锁检测的频率也要相应提高,这样一方面可以提高系统资源的利用率,一方面可以避免更多的进程卷入死锁。如果进程申请资源不能满足就立刻进行检测,那麽每当死锁形成时即能被发现,这和死锁避免的算法相近,只是系统的开销较大。为了减小死锁检测带来的系统开销,一般采取每隔一段时间进行一次死锁检测,或者在CPU的利用率降低到某一数值时,进行死锁的检测。2.死锁的恢复 一旦在死锁检测时发现了死锁,就要消除死锁,使系统从死锁状态中恢复过来。 (1)最简单,最常用的方法就是进行系统的重新启动,不过这种方法代价很大,它意味着在这之前所有的进程已经完成的计算工作都将付之东流,包括参与死锁的那些进程,以及未参与死锁的进程。 (2)撤消进程,剥夺资源。终止参与死锁的进程,收回它们占有的资源,从而解除死锁。这时又分两种情况:一次性撤消参与死锁的全部进程,剥夺全部资源;或者逐步撤消参与死锁的进程,逐步收回死锁进程占有的资源。一般来说,选择逐步撤消的进程时要按照一定的原则进行,目的是撤消那些代价最小的进程,比如按进程的优先级确定进程的代价;考虑进程运行时的代价和与此进程相关的外部作业的代价等因素。 此外,还有进程回退策略,即让参与死锁的进程回退到没有发生死锁前某一点处,并由此点处继续执行,以求再次执行时不再发生死锁。虽然这是个较理想的办法,但是操作起来系统开销极大,要有堆栈这样的机构记录进程的每一步变化,以便今后的回退,有时这是无法做到的。2.2. 画出网络中的星型结构、总线结构、环型结构和树型拓扑结构,并说明星型和总线型拓扑结构。 2.3. 把中缀表达式转化成后缀表达式 2.4. A-H 8个字符出现的频率依次为 0.16 0.10 0.01 0.29 0.10 0.05 0.09 0.26 (注明:这几个数我记不清,反正就是这么几个数)构造最优二叉树,并将 A-H 8个字符用二进制码表示及计算平均码长。 2.5. 操作系统中的快表相关的问题 2.6. java的异常处理机制有什么优点 2.7. 输出字符串中第一个只出现一次的字符,用两种方案。2.8. 某进程被唤醒并立即运行,该系统采用的是剥夺调度方法吗?为什么? 某进程被唤醒并立即运行并不能说明该系统是剥夺调度算法。进程调度有以下两种基本方式:(1)、非剥夺方式:一旦把处理器分配给某进程后便让它一直运行下去,知道进程完成或发生某事件阻塞时,才把处理器分配给另一个进程。(2)、剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理器,将之分配给其他进程。2.9. A,B,C,D四个元素依次进栈,进栈过程中允许出栈,写出所有可能的出栈序列。解题思路:1、先进先出2、先进后出3、还没进完就出4、进完了才出进一个出一个,ABCD先进两个,AB进,进C出C,进D出D,出B出A,CDBA进A进B,进C进D,出D出C出B出A,DCBA下面的不解释了,不明白你再问BCDA,BDCA,BCAD,BADC,BACD,前三个一起进CBAD,CBDA,CDBA第一个进去就出来ADCB,ACDB,ACBD一共14种2.10. UML中四类动态建模图(状态图,协作图,活动图,序列图)的区别与用途UML提供图来描述系统的结构和行为。在其中,类图用于描述系统的静态结构,状态图,协作图,活动图,序列图则用于描述系统的动态行为,描述系统在执行期间不同时间点是如何动态交互的。 在这四种图中可以大体分为两类:以描述系统状态转移为主的状态图和活动图,以描述系统系统对象通讯和交互为主的协作图和序列图。1,以描述系统状态转移为主的状态图和活动图状态图:用来描述对象,子系统,系统的生命周期。通过状态图可以了解一个对象所能达到的所有状态,以及对象收到的事件对对象状态的影响。活动图:显示动作及其结果。着重描述操作(方法)实现中所完成的工作以及实例或对象中的活动,它是状态图的一个变种。状态图与活动图的区别:活动图主要描述动作及对象状态改变的结果。状态图主要描述的是事件对对象状态的影响。2,以描述系统对象通讯和交互为主的协作图和序列图序列图:描述对象是如何交互的。重点放在消息序列上,描述消息在对象间是如何收发的。协作图:描述协作对象的交互与链接。协作图和序列图的区别:协作图和序列图都是描述对象交互的,但是序列图强调的是时间,协作图强调的空间。2.11. 用图描述出进程的三元状态,并简单说明状态之间的转换条件。进程有三个状态:就绪状态、运行状态、阻塞状态就绪状态当进程分配了处理机之后进程所等待的某事件发生了正在执行的进程因时间片段用完而被暂停执行;或者在可抢占调度方式中,一个优先级高的进程到来,正在执行的低优先级进程被强制撤下处理机,转换为就绪状态。正在执行的进程因等待某事件而无法正常执行。阻塞状态运行状态2.12. 简述网上银行的基本支付模式。卡号支付、专业版支付、动态密码支付、令牌支付、密码卡支付。常见的就这些了。2.13. 给出一棵二叉树的前序遍历序列和中序遍历序列,画出二叉树并写出后序遍历序列。先来了解二叉树的相关知识。2.13.1. 二叉树概念 二叉树(binary tree)是一种数据结构,是一种树型结构,它的特点是每个结点至多只有二棵子树 (即二叉树中不存在度大于2的结点 ),并且,二叉树的子树有左右之分,其次序不能任意颠倒 。2.13.2. 二叉树的存储结构 . 顺序存储结构 连续的存储单元存储二叉树的数据元素。例如图 6.4(b)的完全二叉树 , 可以向量 (一维数组 ) bt(1:6)作它的存储结构,将二叉树中编号为 i的结点的数据元素存放在分量 bti中 ,如图 6.6(a) 所示。但这种顺序存储结构仅适合于完全二叉树 ,而一般二叉树也按这种形式来存储 ,这将造成存 贮浪费。如和图 6.4(c)的二叉树相应的存储结构图 6.6(b)所示,图中以 “0”表示不存在此结点 。 . 链式存储结构 由二叉树的定义得知二叉树的结点由一个数据元素和分别指向左右子树的两个分支构成 ,则表示二叉树的链表中的结点至少包含三个域 :数据域和左右指针域 ,如图 (b)所示。有时 ,为了便于找 到结点的双亲 ,则还可在结点结构中增加一个指向其双亲受的指针域,如图 6.7(c)所示。 2.13.3. 遍历二叉树 遍历二叉树 (traversing binary tree)的问题, 即如何按某条搜索路径巡访树中每个结点,使得每个结点均被访问一次,而且仅被访问一次。 其中常见的有三种情况:分别称之为先 (根 )序遍历,中 (根 )序遍历和后 (根 )序遍历。 这三种分类都是以根所在的位置进行分类的。. 前序遍历 前序遍历运算:即先访问根结点,再前序遍历左子树,最后再前序遍历右子树。前序遍历运算访问二叉树各结点是以根、左、右的顺序进行访问的。. 中序遍历 中序遍历运算:即先中前序遍历左子树,然后再访问根结点,最后再中序遍历右子树。中序遍历运算访问二叉树各结点是以左、根、右的顺序进行访问的。. 后序遍历 后序遍历运算:即先后序遍历左子树,然后再后序遍历右子树,最后访问根结点。后序遍历运算访问二叉树各结点是以左、右、根的顺序进行访问的。例子: 有一棵二叉树的先序和中序遍历分别如下,画出该二叉树(描述生成过程),并写出其后序遍历序列. 先序:A B C D E F G H I J中序:C B E D A G H F J I确定根是A,C B E D在A的左子树上,G H F J I在A的右子树上。先序:B C D E中序:C B E D确定B是根,C是B的左孩子,E D在B的右子树上。先序:D E中序:E D确定D是根,E是D的左孩子。先序:F G H I J中序:G H F J I确定F是根,G H在F的左子树上,J I在F的右子树上。先序:G H中序:G H确定G是根,H是G的右孩子。先序:I J中序:J I确定I是根,J是I的左孩子。综合起来,树的结构如下所示:BHFIJGCADE 后序遍历序列:C E D B H G J I F A三、填空题3.1. 多处理机实现的是作业、任务和程序段的并行。3.2. 快速分组交换在实现技术上分为两类,当桢长为可变时,就是帧中继;当桢长固定时,就是信元中继解析:计算机网络原理与技术中的帧中继相关知识四、数据库4.1. 查询数据库的时候,在什么情况下可能会导致死锁查询不会死锁,但会加锁的,加的锁是防止在查询时,表的结构被改变。绝对不会是死锁的。 一般情况只发生锁超时,就是一个进程需要访问数据库表或者字段的时候,另外一个程序正在执行带锁的访问(比如修改数据),那么这个进程就会等待,当等了很久锁还没有解除的话就会锁超时,报告一个系统错误,拒绝执行相应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论