京东javaWord文件下载.docx

上传人:b****5 文档编号:18702760 上传时间:2022-12-31 格式:DOCX 页数:13 大小:22.80KB
下载 相关 举报
京东javaWord文件下载.docx_第1页
第1页 / 共13页
京东javaWord文件下载.docx_第2页
第2页 / 共13页
京东javaWord文件下载.docx_第3页
第3页 / 共13页
京东javaWord文件下载.docx_第4页
第4页 / 共13页
京东javaWord文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

京东javaWord文件下载.docx

《京东javaWord文件下载.docx》由会员分享,可在线阅读,更多相关《京东javaWord文件下载.docx(13页珍藏版)》请在冰豆网上搜索。

京东javaWord文件下载.docx

①s=0;

②i=1;

③s=s+i;

④i=i+2;

⑤如果i≤1000,则返回③;

⑥结束

③i=i+2;

④s=s+i;

①s=1;

D算的是1+3+。

+10001,A是0+1+3+。

+999,就是D多算了一个

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

程序结构更简洁

占用CPU的处理时间更多

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

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

递归就是一层一层的调用函数进栈,会大量存储重复的数据,占用大量内存,且会有栈溢出的可能。

而递推就是不用存储重复的数据,从底层获得了数据直接递给上一层即可。

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

>

<

=>

=

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

7、以下运算符中运算优先级最高的是( 

+OR>

\

 

以上是我整理的运算符优先级,数字越小表示优先级越高。

在这里我选的是+号,如果+号表示的是正号的话那么优先级是大于除/号的,这题目略微的不严谨,望周知。

8、采用哪种遍历方法可唯一确定一棵二叉树?

( 

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

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

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

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

前序加中序 

或 

后序加中序都是可以的。

9、已知小顶堆:

{51,32,73,23,42,62,99,14,24,3943,58,65,80,120},请问62对应节点的左子节点是(没有正确答案)

99733943120

10、若串S=”UP!

UP!

JD”,则其子串的数目

33373935

一个八个字符串公式n(n+1)/2+1

11、一颗二叉树的叶子节点有5个,出度为1的结点有3个,该二叉树的结点总个数是?

11121314

因为是二叉树,所以度不能大于2。

【度(子节点个数)】。

5个叶子节点,三个度为1,则有上一层有4个,叶子节点数=度为2的节点个数+1=5;

所以度为2的节点数为4;

总节点数=度为1的节点数+度为2的节点数+叶子节点数=3+4+5=12。

12、权值分别为9、3、2、8的结点,构造一棵哈夫曼树,该树的带权路径长度是?

36404546

计算带权路径长度:

结点的带权路径长度为从根结点到该结点之间的路径长度与该结点的权的乘积=3*2+3*3+2*8+1*9=40

13、在()中,只要指出表中任何一个结点的位置,就可以从它出发依次访问到表中其他所有结点。

线性单链表

双向链表

线性链表

循环链表

循环链表只要沿一个方向一直走下去就可以遍历。

14、打电话使用的数据传输方式是(),手机上网使用的数据传输方式是()?

电路交换,电路交换

电路交换,分组交换

分组交换,分组交换

分组交换,电路交换

电路交换有预留,且分配一定空间,提供专用的网络资源,提供有保证的服务,应用于电话网;

分组交换无预留,且不分配空间,存在网络资源争用,提供有无保证的服务。

分组交换可用于数据报网络和虚电路网络。

我们常用的Internet就是数据报网络,单位是Bit。

15、后退N帧协议的发送窗口大小是(),接收窗口的大小是()?

=1,=1

=1,>

1

1,>

1,=1

滑动窗口协议有:

1、停止等待协议,发送窗口=1,接受窗口=1;

2、退后N帧协议,发送>

1,接收=1;

3、选择重传协议,发送>

1,接收>

1;

16、网络管理员把优盘上的源代码给程序员参考,但要防止程序误删除或修改,以下正确的加载方式是( 

mount-odefaults/dev/sdb1/tools

mount-r/dev/sdb1/tools

mount-oro/dev/sdb1/tools

mount-oro/dev/sdb/tools

-r:

将文件系统作为只读文件系统进行安装,而不考虑它先前在/etc/filesystems文件中指定的内容或者先前的任何命令行选项。

ro:

将已安装的文件指定为只读文件,而不考虑它先前在/etc/filesystems文件中指定的选项或者先前的任何命令行选项。

缺省值是rw。

17、重复的数据,会增加磁盘空间的占有率,延长操作数据的时间。

可以使用规范化处理数据冗余,以下对符合第一范式的表述正确的是:

非键属性和键(主键)属性间没有传递依赖

非键属性和键(主键)属性间没有部分依赖

表中不应该有重复组。

列重复拆成另外一张表;

行重复拆成多行

一个表中的列值与其他表中的主键匹配

指数据库表的每一列(即每个属性)都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。

简而言之,第一范式就是无重复的列。

18、以下哪条SQL语句可以返回table1中的全部的key:

selecttabel1.keyfromtable1jointabel2ontable1.key=table2.key

selecttabel1.keyfromtable1rightouterjointabel2ontable1.key=table2.key

selecttabel1.keyfromtable1leftsemijointabel2ontable1.key=table2.key

selecttabel1.keyfromtable1leftouterjointabel2ontable1.key=table2.key

由于需要返回table1中的全部的key,则需要左连接,而leftsemijoin表示只打印出左边表中的key,但前提是左表中的key在右表中存在,否则会过滤掉

19、Mysql中表user的建表语句如下,

CREATE 

TABLE 

`user` 

`id` 

bigint(20) 

NOT 

NULL 

AUTO_INCREMENT 

COMMENT 

'

主键Id'

`name` 

varchar(255) 

DEFAULT 

名称'

`age` 

int(11) 

年龄'

`address` 

地址'

`created_time` 

datetime 

创建时间'

`updated_time` 

更新时间'

PRIMARY 

KEY 

(`id`),

`idx_com1` 

(`name`,`age`,`address`)

) 

ENGINE=InnoDB 

CHARSET=utf8 

COMMENT='

用户表'

;

以下哪个查询语句没有使用到索引idx_com1?

select*fromuserwherename='

张三'

andage=25andaddress='

北京大兴区'

andaddress='

select*fromuserwhereage=25andaddress='

select*fromuserwhereaddress='

andage=25andname='

索引的最左匹配特性:

当b+树的数据项是复合的数据结构,比如(name,age,sex)的时候,b+数是按照从左到右的顺序来建立搜索树的,比如当(张三,20,F)这样的数据来检索的时候,b+树会优先比较name来确定下一步的所搜方向,如果name相同再依次比较age和sex,最后得到检索的数据;

但当(20,F)这样的没有name的数据来的时候,b+树就不知道下一步该查哪个节点

20、public 

class 

Main 

{

private 

static 

int 

10;

Integer 

public 

void 

updateX(int 

value) 

value 

value;

}

updateY(Integer 

main(String[] 

args) 

updateX(x);

updateY(y);

执行以上程序后,x和y的值分别是多少?

10,10

10,30

30,10

30,30

形参名value和字段x,字段y不同,运算改变了内存中value,但是xy没有改变。

当方法updateX的形参名改为x,此时运算会改变内存中x的值,是30,y同理。

总结:

仅当形参名和字段名一样,字段值才变。

(本题一个叫value,一个叫x/y,不一样,所以不变)

21、JAVA的类加载期负责整个生命周期内的class的初始化和加载工作,就虚拟机的规范来说,以下代码会输出什么结果?

Test 

System.out.println(Test2.a);

Test2{

final 

String 

a="

JD"

System.out.print("

OK"

);

只有JD

只有OK

输出JDOK

输出OKJD

22、继承是JAVA语言的一个特性,针对类的继承,虚拟机会如何进行父类和子类的初始化加载呢?

请阅读代码选择出该段代码的输入结果。

System.out.print(B.c);

"

C"

A"

extends 

A{

B"

AC

ABC

C

BC

类加载的初始化阶段会执行静态块的代码,通过子类去调用父类的静态变量子类不会被初始化。

23、根据类加载器加载类的初始化原理,推断以下代码的输入结果为?

throws 

Exception{

ClassLoader 

classLoader=ClassLoader.getSystemClassLoader();

Class 

clazz=classLoader.loadClass("

Test"

clazz.forName("

TestA

ATestA

ATest

Test

用ClassLoader加载类,是不会导致类的初始化(也就是说不会执行<

clinit>

方法).Class.forName(...)加载类,不但会将类加载,还会执行会执行类的初始化方法。

24、public 

System.out.print(fun1());

fun1() 

try 

return 

fun2();

finally 

fun2() 

D"

执行以上程序后,输出结果正确的是?

ABCD

ACDB

ACBD

不确定

try中执行完return的语句后,不返回,执行finally块,finally块执行结束后,返回到try块中,返回try块中最后return的值

25、import 

java.util.ArrayList;

import 

java.util.List;

List<

String>

list 

new 

ArrayList<

();

for(int 

i=0;

i<

100;

i++){

list.add("

a"

JDK1.8中,执行以上程序后,该list进行了几次扩容?

4

5

6

7

初始10,每次扩容为原先的1.5倍

26、import 

java.util.concurrent.ArrayBlockingQueue;

java.util.concurrent.ThreadPoolExecutor;

java.util.concurrent.TimeUnit;

ThreadPoolExecutor 

executor 

ThreadPoolExecutor(5, 

10, 

15, 

TimeUnit.SECONDS,

ArrayBlockingQueue<

Runnable>

(5), 

ThreadPoolExecutor.CallerRunsPolicy());

线程池executor在空闲状态下的线程个数是?

10

前三个参数:

核心线程有5个,最大线程数是10个,keepAliveTime是15s,如果线程池中的线程大于5,那么超15s的空闲线程就会被结束,也就是说,一定会保持5个线程不会被结束。

当所有任务完成后,会保持5个空闲的线程

27、public 

Main{

Thread 

t1 

Main().new 

MyThread();

E10:

E64t2 

Thread(new 

MyRunnable());

t1.setPriority(3);

t2.setPriority(8);

t1.start();

t2.start();

t2.join();

for 

(int 

0;

<

100000;

i++) 

i++;

main"

t1.join();

(String 

:

list) 

System.out.println(s);

MyThread 

Thread{

@Override

run(){

1"

MyRunnable 

implements 

Runnable{

Thread.yield();

2"

Thread1Thread2main

Thread2Thread1main

Thread2mainThread1

无法判断

Java线程中的Thread.yield()方法,译为线程让步。

顾名思义,就是说当一个线程使用了这个方法之后,它就会把自己CPU执行的时间让掉,

让自己或者其它的线程运行,注意是让自己或者其他线程运行,并不是单纯的让给其他线程。

 

yield()的作用是让步。

它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权;

但是,并不能保

证在当前线程调用yield()之后,其它具有相同优先级的线程就一定能获得执行权;

也有可能是当前线程又进入到“运行状态”继续运行!

举个例子:

一帮朋友在排队上公交车,轮到Yield的时候,他突然说:

我不想先上去了,咱们大家来竞赛上公交车。

然后所有人就一块冲向公交车,

有可能是其他人先上车了,也有可能是Yield先上车了。

但是线程是有优先级的,优先级越高的人,就一定能第一个上车吗?

这是不一定的,优先级高的人仅仅只是第一个上车的概率大了一点而已,

最终第一个上车的,也有可能是优先级最低的人。

并且所谓的优先级执行,是在大量执行次数中才能体现出来的。

28、系统管理员编写扫描临时文件的shell程序tmpsc.sh, 

测试该程序时提示拒绝执行,解决的方法有( 

chmod644tmpsc.sh

chmod755tmpsc.sh

chmoda+xtmpsc.sh

chmodu+xtmpsc.sh

29、在bash编程中,算术比较大于、大于等于的运算符是( 

>

=gegt

EQ就是EQUAL等于、NE就是NOTEQUAL不等于、GT就是GREATERTHAN大于、LT就是LESSTHAN小于、GE就是GREATERT

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1