【2020】百度校招Java研发工程师笔试卷(第二批)客观题

111 阅读4分钟

首先老规矩原题链接,部分图源自小林图解

1. FIFO为先进先出的顺序来完成页面的访问,而如果在采用先进先出页面淘汰算法的系统中,一进程在内存占3块(开始为空),页面访问序列为1、2、3、4、1、2、5、1、2、3、4、5、6。运行时会产生(   )次缺页中断?

解析:

首先理解缺页中断(缺页异常)是什么,看下面的处理流程,大概就能明白一些 image.png,所以现在就应该知道有10次了,最开始为空加入进去3次,然后后面查询时找不到又分别缺页中断了了7次,加起来十次

2. 二叉排序树又称为二叉查找树,在二叉排序树进行插入操作时,每次插入的结点都是二叉排序树上新的叶子结点,现假设分别用下列序列构造二叉排序树,与用其他三个序列所构造的结果不同的是?

A{100,70,40,90,140,150,110}

B{100,70,90,40,140,110,150}

C{100,140,110,150,70,40,90}

D{100,40,70,90,140,110,150}

首先要明白这道题考察的是什么,它其实是在考察二叉排序树怎么构建的问题

二叉排序树的数据是从头到尾,进行比较,如果比根节点大,插入到右边,否则插入到左边,下面的子节点也满足同样的插入方法

3. 指出下列程序运行的结果

image.png

因为String类型是不可以改变的,每次只能新创建一个对象在这里还是原先的good,后面那个test ok相当于新创建了一个对象,新的一个对象地址

4. java语言中,关于元注解,下列说法中错误的是(   ):

A @Target 用于描述该注解可以作用的目标类型。

B @Retention用于描述该注解被保留的时间。

C @Document用于描述该注解是否可以生成到文档里。

D @Inherited用于描述该注解是否可以被其他注解继承。

首先这道题考察的是元注解,如果之前没接触过自然不会,ABC都是对的,记住;至于D的话,@Inherited用于描述持有该注解的类的子类,是否可以从父类继承该注解(意思就是有这个注解的父类,它的子类可以拥有它所具有的注解信息)

13.在数据结构中,不同的排序方法决定了排序的时间效率,现在假设对关键字序列22、86、19、49、12、30、65、35、18做一趟排序后,得到的结果如下:18、12、19、22、49、30、65、35、86。因此,根据上述结果可以得到采用的排序方法是(     )?

A 冒泡排序

B 快速排序

C 直接插入排序

D 堆排序

在这道题中之前不是很清楚的是直接插入排序和堆排序,所以我的答案是在CD中选的,然后选错了撒。先来讲讲C,

直接插入排序:其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。一趟排序就是以第一个为起点,然后将后面的数多次比较,一次插入。时间复杂度为n^2,相当于n个数,要比较n-1次。所以了解完概念应该就知道选c了

来看看堆排序: 首先要知道什么是堆 ① 堆是一棵完全二叉树

② 每个节点的值都大于或等于其子节点的值,为最大堆;反之为最小堆

然后清楚以下堆操作:

① 最大堆调整(Max_Heapify) :将堆的末端子节点作调整,使得子节点永远小于父节点
② 创建最大堆(Build_Max_Heap) :将堆所有数据重新排序
③ 堆排序(HeapSort) :移除位在第一个数据的根节点,并做最大堆调整的递归运算 具体操作可以看这篇,首先我们要明白堆排序其实也是一种选择排序,一种树形选择排序

17. 关于HTTP2描述正确的是

这道题属于知识记忆题目,记住以下三个即可

A采用文本格式创术数据

B新增了多路复用

C采用Header压缩

18. 修改/home下test目录以及目录下所有文件,可以支持所有人可读可写的,以下能实现的有?

这道题其实就考一个权限分数r--读,w--写,x--执行,其分别对应的数值为4,2,1

20. ping www.baidu.com命令用到了哪些协议

用到了ICMP、ARP、DNS,分别解释下出现的四个协议

  • DNS(域名解析协议)
  • ARP(地址解析协议)
  • ICMP(互联网控制协议)
  • SMTP(简单邮件传输协议)