1.访问 https://www.mi.com/ 会经过哪些协议?(abc)
a. IP
b. TCP
c. SSL
d. FTP
2.下列关于一颗深度为 K,具有 n 个节点二叉树的下列诉述正确的是(abc)
a.在这个二叉树的第 i(i>=1)层最多有 2^(i-1)个节点
b.这个二叉树最多有(2^k)-1 个节点
c.这个二叉树最少有 2^(k-1)个节点
d.在完全二叉树中,这个二叉树的深度为[log n]-1
3.假设把随机分布的整数作为关键字的元素散列到有 N 个槽的散列表中,以下哪些散列函数
是比较好的散列函数?(ce)
a. h(k) = k / N
b. h(k) = 1
c. h(k) = k mod N
d. h(k) = (k + Random(N)) mod N,其中 Random(N)返回一个 0 到 N-1 的整数
e. h(k) = (k * 37) mod N
4.32 位的 ip 地址 3232238233 转换为字符串的 Ip 地址正确的是(d)
a.192.168.32.132
b.192.168.40.150
c.192.168.10.14
d.192.168.10.153
5.入栈顺序为 K、L、M、N,则以下哪种出栈顺序不可能发生(c)
a. KLMN
b. LKMN
c. NLMK
d. NMLK
6.对 C++中重载(overload)和重写(override)描述正确的有(abd)
a.重载是指在同一个类或名字空间中存在多个函数,它们的函数名相同,而函数签名不同重
b.写是指在子类中实现一个虚函数,该虚函数与其父类中的一个虚函数拥有同样的函数签名
c.虚函数不可以重载
d.构造函数可以重载,析构函数可以重写
7.不同级别的用户对同一对象拥有不同的访问权利或某个客户端不能直接操作到某个对象,
但又必须和那个对象有所互动,这种情况最好使用什么设计模式。(d)
a. Bridge 模式
b. Factory 模式
c. Adapter 模式
d. Proxy 模式
8.Unix 系统中,以下哪些可以用于进程间通信(abcd)
a.套接字
b.信号量
c.消息队列
d.共享内存
9.关于栈和队列,下列说法正确的有(bd)
a.可以使用队列模拟栈,但栈不能模拟队列
b.栈和队列都不支持随机访问
c.栈是一种树形数据结构
d.栈具有后进先出的特征
10.关于快速排序,下列说法正确的有(ab)
a.快速排序是基于比较的排序
b.快速排序使用了分治的思想
c.在某些特殊数据中,快速排序的时间复杂度可以达到 O(n)
d.快速排序只能使用递归方式实现
11.以下哪些语言是面向对象的(bc)
a.C
b.C++
c.JAVA
d.汇编
12.假设一个无向图中包含 12 个顶点,其中 5 个顶点有 5 个度,7 个顶点有 7 个度,那么这
个图有几条边?(c)
a.12
b.25
c.37
d.49
e.60
13.关于数据库的描述正确的是(abc)
a.如果数据A持有某事务的排它锁,那么其它事务对数据 A,加共享锁、加排它锁都失败
b.一个多对多的关系的表,可通过一个中间表分为两个一对多的关系的表
c.sql 中关键字 delete 可以删除表中数据,但不能直接删除表
d.主键最为一条记录的唯一标识,不能有重复,但允许为空
14.下列数中,数值最大的是(a)
a.二进制数 100000011
b.八进制数 401
c.十进制数 258
d.十六进制数 100
15.以下描述正确的有(abc)
a.进程拥有自己独立的堆和栈,既不共享堆,也不共享栈
b.线程是 CPU 独立运行和独立调度的基本单位
c.协程是一种用户态的轻量级线程
d.进程,线程,协程的调度都由操作系统完成
16."有一个名为 app 的 MySQL 数据库表,其建表语句如下:
CREATE TABLE `app` (
`app_id` int(10) DEFAULT '0',//应用 ID
`version_code` int(10) DEFAULT '0',//应用的版本号
`download_count` int(10) DEFAULT '0'//当前版本的下载量
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
当前表中数据记录如下,一条记录表示某个应用的某个版本的下载量记录:
+--------+--------------+----------------+ | app_id | version_code | download_count
1 |
10 | |
11 |
2 |
| +--------+--------------+----------------+ |
|
|
|
+--------+--------------+----------------+
问: 下面那个 MySQL 语句可以查出每个应用中总下载量最大的版本号和次数(b )?"
a.
100 | |
2 |
16 |
1 |
16 |
5 | |
15 |
30 | |
15 | |
2 |
1 |
10 |
3 |
2 |
10 |
20 | |
90 |
2
17
50 |
b.
c.
d.
select t.app_id, t.version_code, max(t.download_sum) from (select app_id, version_code,
sum(download_count) download_sum from appgroup by app_id, version_code) as t
group by t.app_id having t.download_sum > max(t.download_sum);
select t.app_id, t.version_code, max(t.download_sum) from (select app_id, version_code,
sum(download_count) download_sum from appgroup by app_id, version_code order by
download_sum desc) as t group by t.app_id;
select 1.app_id, l.version_code, max(download_sum) from app l inner join (select app_id ,
version_code, sum(download_count) asdownload_sum from app group by app_id,
version_code ) as t on l.app_id = t.app_id and l.version_code = t.version_code group
byl.app_id, l.version_code;
select l.app_id, l.version_code, max(download_sum) from app l inner join (select app_id ,
version_code, sum(download_count) asdownload_sum from app group by app_id,
version_code ) as t on l.app_id = t.app_id and l.version_code = t.version_code group
byl.app_id;
17.一个作业系统中有 4 台打印机,每个作业需要独占 2 台打印机才能完成,则该系统做多
可以同时执行多少作业而保证不会死锁?(c)
a.1
b.2
c.3
d.4
18.假设单链表中节点的结构为{data,next},其中 next 指向下一个节点。若想删除结点 p(p
既不是头节点也不是尾结点)的直接后继节点,则应执行下列哪个操作?(c)
a. p=p->next; p->next=p->next->next
b. p=p->next->next
c. :p->next=p->next->next
d. p->next->next=p->next
19.A 和 B 两人在球场上进行踢点球比赛,两人交换着踢,先进球者获胜。A 踢进的概率为
0.6,B 踢进的概率为 0.5。假设 A 先踢,那么 A 最后获胜的概率最接近以下哪个选项?(d)
a.0.55
b.0.6
c.0.7
d.0.75
20.下面对完全二叉树描述正确的是(bc)
a.叶子结点可在任一层出现
b.某些结点有有右子树则必有左子树
c.适用于顺序结构存储
d.不一定适合顺序结构存储
21.有一个队列 X,在 X 的两端都可以入队,但只允许在 X 的一端出队,在任意时间都可以
做入队和出队操作。将序列{A,B,C,D,E}依次入队,则得到的出队序列可能有(abd)
a.{B,A,C,D,E}
b.{D,B,A,C,E}
c.{D,B,C,A,E}
d.{E,C,B,A,D}
22.双色球问题,在一个不透明的箱子里面均匀的分布着相同的 6 颗色红球和 3 颗篮色球,
求随机的抽两次球,中一个蓝色球和一个红色球的概率?(d)
a.1/12
b.1/4
c.1/8
d.1/2
23.以下关于 C++语言中虚函数的描述正确的有(abc)
a.构造函数不可以是虚函数
b.析构函数不可以是纯虚函数
c.构造函数中不应该调用纯虚函数
d.struct 中不可以定义虚函数
24.关于进程和线程,下列说法正确的有(ad)
a.线程的粒度小于进程
b.同一进程内的线程只能串行执行
c.一个程序只能对应一个进程
d.线程是 CPU 调度的基本单位
25.关于堆数据结构,下面描述中正确的有(abce)
a.可以用堆实现优先队列(priority_queue)
b.使用堆可以实现排序算法,复杂度为 N * log N
c.从 M 个元素中查找最小的 N 个元素时,使用大顶堆的效率比使用小顶堆更高
d.在大顶堆中,第 N 层中的所有元素比第 N+1 层中的所有元素都要大
e.堆数据结构可以用数组方式存储,存储的是一棵完全二叉树
26.现有线性表(16,37, 43,55, 73,97,110,100),对其进行散列存储, 若选用 H(K)=K%9
作为散列函数,则散列地址为 1 的元素有(d)个。
a.1
b.2
c.3
d.4
27.以下关于 TCP 和 UDP 的描述正确的有(bd)
a. TCP 和 UDP 提供面向连接的传输,通信前要先建立连接(三次握手机制)
b. TCP 提供可靠的传输,UDP 提供不可靠的传输
c. TCP 是面向数据报的传输,UDP 是面向字节流的传输
d. TCP 提供拥塞控制和流量控制机制;UDP 不提供拥塞控制和流量控制机制
28.下列关于数据库的说法错误的是(b)
a.一张表只能有一个主键,但可以有多个唯一索引
b.索引可以提高查询效率所以可以尽多添加
c.如果数据量比较大的情况可以考虑业务分表
d.sql 语言中删除视图使用 drop 命令
29.为避免运算过程中出现整型溢出可以考虑的办法有(bc)
a.将运算结果和可以表示的最大整数进行比较
b.检测符号位的变化
c.将计算结果减去加数看是否与另一加数相等
d.比较参数的长度
30.下面那个语句满足如下条件?(b) 假定 y=8 当 x=3 时,z=8 当 x=4 时,z=8 当 x=5 时,z=8
当 x=6 时,z=8 当 x=7 时,z=8 当 x=8 时,z=8 当 x=9 时,z=16 当 x=10 时,z=16 当 x=11
时,z=16 当 x=12 时,z=16
a. z=((x+y-1) ^ (~(y-1)))
b. z=((x+y-1) & (~(y-1)))
c. z=((x+y-1) | (~(y-1)))
d.都不对
31.数据库事务正确执行所需要素有哪几个(abcd)
a.原子性
b.一致性
c.隔离性
d.持久性
32.当已有类能满足目前的需求但和当前的系统兼容性比较差的情况下,比较适合使用(b )
a.工厂模式
b.适配器模式
c.装饰器模式
d.代理模式
33.以下哪些算法的平均时间复杂度是 O(n*log n)(bd)
a.冒泡排序
b.快速排序
c.希尔排序
d.堆排序
34.小米 max3的屏幕分辨率是 2160*1080,长按电源键+音量下键截图,假设每个像素点占
用空间 24 位 bit,预计这张图片在无损保存的情况下,占用多大存储空间(a)
a.6.6MB
b.5.5MB
c.3059KB
d.7.3M
35.以下哪些函数容易造成缓冲区溢出?(ac)
a. Strcpy
b. Strncat
c. Sprint
d. strcmp
36.假设有四道作业,他们的提交时间和执行时间由下表给出。请计算在单道程序环境下,
用最短作业优先调度算法(SJF)时的平均周转时间和平均带权周转时间是(a)
4
作业名 |提交时刻(时) |执行时间(小时) A
2
B
D
4 周转时间与平均
带权周转时间计算公式参照如下: 周转时间=作业完成时间—作业提交时间; 平均周转时间
=(作业 1 的周转时间+...+作业 n 的周转时间)/n; 带权周转时间=作业周转时间/作业实际运行
5 C
|
3 E
|
3
0
2
|
|
|
1
|
|
4
|
|
|
时间; 平均带权周转时间=(作业 1 的带权周转时间+...+作业 n 的带权周转时间)/n;
a. 8,2.13
b. 8,2.85
c.
9,2.85
d. 9,2.13