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

2023-05-16

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. 出错处理

解析:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

小米2020校招软件开发工程师笔试题一 的相关文章

  • 2020年csdn盘点

    十年前就注册了csdn账号 xff0c 之后一直没有写过博客 xff0c 都是看别人的博客 xff0c 等到2015年左右发表了第一篇自己的博客 xff0c 直到2016年底觉着做技术的就需要记录自己的博客 xff0c 不仅是自己学习的过程
  • 2020 CCF 非专业级别软件能力认证第一轮(CSP-S) 提高级 C++ 语言试题

    目录 一 选择题 xff1a 每题 2 分 xff0c 共 15 题 xff0c 30 分 在每小题给出的四个选项中 xff0c 只有一项是符合题目要求的 二 阅读程序 程序输入不超过数组或字符串定义的范围 xff1b 判断题正确填 3 x
  • 我在华清的嵌入式课程笔记(至2020.7.5)

    必备Linux命令和C语言基础 文件和目录相关命令一 笔记 xff1a 嵌入式用linux是因为它是开源的 xff0c 可以自己裁剪 保留自己想要的 xff0c 驱动也是 查命令的帮助内容是用man 43 命令 命令帮助里所涉及到的英文单词
  • 2020.3

    1 项目中引用的dll如果为感叹号 xff0c 编译不能正常进行 xff0c 则将其dll下载放到exe运行文件夹下 xff0c 如还有其他错误提示 xff0c 试试将该dll的嵌入式互操作改为false
  • anaconda3 2020.07_Anaconda3 & isce2

    Anaconda3安装 参考 xff1a https www digitalocean com community tutorials how to install anaconda on ubuntu 18 04 quickstart w
  • 新路由3鸡血版固件_【2020.8.17】newifi3版LEDE+Padavan+openwrt19.07自编译稳定固件

    版本一 xff1a open lede 账号 xff1a root xff0c 密码password xff0c 地址192 168 1 1可以自己修改ip xff0c 建议改成不和光猫一个网段 版本二 xff1a padavan 鸡血驱动
  • 【新书推荐】【2020】无人机系统设计

    从系统角度全面介绍无人飞机系统的设计和分析 Provides a comprehensive introduction to the design and analysis of unmanned aircraft systems with
  • 2020年12月30日 当SONiC遇到P4

    当SONiC遇到P4 SONiC P4 是SONiC中运行的P4虚拟交换机 xff0c 当前的SONiC P4是一个docker image xff0c 可以运行在任意的docker环境中 看看SONiC和P4能碰撞出什么火花 SONiC的
  • 2020-11-23

    https blog csdn net guofei fly article details 104136008 utm medium 61 distribute pc relevant none task blog BlogCommend
  • 2020-09-29

    广西 河池学院 广西高校重点实验室培训基地系统控制与信息处理重点实验室 本篇博客来自河池学院 智控无人机小组 写作时间 xff1a 2020 9 29 刚刚接触STM32f103 xff0c 简单了解了基本内容 有48个引脚 xff0c 其
  • 2020-11-05

    私有云的优缺点是什么 xff1f 与公有云的区别 毋庸置疑 xff0c 企业选择私有云的重要原因之一是数据安全性 与传统的 IT 架构相比 xff0c 云算力的高可用性 xff0c 让 IT 解决方案更经济高效地运行 优点 xff1a 可定
  • 2020论文阅读:Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector

    文章目录 文章贡献1 绪论2 有关研究2 1 General Object Detection2 2 Few shot learning 3 FSOD A Highly Diverse Few Shot Object Detection D
  • 2020-11-10

    将Tomcat整合到Eclipse中 将Tomcat服务器整合到Eclipse工具中 xff0c 可以通过Eclipse启动 关闭tomcat服务器 xff0c 更重要的是 xff0c 可以非常方便的将在Eclipse中创建的Web项目发布
  • ubuntu中用anaconda下载库很慢的解决方法2020.3.5

    1 安装anaconda xff0c 去清华源下载 安装添加链接描述 2 由于第三方库在国外 xff0c 在没有梯子的情况下无法用conda install numpy来安装numpy xff0c 所以第二步就是切换清华源添加链接描述 3
  • 【slam-2020-01-02】扩展应用

    一篇比较全面的slam博客 一 VR 43 AR 1 VR和AR的关系 AR MR是平台 xff0c 覆盖面比VR更广 xff0c VR是一种媒体形式 xff0c 任何用得到媒体的场景 xff0c 如娱乐 教育等 xff0c 都会有VR的影
  • 2020.2.22 排位赛 G - Bucket Brigade(BFS)

    Bucket Brigade 题面 题目分析 BFS模板题 代码 span class token macro property span class token directive keyword include span span cl
  • IDEA 2020.2 配置Tomcat服务器

    1 创建一个工程 2 右键项目名称 xff0c 选择 add framwork support 3 选中Web Application xff0c 默认勾选创建web xml 目录结构如下 4 点这两个地方中的任意一个 xff0c 添加配置
  • 2020-11-21

    xftp 提示无法显示远程文件夹 不是什么被动不被动的问题 是权限的问题 xff0c 如果这个文件夹有 34 x 34 权限 就可以打开 没有就不行
  • Matlab读取高光谱遥感数据.Mat 和 .tif(2020.12.27)

    Matlab读取高光谱遥感数据 1 高光谱遥感数据简介2 两个开源的高光谱遥感数据集3 高光谱遥感数据常用格式3 1 Mat3 2 Tif 4 Matlab读取高光谱遥感数据4 1 Matlab读取 Mat格式的高光谱遥感数据4 1 1 M
  • 2020-09-28

    通用异步收发器 xff08 Universal Asynchronous Receiver Transmitter xff0c 通常称作UART xff0c 是一种串行 异步 全双工的通信协议 xff0c 在嵌入式领域应用的非常广泛 UAR

随机推荐

  • 目标检测发展方向(1)

    从目标检测发展到目标追踪 目标检测 xff08 监督学习 xff09 FasterRCNN CascadeRCNN YOLOX Complex YOLO SSD RetinaNet xff0c FOCS ATSS CornerNet Cen
  • 车道线检测与分割

    https github com amusi awesome lane detection VPGNet论文 xff1a https arxiv org abs 1710 06288 caffe 版code xff1a https gith
  • CAS单点登录原理解析

    1 基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理 xff1a 将用户名密码加密之后存于Cookie中 xff0c 之后访问网站时在过滤器 xff08 filter xff09 中校验用户权限 xff0c 如果没有权限
  • js中.?、??、??=的用法和含义

    前言 在项目中我们往往要做很多很多的空值判断进行容错处理 往往伴随着三目运算 与或 if else来使用 不仅要写很多冗余的代码 后期维护起来也是满屏的if else可以说是非常的痛苦了 今天分享几个处理空值简单的方法 希望可以解决大家的一
  • 服务器安装docker,拉取一些常用镜像

    1 购买服务器 xff08 系统centos7 6 xff09 2 在控制台中找到购买的服务器 xff0c 设置密码 xff0c 账号默认 root 3 开放需要的端口 xff0c 如nacos xff0c redis等等 4 使用Fina
  • udacity上Google的深度学习笔记

    Udacity上deeplearning这门课是google开的 xff0c 介绍了常见的几种深度神经网络模型 xff0c 同时还附带了几个练习 xff0c 并且练习用的工具都是tensorflow xff0c 所以既可以学习一下神经网络的
  • maven插件解决项目中静态资源版本问题

    产品从第一次上线后 xff0c 迭代发了两个版本了 由于含web客户端 xff0c 由于浏览器的静态资源缓存策略 xff0c 出现了静态资源的版本管理问题 开发人员每次修改完js或css文件后都需要自己在html文件中修改版本号 xff0c
  • samba服务

    samba服务的完整配置 xff1a 配置centos6与centos7文件之间的共享 1 xff09 以centos6为服务端 xff0c 安装samba服务 root 64 centos6 yum install samba y 2 x
  • XML 根级别上的数据无效。 行 1,位置 1

    上午 xff1a 将XML数据保持到数据中 xff0c 从数据库提取XML 顺利通过 下午 xff1a 一键还原电脑 xff0c 重新打开VS2010运行程序 xff0c 从数据库提取XML报错 根级别上的数据无效 行 1 xff0c 位置
  • 接触客户、接触业务、来谈我的感触

    很久没有做工作总结 xff0c 今天记录下我今年接触客户的一些感触 以前是一个刚入门的开发新人 xff0c 刚进公司感觉公司的开发能力不行 xff0c 没有一套成熟的框架 xff0c 没有美工 xff0c 已经开发出的软件界面很丑 自己开发
  • 走过2011

    走过2011 时间飞逝 xff0c 2011不寻常的一年还剩下短短5天 三百天的生活与工作是一份平淡一份快乐 工作需要总结 生活也要总结 日子才会越来越好 xff01 2011是进入公司的第二年 公司开发人员有来有离 xff0c 我没有离开
  • Error: This command has to be run with superuser privileges (under the root user on most systems).

    意思是错误 xff1a 此命令必须以超级用户权限 xff08 在大多数系统上以root用户权限 xff09 运行 所以当前的用户是普通用户 xff0c 需要切换为超级用户 xff08 root用户 xff09 先输入在命令行中输入 su r
  • P200 7

    lt img src 61 34 https img blog csdn net 20150518130711865 watermark 2 text aHR0cDovL2Jsb2cuY3Nkbi5uZXQvWXVTb25nNDg2OQ 6
  • 设计一个支持多版本的APP的后端服务

    以注册为例子的说明 我们以我们的用户中心的注册为例子我们实现的非常简单就是做一个校验 xff0c 校验成功之后 xff0c 把用户注册的数据入库即可 随着我们产品的迭代注册肯定没有这么简单 比如说我需要填写一个电话号码并且拿到验证码并验证正
  • 嵌入式工程师“中年危机”应对策略上

    嵌入式工程师 中年危机 的问题 xff08 这是个普遍现象 xff09 xff0c 当然 xff0c 面向对象不只是程序猿 众所周知 xff0c 钱 是个好东西 xff0c 能帮你解决90 的烦恼 xff0c 剩下的10 当然也可以用这东西
  • ROS实现串口解析GPS协议,并发布到话题

    1 串口配置 ROS串口编程学习笔记 xff1a https blog csdn net u014695839 article details 81209082 ROS系统的串口数据读取和解析 xff1a https blog csdn n
  • python3中input()回车不结束,改为另起一行

    参照 lst 61 while True x 61 input if len x 61 61 0 break lst append x upper for line in lst print line
  • 使用STM32 ST-LINK Utility 烧录程序,ST LINK烧录程序,解锁FLASH

    关键词 xff1a ST LINK烧录程序 xff0c STLINK烧录程序 xff0c ST LINK烧录程序 xff0c STLINK烧录程序 xff0c ST LINK解锁Flash 1 读取STM32内部FLASH及芯片信息 使用S
  • 串口调试助手,串口监控,虚拟示波器,串口示波器,网络调试工具 网络抓包监控 Wireshark.

    嵌入式开发工具收集 目录 嵌入式开发工具收集 1 串口调试工具 xff1a Xshell 6 2 串口调试工具 xff1a 界面炫 xff0c 开源软件 MobaXterm Portable v20 6 3 串口虚拟示波器1 xff1a D
  • 小米2020校招软件开发工程师笔试题一

    1 下列关于设计模式说法错误的是 xff08 B xff09 A 装饰器模式在实现过程中一般不会更改被封装对象的接口定义 B 适配器模式以不改变被适配对象的接口定义为目的对其进行改造 C 用饿汉方式实现的单例模式是不能够被继承的 D 简单工