博主整理小米校招2021题目(精选)——第一战

DBC 1.9K 0
温馨提示

这里博主感慨一下,由于博主上学没有好好学习数据结构与算法,所以现在最后一个学期还需要补这方面知识,真是痛苦呀,这是面向大厂的面试题,和之前的题目不太类似,之前略偏向于面向带工作经验的程序员![aru_30]

1.小米有品的消费记录分别为900,512,613,700,810,若采用选择排序算法对其进行递增排序,则第三趟排序结果为 ( )

900 512 613 700 810

512 900 613 700 810

512 613 700 900 810

512 613 700 810 900

解析

递增选择排序:第一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小元素,然后放到已排序的序列的末尾,以此比较直到最后一个数

第一轮: 512 900 613 700 810
第二轮: 512 613 900 700 810
第三轮: 512 613 700 900 810

2.下述算法的时间复杂度为()
intfact(int n) {
if (n <= 1) return 1; return n * fact(n-1); }

O(log2n)

O(n)

O(nlog2n)

O(n^2)

3.冯诺依曼结构的计算机硬件逻辑组成中,不包含以下哪个模块()

编译器

控制器

输入设备

输出设备

温馨提示

五个部件:输入设备 输出设备 存储器 控制器 运算器

4.关于以下说法中,错误的有:()

某软件有学生优惠,我借用师弟师妹的学生证购买,可以获得正版授权

个人版的某软件可以免费获得授权,我可以把它拷到公司使用

发现跳过某软件激活的方法,去论坛发帖,公布下教程

某软件太贵了,找找开源替代方案,这样就不会侵权问题了

温馨提示

这里可能有疑问的是第四个选项

5.以下关于死锁,描述正确的有? ( )

有序分配锁资源可以预防死锁

银行家算法是用于检测死锁的

剥夺死锁进程的所有资源可以解除死锁

其他描述都不对

温馨提示

银行家算法用于预防死锁

6.假设有一个栈,元素依次进栈的顺序是A,B,C,D,E。下列不可能的出栈顺序是( )

E,D,C,B,A

A,B,C,D,E

B,C,D,E,A

E,A,B,C,D

7.关于主键,描述正确的是()

一个表可以有多个主键

主键不可以为空

建立主键的同时也会建立一个唯一性索引

主键可以包含多个属性,如联合主键

8.在对信号的进样采样过程中,当采样频率至少大于()时,才可能完整地保留原始信号中的信息。

最高频率

最高频率的2倍

最高频率的4倍

永远无法完整保留

9.下面对于进程和线程的叙述错误的是()

地址空间:进程至少有一个线程,线程共享进程的地址空间,而进程有自己独立的地址空间

进程是资源分配和拥有的单位,同一进程内的线程共享进程的资源

两者均可并发执行

进程是处理器调度的基本单位,但线程不是

10.下列关于继承的描述正确的是?()

在Java中允许定义一个子类的引用,指向父类的对象

在Java中一个子类可以继承多个抽象类,在extends关键字后依次列出用逗号隔开

在Java中继承是通过extends关键字来描述的,而且只允许继承自一个直接父类

在Java中抽象类之间不允许出现继承关系,所有的抽象类都相互独立

11.关于Java 中的垃圾回收,下列说法错误的是:()

可以使用System.gc()来显式进行垃圾回收,但是不保证能够执行

因为有垃圾回收机制,所以java 不会存在内存泄漏问题

GC 是 JVM内部的一个线程,回收无效对象的内存用于将来的分配

创建对象时,GC就开始监控这个对象的地址,大小及使用情况

12.在Java 的 switch(expression) 语句中, expression 的数据类型不能是( )

long

boolean

int

String

发表评论 取消回复
表情 图片 链接 代码

分享