小米嵌入式软件工程师笔试 9-23

《嵌入式软件开发笔试与面试手册》https://blog.nowcoder.net/zhuanlan/jvN8gj

《软件开发笔试汇总》https://blog.nowcoder.net/zhuanlan/0oDWVm

单选题

关于资源信号量S的用法,假设3个进程共享同一程序段,而每次允许最多2个进程进入该程序段,则信号量的变化范围是

1 0-1-2

1 -1 -2-3

210-1

210

 

DNS协议的功能是

用于主机IP地址和端口号的解析

用于主机名和lIP地址的解析

用于域名和IP地址的解析

用于自动获得IP地址

 

关于面向对象编程,下列哪个表述有误

对象主要由数据和行为(方法)构成

面向对象编程的编程方法中,提倡依赖抽象而不依赖实现

UML是一种被广泛采用的面向对象的编程语言

在面向过程的编程语言中,也能使用面向对象的编程方法

 

操作系统在处理中断的时候,以下说法错误的是

中断处理过程属于原子操作,所以需要等处理完成才能继续响应其他中断

在转入中断处理程序前,需要保护被中断的进程的环境,包括PSW/PC

当发现有多个要响应的中断源时,会根据优先级进行选择处理

CPU在执行每个指令后,都会检查当前是否有外部中断信号

 

以下哪种软件质量指标用于评估软件的可靠性和稳定性

性能指标

功能点

缺陷密度

可用性指标

 

关于线程的说法,下面哪一项是正确的

线程在发生切换的时候需要进入内核态

线程的引入可以提高程序的并发执行

引入线程会增加系统的时空开销

线程是资源分配拥有的基本单位

 

n个节点的有向连通图(n >1),最少有多少条边,最多有多少条边?

n-1, n*(n-1)/2

n+1, n*(n+1)

n, n*(n+1)/2

n, n*(n-1)

 

要在10000个不同的整数中,找到第二大的元素,下列哪个数据结构最高效?

哈希表

TRIE

 

以下哪种情况,会让进程的状态从运行态转变为就绪态。

进程被系统调度程序选中

分配的CPU执行时间片运行完

1/O结束或者等待的事件发生

进程等待某一事件如I/O请求

 

以下关于数据库索引说法正确的是

索引可以提高查询的效率

索引可以加快数据的插入和更新操作速度

索引可以减少数据库的存储空间需求

索引只能用于整数类型的列

 

数据库中的ACID是什么的缩写

Availability, Consistency, Integrity,Durability

Atomicity, Consistency, Isolation, Durability

Availability, Consistency, Isolation, Durability

Atomicity, Consistency, Integrity,Durability

 

数据由端系统A传送至端系统B,不参与数据封装工作的是

网络层

数据链路层

物理层

传输层

 

一个16 bit有符号整数的16进制表示为OxD510,它表示的十机制数是:

54544

-10991

21776

-10992

 

下列编程语言的关键词,哪一个表示的可见范围最大

private

public

super

protected

 

下列排序算法中,元素个数大约10000,最差情况下比较次数最少的是:

归并排序

快速排序

插入排序

冒泡排序

 

多选题

下列问题适用动态规划的有

背包问题

拓扑排序

最小生成树

最长公共子序列

 

下列表述中,正确的有

堆通常使用数组实现

优先队列一般使用链表实现

哈希表的实现会用到数组

拓扑排序可以用来检测无向图是否有环

 

下列针对内存管理单元MMU的说法,正确的是

MMU也负责实施访问权限控制,确保应用程序只能访问其被允许的内存区域,防止不同进程之间的内存互相干扰

MMU进行地址转换有三种机制:分页机制、分段机制、段页机制。页的大小通常是不固定的,而段的大小是固定的

MMU的主要功能是将应用程序生成的虚拟地址转换为物理地址,通过地址转换,操作系统可以实现虚拟内存,允许进程使用比物理内存更大的地址空间

TLB的作用是为了提高虚拟地址到物理地址的转换速度,也被称为块表,本质上是一块高速缓存

 

关于操作系统中CPU调度算法的以下说法,错误的是

MLFQ算法结合了优先级和轮转调度,适用于各种作业类型,可以在不同队列之间移动任务

SJF算法优点是平均等待时间最短,能够最大程度地提高系统吞吐量,不会导致饥饿问题

CFS算法能够公平地调度每个任务,使用红黑树结构来存储所有状态的任务

FCFS算法简单易实现,不考虑作业的执行时间,平均等待时间较长,适用于长作业

 

linux网络编程中,以下关于socket描述符正确的是

系统调用readsocket中读取数据时,read返回-1的时候,表示连接正常,但socket中数据读取完毕

Socket只支持TCP协议

socket存在两种模式:阻塞和非阻塞

如果socket设置成非阻塞模式,socket的输入缓冲区没有可读数据时,read操作会返回错误

 

以下哪个数据库是关系型数据库

PostgreSQL

Redis

MySQL

MongoDB

下列设计模式中,哪些属于创建型(creational)模式

工厂方法(factory method)

单例模式(singeton)

组合模式(composite)

模板方法(template method)

 

下面()在运输层使用TCP协议

FTP

SMTP

DHCP

DNS

 

软件工程的主要目标是什么

降低软件开发成本

提高软件可维护性

缩短软件开发周期

提高软件质量

 

在数据库事务中,以下哪个隔离级别可以防止脏读

读未提交(Read Uncommitted )

串行化 ( Serializable )

可重复读(Repeatable Read )

读已提交(Read Committed )

 

编程题

第一题

小米手机信号仿真平台

时间限制:3000MS

内存限制:589824KB

题目描述:

小米手机在硬件设计阶段经常会使用一些仿真平台来进行数据验证,比如要模拟不同场景下的网络信号,假设在一个网络仿真系统里,有如下一些信息:

1.一组通信基站towers,其中每个基站 towers[i] = [xi, yi, qi]表示第i个基(xi, yi)qiX-Y

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

本专栏主要发布嵌入式软件开发相关岗位2023年(2024届)的笔试真题(嵌入式软件开发、通用软件开发、C/C++软件开发、算法工程师、数据开发、测试开发等)主要是算法编程题,其中一些岗位笔试含有对应的选择题、填空题、简单题。

全部评论
第一可以是-1吗
点赞 回复 分享
发布于 09-04 20:44 北京

相关推荐

10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
点赞 8 评论
分享
牛客网
牛客企业服务