1. 下列关于设计模式说法错误的是(B)

A. 装饰器模式在实现过程中一般不会更改被封装对象的接口定义
B. 适配器模式以不改变被适配对象的接口定义为目的对其进行改造
C. 用饿汉方式实现的单例模式是不能够被继承的
D. 简单工厂模式可以实现按客户端条件动态创建对象的效果

解析:
适配器模式将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
单例模式的构造函数为private,所以不能被继承

2. 从尚未排序的N名学生的考试分数中挑出排名第K的分数,平均时间复杂度最优可以达到多少?(C)

A. O(N*K)
B. O(N*logN)
C. O(N)
D. O(N^2)

解析:
快排思想

3. 在下列序列中,若以最后一个数字为基准进行快速排序(升序),第一趟数字被移动次数最多的是?(B)

A. 102, 106, 98, 52, 40, 45, 120, 110
B. 102, 106, 110, 120, 52, 45, 40, 98
C. 110, 106, 102, 45, 40, 120, 98, 52
D. 52, 40, 45, 102, 110, 106, 98, 120

解析:
A 1次 第一趟之后为102, 106, 98, 52, 40, 45, 110, 120
B 7次 第一趟之后为40,45,52,98,120,110,106,102
C 5次 第一趟之后为40, 45, 52, 102, 106, 120, 98, 110
D 0次 第一趟之后为52, 40, 45, 102, 110, 106, 98, 120

4. 1,2,3,4,5 五个数字,能组成多少种不同的二叉搜索树的结构?(D)

A. 32
B. 36
C. 40
D. 42

解析:
满足卡特兰数:h(n)=C(2n,n)/(n+1) (n=0,1,2,…)
h(n) = C(10, 5) / 6 = 252 / 6 = 42

5. 下面关于有向无环图说法错误的是?(D)

A. 有向无环图至少有一个顶点入度为0
B. 有向无环图至少有一个顶点出度为0
C. 有向无环图至少有一个拓扑排序
D. 有向无环图可以转换成树

解析:
因为有向图中一个点经过两种路线到达另一个点未必形成环,因此有向无环图未必能转化成树,但任何有向树均为有向无环图。

6. 以下说法正确的有(A B D)

A. 1个堆栈可以通过1个数组或者1个单向链表来实现,出栈和入栈的均摊复杂度均为O(1)
B. 1个先进先出队列可以通过1个数组或者1个单向链表来实现,出队和入队的均摊复杂度均为O(1)
C. 1个堆栈可以通过2个先进先出队列来实现, 出栈和入栈的均摊复杂度均为O(1)
D. 1个先进先出队列可以通过2个堆栈来实现,出队和入队的均摊复杂度均为O(1)

解析:
堆栈和队列都是在头尾元素上进行操作,所以利用数组的出入复杂度均为O(1)
两个队列实现栈的均摊时间复杂度不是O(1)

7. UNIQUE惟一索引的作用是(C)

A. 保证惟一索引不能被删除
B. 保证各行在该索引上的值不得为NULL
C. 保证各行在该索引上的值都不得重复
D. 保证参加惟一索引的各列,不得再参加其他的索引

解析:
唯一索引和普通索引的区别是什么,什么时候需要建唯一?
链接:https://www.cnblogs.com/xinruyi/p/11335482.html

8. 数据库表a主键为id,共10行,表b存在关联列aid,共5行,以下查询可能的结果为(B)
select count(1) from a left join b on a.id = b.aid

A. 5
B. 10
C. 15
D. 50

解析:
左连接不论是否为null 都保存左表的结构, 即保存a表的结构, 10行

9. 在一个真实的计算机系统中,资源会损坏或被替换,新的进程会进入和离开系统,新的资源会被购买和添加到系统中。如果用银行家算法控制死锁,下面哪些变化是安全的(不会导致可能的死锁)?(A D)

A. 增加可用资源(新的资源被添加到系统)
B. 减少可用资源(资源被从系统中永久性地移出)
C. 增加一个进程的Max(进程需要更多的资源,超过所允许给予的资源)
D. 减少一个进程的Max(进程不再需要那么多资源)

解析:
导致死锁的原因为系统可以使用的资源不满足进程所需资源。所以可以增加可用资源或者减少进程所需资源

10. 在一个真实的计算机系统中,可用的资源和进程命令对资源的要求都不会持续很久是一致的长期(几个月)。资源会损坏或被替换,新的进程会进入和离开系统,新的资源会被购买和添加到系统中。如果用银行家算法控制死锁,下面哪 些变化是安全的(不会导致可能的死锁)?(A D)

A. 增加可用资源(新的资源被添加到系统)
B. 减少可用资源(资源被从系统中永久性地移出)
C. 增加一个进程的Max(进程需要更多的资源,超过所允许给予的资源)
D. 减少一个进程的Max(进程不再需要那么多资源)

解析:
同上,但是牛客网的两题答案都是BC,不太理解

11. 在C++中,声明 int const** const * const x 表示x是什么类型?(C)

A. 一个const数组,每个成员都是一个const二维int类型const数组
B. 一个const指针,指向一个const双层指针,指向一个int
C. 一个const指针,指向一个const指针,指向一个普通指针,指向一个const int
D. 一个const指针,指向一个const指针,指向一个const int,它存着一个指针

解析:
int const * (* const)(* const) x

12. 以下问题错误的是(B)

A. 类不是在类定义里定义数据成员时初始化数据成员,而是通过构造函数控制初始化。
B. extern double pi=3.14 此声明没有分配及初始化存储空间
C. 变量或函数的定义尽量不要放在头文件中。因为头文件包含在多个源文件中,所以不应该含有变量或函数的定义
D. const对象可以定义在头文件中

解析:
若extern double pi = 3.14,这就变成定义了。extern可以声明且定义,但只能是在函数体之外,即变量是全局变量。

13. 下面关于虚函数的描述中,正确的是(A B C)

A. 虚函数必须是非静态成员函数。
B. 对于虚函数,virtual关键字只能出现在类定义中的函数原型声明中,不能出现在类体外的函数定义中.
C. 根据类型兼容规则,基类指针(或引用)可以指向其派生类的实例,但在非虚函数的情况下,通过基类指针(或引用)却只能调用基类的函数成员,无法调用其所指实例(派生类)的函数成员。
D. 对于多态类,应该将构造函数和析构函数都声明为虚函数。

解析:
参考链接:https://blog.csdn.net/u013102349/article/details/79278828

14. 下面STL容器中,哪些是有序的(B D)

A. vector
B. map
C. stack
D. set

解析:
参考链接:https://blog.csdn.net/jason_cuijiahui/article/details/79023228

15. 下列程序有错误的是?(A B C)

A.

abstract class Something {private abstract String doSomething ();
}

B.

public class Something {void doSomething () {private String s = "";int l = s.length();}
}

C.

abstract class Name {private String name;public abstract boolean isSomething(String name){};
}

D.

public class Something {public static void main(String[] args) {Thing t = new Thing();new Something().addOne(t);}public void addOne(final Thing t) {t.i++;}
}class Thing {public int i;
}

解析:
抽象方法不能用private修饰, 抽象方法不能有方法体,private属性声明要在方法体的外面

16. Java虚拟机里提供了哪些调用字节指令?(A B C)

A.invokestatic
B. invokespecial
C. invokevirtual
D. invokemethod

解析:
参考链接:https://blog.csdn.net/boling_cavalry/article/details/76384425

17. 在Python 3中,对于字符编码叙述正确的是?(B)

A. str为unicode字符(内部编码utf-16),byte编码为utf-8
B. str为unicode字符(内部编码utf-16),byte无编码
C. str编码为utf-16,byte为utf-8
D. str编码为utf-8,byte无编码

18. 编译程序目标代码生成阶段主要任务是(D)

A. 把高级语言翻译成汇编语言
B. 把高级语言翻译成机器语言
C. 把汇编语言翻译成机器语言
D. 把中间代码变换成依赖具体机器的目标代码

19. 在X86平台上,C语言函数调用时,通过以下哪种方式传递参数?(C)

A. 寄存器
B. 内存
C. 堆栈
D. 变量地址

解析:
调用函数时,实际上是从某一函数跳转到了被调用函数,这个时候,程序当前运行时所用的参数如果不进行保存的话,那么当执行完被调用函数跳转回原先的函数时,缺少必要的参数,程序就无法正常执行。因此,在调用函数之前,需要先保存现场信息,即先把参数压栈,然后再返回地址
参考链接:https://blog.csdn.net/qq_39642794/article/details/82789526

20. 编译程序不仅包含词法分析、语法分析、中间代码生成、目标代码生成,还包括(A B D)

A. 代码优化
B. 表格管理
C. 源代码优化
D. 出错处理

解析:

小米2020校招软件开发工程师笔试题一相关推荐

  1. 小米2020校招软件开发工程师笔试题二

    https://blog.csdn.net/Yuudachi/article/details/104090132

  2. 金山办公2020校招C++开发工程师笔试题(一)

    链接:https://www.nowcoder.com/test/21499425/summary 11.框选线段 在二维平面坐标系中,已知存在一条线段(图中P1->p2)和一个矩形区域,编程计 ...

  3. 金山办公2020校招前端开发工程师笔试题

    每天看看面试题,巩固知识,冲鸭 一 .写出如下代码的执行结果 考察了 promise,以及任务处理顺序.promise值得单写一篇文章,这里不过多赘述. new Promise((resolve) = ...

  4. 前端面试题:金山办公2020校招前端开发工程师笔试题(一)

    第一题: []==[]输出的结果为false: 首先,'=='运算符比较的是两个操作数是否相等,(这里不是指严格相等),两个操作数都是空数组,都是Object对象.但是对象的比较并非是值得比较,即使这 ...

  5. 中软融鑫 java笔试题_中软融鑫2014校招java开发工程师笔试题

    如果你想要应聘中软融鑫的java开发工程师岗位,小编下面分享的内容就是中软融鑫2014校招所考的试题,感兴趣的朋友赶紧收藏吧! 一.选择题 1.下列表达式正确的()? A.byte b = 128; ...

  6. 美团点评2020校招系统开发方向笔试题(编程题题解)

    这套笔试题的编程题很简单,感觉没什么可以写的题解的 [编程题]大数加法 注意下负号的情况 #include <bits/stdc++.h> using namespace std; typ ...

  7. 【校招】C/C++软件开发工程师笔试题(1)

    目录 一.题目描述 二.C代码实现 三.C++代码实现 一.题目描述 给定一个整数数组arr,将这个数组中的值进行解码. 解码规则:将数组中的元素转换成对应的ASCII码,解码后能拼出"cs ...

  8. C++软件开发工程师笔试题

    1.二层交换机能够识别()地址. A.MAC地址 B.域名 C.IP地址 D.UDP端口号 2.以下代码运行结果为 #include "stdio.h"class Base { p ...

  9. 小红书2020校招测试开发后端笔试题卷一

    "记录一下做的小红书的笔试" 题目描述: 薯队长写了一篇笔记草稿,请你帮忙输出最后内容. 1.输入字符包括,"(" , ")" 和 &quo ...

最新文章

  1. 初学者SQL语句介绍
  2. chromedriver与chrome版本映射表(更新至v2.30)
  3. 2018.09.14 codechef Milestone(随机化算法)
  4. Android 2D游戏引擎AndEngine配置环境
  5. 想在PyTorch里训练BERT,请试试Facebook跨语言模型XLM
  6. python turtle画彩虹-python绘制樱花,彩虹旋等
  7. shiro spring boot thymeleaf
  8. python批量处理jira上的issue
  9. HDU-2476 String painter 区间DP
  10. python数字字符是什么_大佬们,想问一下Python中特殊字符的代码是什么啊,只知道数字是digits...
  11. 从一般到特殊-C#中的对象
  12. oracle 10g 白皮书,Oracle 10g标准版与企业版
  13. 第一章 计算机网络 6 OSI参考模型 [计算机网络笔记]
  14. Protobuf 的 import 功能在 Go 项目中的实践
  15. UIScrollView与分页的联合使用
  16. 暴风php视频怎么打开,暴风下载的视频怎样转换视频格式
  17. 杰理之ANC降噪的硬件要求和物料选型【篇】
  18. 循环群的子群必然还是循环群
  19. Kotlin - 面向对象之抽象类与接口
  20. 全网最全靠谱找工作招聘网站大全

热门文章

  1. js运算符 ~~ 是什么意思?
  2. Java绘制海螺_cero基础曲面教程,教你cero海螺建模绘制方法
  3. Cefsharp开发中遇到的问题
  4. 拼多多APP商品详情接口获取activity_id值(activity_id接口)代码对接教程
  5. golang开发GUI桌面应用walk(一)
  6. Vite+Vue3增加版本号记录(验证线上环境是否已更新到最新版本)
  7. Java写五子棋小游戏
  8. 关于windows任务管理器,进程界面,应用列表空白问题
  9. 响应式营销型H5建站平台系统源码 可视化后台+自助建站+搭建部署教程
  10. docker 启动 redis 报错 Could not create server TCP listening socket *:6379: unable to bind socket