爱奇艺2019秋招Java方向笔试题(B)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Yuudachi/article/details/101231918

爱奇艺2019秋招Java方向笔试题(B)

1. 已知一个由5个顶点8条边构成的有向图,以下说法正确的是( C

A. 各顶点的度之和为8
B. 若以邻接表作为存储结构,邻接表中结点个数为16
C. 各顶点的入度之和为8
D. 若以邻接矩阵作为存储结构,矩阵中非0元素个数为16

解析: 8条边 <=> 8个入度、8个出度

2. 已知二叉树A(B(,D(F,H)),C(,E(G(I)))),由此二叉树转换的森林描述正确的是( B D

A. 该森林包含两棵树
B. 该森林包含三棵树
C. 以A为根的树有两个孩子
D. 以A为根的树有三个孩子

在这里插入图片描述

3. internet骨干网中的路由器通过BGP协议传输数据,BGP协议使用传输层的协议与端口有( B C

A. udp协议
B. tcp协议
C. 端口179
D. 端口169

在BGP中,路由器对使用179端口的半永久TCP连接来交换选路信息。

4. OS在进行磁盘调度时,要考虑选择合适的算法。此时有6个请求者请求访问磁盘。1号请求者要访问9号柱面6号磁头3号扇区;2号请求者要访问7号柱面5号磁头6号扇区;3号请求者要访问15号柱面20号磁头6号扇区;4号请求者要访问9号柱面4号磁头4号扇区;5号请求者要访问20号柱面9号磁头5号扇区;6号请求者要访问7号柱面15号磁头2号扇区。假设此时磁头位于8号柱面,那么最省时间的响应次序( A C

A. 146235
B. 241356
C. 621435
D. 352614

调度算法:
1.先来先服务:
2.最短寻道时间优先(当前磁头所在磁道距离最近的请求作为下一次服务的对象)
3.扫描算法或电梯调度(当前移动方向向上选择与当前磁头所在磁道距离最近的请求作为下一次服务的对象)
4.循环扫描

5. 下图的UML类结构图表示的是哪种设计模式?( D

在这里插入图片描述
A. 解释器模式
B. 装饰模式
C. 桥接模式
D. 责任链模式

责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止

6. 以下关于外观模式的叙述中错误是( B C D

A. 外观模式符合单一职责原则
B. 在外观模式中,一个子系统的外部与内部通信通过统一的外观对象进行
C. 在外观模式中,客户类只需要直接与外观对象进行交互
D. 外观模式是迪米特法则的一种具体实现

单一职责原则:一个类/接口/方法只负责一项职责或职能
外观模式:外观(Facade)模式的定义:是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。
迪米特法则(Law of Demeter )又叫做最少知识原则,也就是说,一个对象应当对其他对象尽可能少的了解。不和陌生人说话。英文简写为: LoD。

7. 下列程序执行后输出结果为( D
 class BaseClass {
 public BaseClass() {}
 {
 System.out.println("I’m BaseClass class");
 }
 static {
 System.out.println("static BaseClass");
 }
 }
 public class Base extends BaseClass {
 public Base() {}
 {
 System.out.println("I’m Base class");
 }
 static {
 System.out.println("static Base");
 }
 public static void main(String[] args) {
 new Base();
 }
 }

A.
static BaseClass
I’m BaseClass class
static Base
I’m Base class

B.
I’m BaseClass class
I’m Base class
static BaseClass
static Base

C.
I’m BaseClass class
static BaseClass
I’m Base class
static Base

D.
static BaseClass
static Base
I’m BaseClass class
I’m Base class

1、静态优先,构造随后 2、无论静态还是构造,先父再子
父类的静态代码块
子类的静态代码块
父类的构造方法
子类的构造方法

8. 在第16行插入哪段代码可以获得一个Point对象的坐标?( D
10. class Line {
11. public class Point { public int x,y;}
12. public Point getPoint() { return new Point(); }
13. }
14. class Triangle {
15. public Triangle() {
16. // insert code here
17. }
18. }

A. Point p = Line.getPoint();
B. Line.Point p = Line.getPoint();
C. Point p = (new Line()).getPoint();
D. Line.Point p = (new Line()).getPoint();

(1)把类定义在另一个类的内部,该类就被称为内部类。
举例:把类B定义在类A中,类B就被称为内部类。
(2)内部类的访问规则
A:可以直接访问外部类的成员,包括私有
B:外部类要想访问内部类成员,必须创建对象
(3)内部类的分类
A:成员内部类
B:局部内部类
C:匿名内部类
(4)成员内部类访问规则
成员内部类不是静态的:
外部类名.内部类名 对象名 = new 外部类名().new 内部类名();
成员内部类是静态的:
外部类名.内部类名 对象名 = new 外部类名.内部类名();
(5)局部内部类
A:局部内部类访问局部变量必须加final修饰。
B:为什么呢?
因为局部变量使用完毕就消失,而堆内存的数据并不会立即消失。
所以,堆内存还是用该变量,而改变量已经没有了。
为了让该值还存在,就加final修饰。
通过反编译工具我们看到了,加入final后,堆内存直接存储的是值,而不是变量名。
(6)匿名内部类(掌握)
A:是局部内部类的简化形式
B:前提
存在一个类或者接口
C:格式:
new 类名或者接口名() {
重写方法;
}
D:本质:
其实是继承该类或者实现接口的子类匿名对象

9. 表达式(short)10/10.2*2运算后结果是什么类型?( C

A. short
B. int
C. double
D. float

强制类型转换的优先级高于+ - * /
Java默认浮点数为double

参考链接

树、森林与二叉树的转换
https://blog.csdn.net/linraise/article/details/11745559
先来先服务 https://blog.csdn.net/stpeace/article/details/46492009
最短寻道时间优先 扫描算法或电梯调度 代码实现https://blog.csdn.net/qq_38644549/article/details/80642633
https://blog.csdn.net/qq_38163244/article/details/83182912
设计模式
http://c.biancheng.net/view/1383.html
题目地址
https://www.nowcoder.com/profile/4821886/test/27939517/372724#summary

猜你喜欢

转载自blog.csdn.net/Yuudachi/article/details/101231918
今日推荐