欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2019春招京东真题模拟笔试纠错

程序员文章站 2022-06-03 23:45:44
...

1、在对问题的解空间树进行搜索的方法中,一个结点有多次机会成为活结点的是:(回溯法)

参考对解空间树的解释

回溯法:以深度优先搜索的方式搜索解空间树T
分支界限法:以广度优先所搜或以 最小耗费优先的方式搜索解空间树T

区别:

  • 回溯法的求解目的是找出T中满足约束条件的所有解的方案
  • 分支界限法的求解目的是找出满足条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。

2、算法的基本要素有:

  • 对数据对象的运算和操作
  • 算法的控制结构

3、那么广义表E((a,(a,b),((a,b),c)))的长度和深度分别为:(1,4)

广义表长度的求法:长度的求法为最大括号中的逗号数加1。

广义表深度的求法:深度的求法为每个元素的括号匹配数加1的最大值。

4、在 bash shell 环境下,当一命令正在执行时,按下 control-Z 会:将前台任务转入后台

5、下图的UML类结构图表示的是哪种设计模式:

2019春招京东真题模拟笔试纠错
建造者模式又称生成器模式

6、执行以下shell语句,可以生成/test文件的是(假定执行前没有/test文件):

A:touch /test
B:a=`touch /test`
C:>/test
D:echo 'touch /test'

解析:

  • B中反引号(``)表示转义:把其中的命令执行后返回结果。
  • C中输出重定向,将要输出的内容写入/test中,若是没有/test文件则创建再写入

7 、以下不合法的shell头是(不合法指运行会报错):

	#!/bin/bash
	#-/bin/bash
	!#/bin/bas

实测#-/bin/bash确实能用
所以不正确的是C:!#/bin/bas

8、以下语句可以用来获取shell脚本参数的是

2019春招京东真题模拟笔试纠错
$1 表示获取脚本的第一个参数

9、关于redis下面说法错误的是(B)

Redis主要消耗内存资源(正确,记)
Redis集群使用一致性hash
Redis集群之间是异步复制的(正确,记)
分区可以让Redis管理更大的内存(正确,记)

10、String str ="";

System.out.print(str.split(",").length);

输出结果为: 1

因为split方法返回的是一个字符串数组,所以 如果没有找到分隔符, 会把整个字符串当成一个长度为1的字符串数组。

11、当我们需要所有线程都执行到某一处,才进行后面的的代码执行我们可以使用?(A)

CountDownLatch
CyclicBarrier
Semaphore
Future

  • CountDownLatch:一个线程等待其他一个或多个线程都执行完成后,才开始继续执行后面的代码,CountDownLatch就是一个计数器,一个线程执行满足条件了,计数器就减一,减到0时,当前的等待线程就可以执行了。(举个例:当前等待的线程就像是打枪的裁判,他要等到运动员都到跑道上准备好后,才可以打枪。而运动员没准备好一个就给裁判示意,然后计数器减一,减到0时,就可以开枪了)
  • CyclicBarrier:是多个线程相互等待,等大家都到了某个条件时,一起同时执行。
  • Semaphore:就是一个信号量,也可以理解成许可证。当一个线程获取资源时,首先要获取到许可证后,才能获取资源。这样就可以控制访问该资源的并发量。所以Semaphore可以做流量控制。

12、spring默认使用jdk动态代理,那么下面哪个配置是开启强制使用cglib代理是<aop:aspectj-autoproxy proxy-target-class=“true”/>

相关标签: 面经笔试 java