大家好,我是勾玉! 今天,我给大家带来了哔哩哔哩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 用户态切换到内核态的三种方式:
- 系统调用
- 异常
- 外围设备中断
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”的文件,那么可以使用以下哪个命令?
代码语言:javascript复制find . -name "*.txt"
grep ".txt" -r *
ls ".txt" less ".txt"
正确答案: A Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。 grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
第二期正在编写中……敬请期待