爱奇艺2020校招Java方向笔试题(第二场)

1. 以下关于synchronized描述不正确的是(C

A. 当一个线程访问某对象的synchronized方法或者synchronized代码块时,其他线程对该对象的该synchronized方法或者synchronized代码块的访问将被阻塞
B. 当一个线程访问某对象的synchronized方法或者synchronized代码块时,其他线程仍然可以访问该对象的非同步代码块
C. 当一个线程访问某对象的synchronized方法或者synchronized代码块时,其他线程可以访问该对象的其他的synchronized方法或者synchronized代码块
D. 当在对象上调用其任意synchronized方法的时候,对象都被加锁

解析:
当一个线程正在访问一个对象的synchronized方法,那么其他线程不能访问该对象的其他synchronized方法,因为一个对象只有一把锁
https://blog.youkuaiyun.com/qq_27712229/article/details/86749324

2. 下列关于时间复杂度的计算说法不正确的是(D

A. for/while循环时间计算为循环体内计算时间与循环次数计算的乘积
B. 嵌套循环为循环体内计算时间与所有循环次数的乘积
C. 顺序语句为各语句计算时间的和
D. if-else语句为if语句计算时间与else语句计算时间的和

解析:
if和else只有一个会成立

3. 设n位同学从左到右依次编号为1, 2, …, n,合唱队形需使队列满足T1<T2<…<Ti>…Tn-1>Tn 现已知有10个学生的身高(厘米)为:150、172、163、180、178、160、172、154、165、158,计算他们所组成的最长合唱队队形的长度为多少(C

A. 5
B. 6
C. 7
D. 8

解析:
150、172(163)、180、178、172、165、158

4. 如果在带权有向图中,用顶点表示事件,用有向边表示活动,边上的权值表示活动的开销,则此带权有向图称为AOE网。AOE网是一个有向无环图,AOE网如下图所示,则关键路径(即路径长度最长)的长度为(B

在这里插入图片描述
A. 21
B. 23
C. 24
D. 13

解析:
V1-V3-V4-V7-V9
2+5+7+9 = 23

5. 关于队列,下列说法错误的是(C

A. 允许插入的一端称为队尾
B. 在非空循环队列中,队头指针指向当前的队头元素
C. 入队操作是在队头执行的
D. 允许删除的一端称为队头

解析:
队列在队尾入队

6. 有如图所示的二叉树,E结点的前辈结点有(A B C

在这里插入图片描述
A. A
B. B
C. C
D. D

解析:
深度小于目标节点深度的都是目标节点的前辈节点

7. 关于结点树相同的折半判定树和完全二叉树,以下说法正确的是(A

A. 折半判定树的高度与完全二叉树高度一致
B. 折半判定树的高度比完全二叉树高度大
C. 折半判定树的高度比完全二叉树高度小
D. 折半判定树的高度与完全二叉树高度没有关系

解析:
高度都为log2n向上取整

8. 多个ALOHA用户每秒产生60个请求,时间槽单位为20ms,则首次成功发送的概率为多少(D

A. 0.167
B. 0.05
C. 0.1
D. 0.3

解析:
在这里插入图片描述
现在时槽长度为20ms,则每秒50个时槽,产生60个请求,所以每个时槽产生1.2个请求,则G=1.2,因此首次尝试成功的概率是e-1.2

9. 在Linux内核中,创建一个文件操作可以使用(A

A. fopen
B. open
C. write
D. create

解析:
Linux内核中的文件操作基于C,C的文件创建是fopen。fp=fopen(“文件名”,“打开方式”)

10. MyISAM引擎的表tg_user,主键为tg_id,tg_email是允许为空的列,下列能正确统计出该表记录数的语句是(A B D

A. SELECT count(*) FROM `tg_user`
B. SELECT count(tg_id) FROM `tg_user`
C. SELECT count( tg_email ) FROM `tg_user`
D. SELECT count(1) FROM `tg_user`

解析:
tg_email是允许为空的,所以统计记录数会少于正确值

11. 在解决汉诺塔问题时,可使用哪种数据结构进行设计(A

A. 栈
B. 数组
C. 队列
D. 二叉树

解析:
先进后出

12. 下面关于wait()和sleep()两个方法描述错误的是(D

A. wait()方法属于Object的方法,而sleep()方法属于Thread类的方法
B. wait()方法可以有参数,也可以无参数;sleep()方法必须要传入long的参数
C. 两个方法都需要InterruptedException异常处理
D. wait()无参方法调用后,线程阻塞。需要其他线程只能使用notify()方法才能唤醒。而sleep()可以在时间到后醒来继续运行

解析:
可以调用notify()方法或者notifyAll()方法通知正在等待的其他线程
https://blog.youkuaiyun.com/qiuchaoxi/article/details/79837568

13. 有如下抽象类,则描述正确的是:(D
public abstract class Animal {
  public  void move()
  {
   System.out.println("the animal can move...");
  }
  abstract void show();
}

A. 该抽象类中不能定义实例方法move.
B. 该抽象类可以被实例化。
C. 该抽象类不能被继承。
D. 该抽象类的子类对象要调用show方法,必须对Animal中的show方法进行重写。

解析:
抽象类可以包括实例方法,不能被实例化,可以通过子类继承来实现抽象类中的抽象方法

14. 假设当前时间是2018-08-20,晚上19:08,星期一,则下面代码输出为:(B
public class Test {   
   public static void main(String[] args) {   
    Date date=new Date();
    System.out.printf("%tD%n",date);   
     }   
   }    
    

A. 2018/8/20
B. 08/20/18
C. 2018/8/20 19:08:00
D. 08/20/18 19:08:00

解析:
https://blog.youkuaiyun.com/love_caicai/article/details/82698244

15. 阅读下列代码(B D
  public class test
 {
     public static void main(String []args)
     {
         char ch1=97;
         char ch2='a';
         System.out.println(" ch1="+ch1);
         System.out.println(" ch2="+ch2);
     }
}

A. ch1=97 ch2=97
B. ch1=a ch2=a
C. ch1=97 ch2=a
D. ch1=‘a’ ch2=‘a’

解析:
字符串输出自动把char中的数字转换成对应的ASCII码

16. 有下列方法:
boolean checkValue( int num )
{
    int d1,d2,d3;
    int checkNum, nRemain, rem;
     
    checkNum = num % 10;
    nRemain = num /10;
    d3 = nRemain % 10;
    nRemain /= 10;
    d2 = nRemain % 10;
    nRemain /= 10;
    d1 = nRemain % 10;
    rem = (d1 + d2 + d3) % 7;
    return rem == checkNum;
}
调用此方法如下:
boolean bOK = checkValue(value);
value取下面那些值时,bOK的值为true?(A C

A. 6144
B. 5073
C. 4831
D. 8300

解析:
该程序计算倒数2-4位上每位的和,并对7取模。 用取模之后的值与倒数第1位的值进行比较

17. 以下关于静态方法和静态变量,说法正确的是(A C D

A. 静态方法不能调用实例方法或引用一个实例变量
B. 实例方法不能调用静态方法或引用一个静态变量
C. 静态方法可以互相调用
D. 实例方法可以任意调用方法

解析:
静态方法和静态变量在实例方法和实例变量之前产生,因此静态不能调用实例,实例可以调用静态。同时实例可以调用其他实例

18. 下面关于try-catch-finally语句块,描述正确的是(B D

A. catch可以和final单独使用
B. try可以和catch单独使用
C. try-catch-final块中的语句都可以被执行
D. 如果try中的语句抛出异常,程序会跳过try块中剩余的语句,开始查找处理这个异常的代码

19. 调用者发出消息后,必须等待消息处理结束返回后,才能进行后续操作的是(C

A. 返回消息
B. 简单消息
C. 同步消息
D. 异步消息

等待消息处理 - 同步
不等待消息处理 - 异步

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

在这里插入图片描述
A. 备忘录模式
B. 适配器模式
C. 工厂方法模式
D. 抽象工厂模式

解析:
参考链接:https://www.runoob.com/design-pattern/design-pattern-tutorial.html

21. 请问下图的UML是什么设计模式?(B

A. 模板方法模式
B. 责任链模式
C. 迭代器模式
D. 命令模式

解析:
参考链接:https://www.runoob.com/design-pattern/design-pattern-tutorial.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值