大家好,我是勾玉!

今天,我给大家带来了哔哩哔哩2020校园招聘后端笔试题,包括28道选择题和3道编程题,因为内容较多,我将分三期来讲,对每道题都给出答案以及解释~

1、在Java中下面哪个对类的声明是错误的?

public class MyClass{}

class MyClass extends MySuperClass implements YourInterface {}

class MyClass extends MySuperClass1, MySupperClass2 {}

abstract class MyClass implements YourInterface1, Youriterface2 {}

显然,这道题选择C,因为java是单继承的语言,但是可以实现多个接口。

2、以下哪个选项不是单例模式的优点?

减少内存开支

减少系统调用

避免资源的多重占用

线程安全

正确答案: D,

单例模式有两种实现方式:

饿汉式(线程安全):顾名思义,饿汉式,就是使用类的时候不管用的是不是类中的单例部分,都直接创建出单例类,线程不安全问题主要是由于对象被实例化多次,采取直接实例化对象的方式就不会产生线程不安全问题。但是直接实例化的方式也丢失了延迟实例化带来的节约资源的好处。

懒汉式(线程不安全):顾名思义,这个人比较懒,只有当单例类用到的时候才会去创建这个单例类。

3、某台计算机连接了8个相同的设备,有N个进程在竞争使用,每个进程最多会同时占用3个设备,请问当N大于等于多少时,系统可能发生死锁?

2

3

4

5

正确答案: C

直接套公式:死锁问题:设备m=3,进程p,资源r=8;

则 solution:p•(m-1)+1>r; p=4;

4、以下哪种操作不会导致计算机从用户态切换至内核态?

访问内存时出现缺页异常

对一个变量进行取模运算

创建一个子进程

读取硬盘中文件的内容

正确答案: B

用户态切换到内核态的三种方式:


  1. 系统调用
  2. 异常
  3. 外围设备中断

5、TCP协议在常见的七层网络模型中属于哪一层?

传输层

网络层

会话层

数据链路层

正确答案: A

基础题哦,TCP协议,又叫传输控制协议。对此有疑问的话,稍稍了解一些7层网络模型各自的作用即可~

6、UDP是一种无连接的网络协议,那么一下哪个选项不是UDP协议报头的内容?

序号(Sequence Number)

源端口号(Source port)和目标端口号(Destination port)

报文长度(Length)

校验和(Checksum)

正确答案: A

TCP是可靠性传输,需要精确控制报文的 完整性,所以需要排序(序列号);

UDP是是无连接的不可靠信息传送服务协议,不需要对报文做完整性的拼接;

7、以下哪个排序算法是稳定的

快速排序

选择排序

冒泡排序

堆排序

正确答案: C

稳定排序算法:

冒泡排序 插入排序 桶排序 归并排序

不稳定排序算法:

选择排序 希尔排序 堆排序 快速排序

8、一颗有512个节点的完全二叉树的高度是多少

9

10

11

12

正确答案: A

网上有人说这道题答案是B,其实是错的,

通过求高度公式:log以2为底的结点数的对数下取整

能计算出值为9,即高度为9,而层数才为10

9、以下数据库事务的隔离级别中哪一个可能造成脏读

读取未提交内容(Read Uncommited)

读取提交内容(Read Committed)

可重复读(Repeatable Read)

可串行化(Serializable)

正确答案: A

记住口诀:

读未提交有脏读、不可重复读、幻读

读已提交有不可重复读、幻读

可重复读只有幻读

可串行化都没有

10、如果想列出当前目录以及子目录下所有扩展名为“.txt”的文件,那么可以使用以下哪个命令?

find . -name "*.txt"

grep ".txt" -r *

ls ".txt" less ".txt"

正确答案: A

Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。

第二期正在编写中……敬请期待

文章首发于公众号『勾玉技术』,关注获取最新消息哦