小米19秋招java开发~ 分享笔试题希望春招有好运
1. 一个作业系统中有4台打印机,每个作业需要独占2台打印机才能完成,则该系统最多可以同时执行多少作业而保证不会死锁?(A)
A. 3
B. 1
C. 2
D. 4
2. 假设一个无向图中包含12个顶点,其中5个顶点有5个度,7个顶点有7个度,那么这个图有几条边?A
A. 37
B. 60
C. 12
D. 25
E. 49
3. 下列数中,数值最大的是A
A. 二进制数100000011
B. 十进制数258
C. 十六进制数
D. 八进制数401
4. 不同级别的用户对同一对象拥有不同的访问权利或某个客户端不能直接操作到某个对象,但又必须和那个对象有所互动,这种情况最好使用什么设计模式?A
A. Proxy模式
B. Factory模式
C. Adapter模式
D. Bridge模式
5. 入栈顺序为K、L、M、N,则以下哪种出栈顺序不可能发生(A)
A. NLMK
B. KLMN
C. LKNM
D. NMLK
6. 32位ip地址3232238233转换为字符串的ip地址正确的是B
A. 192.168.32.132
B. 192.168.10.153
C. 192.168.10.14
D. 192.168.40.150
7. A和B两人在球场上进行踢点比赛,两人交换着踢,先进球者获胜。A踢进的概率为0.6,B踢进的概率为0.5,假设A先踢,那么A最后获胜的概率最接近 (C)
A. 0.6
B. 0.75
C. 0.7
D. 0.55
8. 在游戏dota2中,有一位非常强大的英雄卡尔,他有三种属性:冰、火、雷。同时卡尔身上有三个无顺序的属性槽,他可以从三种属性中任意选择三个放入属性槽中,然后通过当前的属性组合召唤技能,每种不同属性组合都可以为卡尔召唤出不同的技能,共有十种组合:
1. 冰冰冰 2. 冰冰火 3. 冰冰雷 4. 冰火火 5. 冰火雷 6. 冰雷雷 7. 火火火 8. 火火雷 9. 火雷雷 10. 雷雷雷
现在我们想继续加强卡尔,如果给卡尔四种属性:冰、火、雷、风,同时给卡尔四个无顺序的属性槽,从而让卡尔可以从四种属性槽中任意选择四个,则现在共有多少种技能 (B)
A. 64
B. 48
C. 35
D. 28
9. 假设单链表中节点的结构为{data,next},其中next指向下一个节点,若想删除P(既不是头节点,也不是尾节点)的直接后继节点,则应该执行以下哪个操作?D
A. p = p->next->next
B. p->next->next = p->next
C. p = p->next; p->next = p->next->next
D. p->next = p->next->next
多选题
1. Unix系统中,以下哪些可以用于进程间通信ABCD
A. 共享内存
B. 消息队列
C. 信号量
D. 套接字
2. 访问https://www.mi.com/会经过哪些协议?ABD
A. TCP
B. SSL
C. FTP
D. IP
3. 关于栈和队列,下列说法正确的是BD
A. 栈是一种树形数据结构
B. 栈和队列都不支持随机访问
C. 可以使用队列模拟栈,但栈不能模拟队列
D. 栈具有后进先出的特征
4. 以下哪些语言是面向对象的BC
A. 汇编
B. JAVA
C. C++
D. C
5. 关于数据库的描述正确的是BCD
A. 主键作为一条记录的唯一标识,不能有重复,但允许为空
B. SQL中关键字delete可以删除表中数据,但不能直接删除表
C. 一个多对多的关系的表,可通过一个中间表分为两个一对多的关系的表
D. 如果数据A持有某事务的排它锁,那么其它事务对数据A,加共享锁、排它锁都失败
6. 以下描述正确的是ABC
A. 进程拥有自己独立的堆和栈,既不共享堆,也不共享栈
B. 协程是一种用户态的轻量级线程
C. 线程是CPU独立运行和独立调度的基本单位
D. 进程,线程,协程的调度都由操作系统完成
7. 假设把随机分布的整数作为关键字的元素散列到N个槽的散列表中,以下哪些散列函数是比较好的散列函数AD
A. H(k) = (k*37) mod N
B. H(k) = k/N
C. H(k) = (k+Random(N)) mod N
D. H(k) = k mod N
E. H(k) = 1
8. 对C++中重载(overload)和重写(override)描述正确的有ACD
A. 构造函数可以重载,析构函数可以重写
B. 虚函数不可以重载
C. 重载是指同一个类或名字空间中存在多个函数,它们的函数名相同,而函数签名不同
D. 重写是指在子类中实现一个虚函数,该虚函数与其父类中的一个虚函数拥有同样的函数签名
9. 下列关于一棵深度为K,具有n个节点二叉树的下列叙述正确的是ABCD
A. 这个二叉树最多有(2k-1)个节点
B. 在这个二叉树的第i(i>=1)层最多有2i-1个节点
C. 在完全二叉树中,这个二叉树的深度为logn-1
D. 这个二叉树最少有2k-1个节点
10. 关于快速排序,下列说法正确的是ABD
A. 快速排序是基于比较的排序
B. 快速排序使用了分治的思想
C. 快速排序只能使用递归方式实现
D. 在某些特殊数据中,快速排序的时间复杂度可以达到O(n)
编程题
1. 找”异数“
题目描述:
定义:数值序列中包含2~16进制整数,如果序列中有一个数,与序列中其他任何一个数大小都不相等,则这个数叫做“异数”。请找出给定数值序列中所有的“异数”.
输入:输入数值序列i行(0<i),每一行分别是进制和数值,以“#”分割。如:n#m, n是整数,代表n进制(1<n<17),m是n进制下的数值.输入序列以结束符”END”结束.
输出:输出j行(0<j<=i),每一行都是输入序列的“异数”。要求:
1.按照输入序列的原序输出;
2.如果没有”异数”,输出字符串”None”
3.结束符“END”不用输出
样例输入:
10#15
4#32
4#33
8#17
END
样例输出
4#32
2. 升级蓄水池
题目描述:
在米兔生活的二维世界中,建造蓄水池非常简单。
一个蓄水池可以用n个坐标轴上的非负整数表示,代表区间为【0-n】范围内宽度为1的墙壁的高度。
如下图1,黑色部分是墙壁,墙壁的高度是[0,1,0,2,1,0,1,3,2,1,2,1] ,蓝色部分是蓄水的面积,可以看出蓄水池最大蓄水容量是6。
现在米兔想通过增加某些墙壁的高度对蓄水池扩容,但是经费有限,最多只能增加最多m的高度,增加高度只能在【0-n】范围内,高度为0的区域也是可以增加的,为了追求最大的性价比,米兔想要找到一种最优方案,使扩容后蓄水池的容量最大,你能帮帮他么?
提示:
对于样例,图2,图3,是样例可能的两种扩容方案,显然图2是比图3更优的方案
关于题目数据范围
20%的数据, n<10,m<10,蓄水池最大高度小于10
50%的数据, n<100,m<100,蓄水池最大高度小于100
100%的数据, n<1000,m<1000,蓄水池最大高度小于1000
输入:第一行为一个数字n,接下来n行,每行一个数字,代表n个墙壁的高度,最后一行为一个数字m
输出:一个数字,表示扩容之后蓄水池能达到的最大容量
样例输入
12
0
1
0
2
1
0
1
3
2
1
2
1
2
样例输出
12