D 把资源事先分类编号,按号分配,使进程在申请,占用资源时不会形成环路。

解析:死锁:在多道程序设计环境下,多个进程可能竞争一定数量的资源,。一个进程申请资源,如果资源不可用,那么进程进入等待状态。如果所申请的资源被其他等待进程占有,那么该等待的进程有可能无法改变状态,这种情况下称之为死锁。

死锁的四个条件:

互斥:至少有一个资源必须处在非共享模式,即一次只能有一个进程使用,如果另一进程申请该资源,那么申请进程必须延迟直到该资源释放为止。

占有并等待:一个进程必须占有至少一个资源,并等待另一个资源,而该资源为其他进程所占有。

非抢占:资源不能被抢占

循环等待:有一组进程{P0,P1,...Pn},P0等待的资源被P1占有,P1等待的资源被P2占有,Pn-1等待的资源被Pn占有,Pn等待的资源被P0占有。

形成死锁必须要满足这四个条件。那么违背这几个条件中的任何一个就不会形成死锁,这种方式成为 死锁预防,而死锁避免是动态的检测分配资源的状态是否安全

- 死锁解决方式

1. 死锁预防

2. 死锁避免

3. 死锁检测并恢复

三者处理死锁的方式可以类比为:死锁预防,直接铲平坑;死锁避免,直接跳过坑;死锁检测并恢复,摔到坑里,修正一下继续前行。

对于互斥而言:有的资源本身就是互斥的,所以通常无法破坏这一必要条件。

对于占有并等待:破坏它,可以指定这样的规则(协议):每一个进程执行前一次性申请完所有资源。或者 每个进程申请当前所需要的资源,当需要使用其他资源时,需要把之前申请的资源释放掉。前者可以理解为破坏**等待**,后者可以理解为破坏**占有**。这样做使得资源得利用率很低(最后阶段可能需要用一下打印机,而将其在整个运行期占有);对于优先级低得进程来说,多次释放资源很容易造成它们饥饿。

对于非抢占:破坏它,即对于已经分配的资源可以进行抢占。当一个优先级比较低,那么它的资源往往会被优先级高得剥夺,导致它饥饿。

对于循环等待:对所有资源类型进排序,要求每个进程按照资源编号递增顺序申请资源。可以用反证法证明。简要描述一下,在进程按照资源编号递增顺序申请资源的条件下,假设一个循环等待存在,即有一组进程{P0,P1,...Pn},P0等待的资源被P1占有,P1等待的资源被P2占有,Pn-1等待的资源被Pn占有,Pn等待的资源被P0占有。那么Pi+1占有了Ri资源,同时又申请Ri+1,所以资源Ri的编号必然小于Ri+1,那么R0的编号小于R1的....Rn资源的编号小于R0资源的编号(Pn进程)。根据传递性,R0的编号小于R0的编号,显然矛盾,因此,在上述条件下,不会产生循环等待。

4.以下为求0到1000以内所有奇数和的算法,从中选出描述正确的算法( )

A ①s=0;②i=1;③s=s+i;④i=i+2;⑤如果i≤1000,则返回③;⑥结束

B ①s=0;②i=1;③i=i+2;④s=s+i;⑤如果i≤1000,则返回③;⑥结束

C ①s=1;②i=1;③s=s+i;④i=i+2;⑤如果i≤1000,则返回③;⑥结束

D ①s=1;②i=1;③i=i+2;④s=s+i;⑤如果i≤1000,则返回③;⑥结束

解析:

int s = 0;for(int i = 1 ;i<=1000;i+=2){

s= s+i;

}

System.out.println(s);

5.关于递归法的说法不正确的是( )

A 程序结构更简洁

B 占用CPU的处理时间更多

C 要消耗大量的内存空间,程序执行慢,甚至无法执行

D 递归法比递推法的执行效率更高

解析:递归就是一层一层的调用函数进栈,会大量存储重复的数据,占用大量内存,且会有栈溢出的可能。而递推就是不用存储重复的数据,从底层获得了数据直接递给上一层即可。

6.字符串”ABCD”和字符串”DCBA”进行比较,如果让比较的结果为真,应选用关系运算符()

A >

B <

C =

D >=

解析:比较的时候比的是ASCII码,从第一位开始比,如果第一位能比较出谁大谁小则直接返回,若相等,比较下一个字符,因此选B

7.下面是一段关于计算变量s的算法: ①变量s的初值是0 ②变量i从1起循环到n,此时变量s的值由下面的式子表达式计算 ③s=s+(-1)*i ④输出变量s的值 这个计算s值的算法中,s的代数式表示是(    )。

A 1-2+3-4+„+(-1)n*(n-1)

B 1-2+3-4+„+(-1)n-1*n

C 1+2+3+4+...+(n-1)+n

D -1-2-3-4-...-n

解析:对于s=s+(-1)*i,(-1)乘i(0到n)永远为负,说明计算式一直在减,可以排除abc

8.以下运算符中运算优先级最高的是( )

A +

B OR

C >

D /

解析:数字越小表示优先级越高。

9.采用哪种遍历方法可唯一确定一棵二叉树?(  )

A 给定一棵二叉树的先序和后序遍历序列

B 给定一棵二叉树的后序和中序遍历序列

C 给定先序、中序和后序遍历序列中的任意一个即可

D 给定一棵二叉树的先序和中序遍历序列

解析:给出中序遍历之后再给一个其他的遍历就能够确定了,前序和后续不能确定。

例如:先序abdecf,中序dbeafc。

分析思路.

1、先序就是根左右,中序就是左根右。所以在先序中a在前即为根。在中序中找到a,则dbe为其左子树,fc为其右子树。

2、dbe左子树在先序中b在前说明b为根,则中序中d为b左子树,e为b右子树。

3、同理fc在先序中c在前说明c为根,中序中f在c前,说明f为c的左子树。

即得如下图:

a

/  \

b  c

/ \   /

d e f

京东校招java笔试题_试卷: 京东2019校招笔试Java开发工程师笔试题(1-)相关推荐

  1. python定义一个字典、存储雇员号和姓名_【一点资讯】python后端开发工程师考证试题...

    python开发工程师考证试题 选择题 题目 关于 Python 程序格式框架的描述,以下选项中错误的是 ( A ) A: Python 语言不采用严格的"缩进"来表明程序的格式框 ...

  2. 优信拍集团php面试题_【优信拍PHP高级开发工程师面试】面试官是我遇到过的面试水平最低的。-看准网...

    面试官是我遇到过的面试水平最低的. 有笔试题,考基础的. 个人觉得技术的笔试题无非就看个思路和流程,但是面试官貌似想看到的是像待上线的代码一般,一个notice都不能报的代码,不停的关注和追问代码细节 ...

  3. 字节跳动2019春招后端开发工程师-笔试题解析

    一.简介 字节跳动2019春招第三批在线笔试(后端开发工程师)已结束,结果也是凉凉.本文主要是分析这次的题目,并给出代码,以供大家参考和讨论,如有错误之处,还望帮忙指正,谢谢每位优秀的程序员. 二.题 ...

  4. android秋招面试题及答案,阿里巴巴2019秋招客户端开发工程师在线笔试题和面试题答案...

    一.单选题 1."秘密"是一款在朋友圈内匿名交流的SNS平台.假定每个人只能看到朋友发的帖子,却不知道具体是谁发的;并且朋友关系是对称的,即如果A是B的朋友,那么B也是A的朋友.某 ...

  5. 盘点2019年PHP高级开发工程师面试题及答案汇总

    2019独角兽企业重金招聘Python工程师标准>>> 今天小编给大家整理一下关于PHP培训高级面试题及答案汇总,下面我们一起来看一下吧. 1.写出一个能创建多级目录的PHP函数 / ...

  6. 【求职】京东 2018 秋招测试开发工程师笔试题

    京东 2018 秋招测试开发工程师笔试题 一.单选题 1.若度为m 的哈夫曼树中,其叶结点个数为 n,则非叶结点的个数为( ) A. n-1 B. n/m-1 C. (n-1)/(m-1) D. n/ ...

  7. 思源科技java面试_【企业招聘笔试真题】思源Java开发工程师笔试题

    Java开发工程师笔试题 1.用最有效率的方法算出2乘以8等于几? 2.下面的程序输出结果是多少? 3.Import java.util.Date; 4.Public class Test exten ...

  8. 中科曙光Java笔试题_中科金财Java开发工程师笔试题的(带答案).docx

    中科金财Java开发工程师笔试题的(带答案) Java开发工程师笔试试题(请不要在试题上留任何痕迹,所有答案均写在答题纸上)编程题(共26分)任意写出一种排序算法.(6分)public void so ...

  9. 中科金财java_中科金财java开发工程师笔试题(带答案).docx

    中科金财java开发工程师笔试题(带答案).docx JAVA开发工程师笔试试题(请不要在试题上留任何痕迹,所有答案均写在答题纸上)一.编程题(共26分)1任意写出一种排序算法.(6分)PUBLICV ...

  10. java中级职称考试试题_Java中级开发工程师笔试题及答案2016

    Java中级开发工程师笔试题及答案2016 java中级工程师考试试题你做了吗?下面随yjbys小编一起来看看最新Java中级开发工程师笔试题及答案,仅供考生参考! 1) 描述Web Service的 ...

最新文章

  1. 速递 | 在线教育行业 12 大核心场景案例全解析!
  2. 可持续字典树 Perfect Security
  3. java 查询windows进程_Oracle查询语句,你知道几个?(下)
  4. hudson--插件管理
  5. tongweb java_home_中间件 东方通tongweb的使用
  6. pytorch搭建分类网络并进行训练和测试
  7. 超链接去掉下划线代码
  8. flutter无法抓包
  9. 硬盘RAID5后使用的实际容量
  10. C语言生成0-9的6位数密码递归方法实现
  11. 关于jar包无法正常打开的解决方法
  12. 简述组装计算机硬件流程,计算机硬件组装的步骤有哪些?
  13. 如果要你向别人推荐电影,你最先想到的是那些呢?
  14. 【应用随机过程】02. 马尔可夫链及其概率分布
  15. office快速制作贺报方法
  16. linux系统如何调屏幕亮度,Linux入门教程:Ubuntu笔记本屏幕亮度调节
  17. ES DSL常用查询
  18. Python视觉深度学习系列教程 第二卷 第10章 GoogLeNet
  19. 支持向量机原理推导学习
  20. c语言迪杰斯特拉算法求最短路径,迪杰斯特拉 ( Dijkstra ) 最短路径算法

热门文章

  1. 完美解决64位操作系统配置 php无法加载mysql模块问题
  2. 华为服务器光盘安装系统按f几,服务器操作系统安装
  3. Servlet学习之Servlet概念与运行流程
  4. Java找工作的准备点
  5. ‘今年找工作太难了,真的是卷到我想哭!’,一个疫情就业季下的毕业生艰辛IT求职道路上的经验分享!见识入社会的不容易!
  6. 台式电脑怎么还原系统
  7. Win10图标变白纸了,恢复方法
  8. 360桌面助手待办事项同步/迁移的方法(从一台电脑迁移到另外一台电脑上)
  9. 浮华的世态,只会将一颗心,涂染得色彩缤纷,失去往日纯净的姿态
  10. Jquery 1000 demo