2024初级Java工程师面试题及答案_希尔排序是1959年提出的一种排序算法描述正确的是

B、双向链表中的任意一个结点都可以直接访问前驱结点和后继结点
C、双向链表删除节点更方便
D、双向链表复杂度更低

正确答案:B

单选题

7、下面关于网络协议错误的是: ( )

A、传输控制协议(TCP),面向连接,提供可靠的数据传输。
B、用户数据报协议(UDP),无连接,提供不可靠的数据传输。
C、TCP和UDP协议都属于传输层协议。
D、Socket通信只能使用TCP协议进行通信。

正确答案:D

单选题

8、在一棵二叉树上第10层的节点数最多是()

A、128
B、256
C、512
D、1024

正确答案:C

单选题

9、关于进程内存空间描述错误的是?( )

A、函数参数,局部变量自动分配在栈上。
B、栈的空间大小是有限制的,当函数调用层次过深时会出现栈溢出。
C、在堆上分配的内存需要程序主动释放。
D、程序结束时,在堆上分配的没有释放的内存会造成泄漏。

正确答案:D

单选题

10、下面哪个操作系统不使用Linux内核 ? ( )

A、AndroiD、B、MacOS
C、Ubuntu
D、RedHat

正确答案:B

单选题

11、下面哪种情况不会触发进程调度?()

A、正在运行的进程所分配的时间片结束
B、正在运行的进程访问一个临界区时,保护此临界区的互斥信号量已经被其他进程加锁
C、当一个进程执行了一条转移指令后
D、当一个进程创建了一个新进程时

正确答案:C

多选题

12、在下列汇编指令的表示中,正确的是( )

A、MOV AL, [BX+SI+20]
B、DEC [BX]
C、XCHG VAL1, AX
D、SUB [BX],[BP][DI]

正确答案:ACD

多选题

13、下面关于C程序的存储空间,描述正确的是?()

A、局部变量存放在栈上
B、全局变量存放在数据段
C、静态变量存放在数据段
D、C++中new一个对象是从堆上分配内存的

正确答案:ABCD

多选题

14、希尔排序是1959年提出的一种排序算法,下列有关希尔排序描述正确的有哪些?()

A、希尔排序是插入排序的改进版本
B、希尔排序是冒泡排序的改进版本
C、增量的选择直接影响着排序的速度与效率
D、希尔排序是一种十分稳定的算法

正确答案:AC

多选题

15、关于下列代码描述正确的有哪些?()
void sort(vector<int>& nums)
{
for(int i=0;i<nums.size();i++)
for(int j=i;j<nums.size();j++)
{
if(nums[j]<nums[i])
{
int temp=nums[i];
nums[i]=nums[j];nums[j]=temp;
}
}
}

A、这是插入排序
B、这是冒泡排序
C、空间复杂度为O(1)
D、时间复杂度为O(n^2)

正确答案:BCD

多选题

16、下面关于文件系统,描述不正确的是?()

A、进程终止后,这个进程所打开的文件也会被系统删除
B、删除一个文件,同时会删除与此文件对应的文件控制块
C、一个文件在磁盘上存放的磁盘块必须是相邻的
D、符号连接所连接的文件被删除后,符号连接也会消失

正确答案:ACD

多选题

17、下面关于排序算法描述正确的是()

A、冒泡排序的最好情况和最坏情况时间复杂度一样
B、归并排序的最好情况和最坏情况时间复杂度一样
C、选择排序的最好情况和最坏情况时间复杂度不一样
D、直接插入排序的最好情况和最坏情况时间复杂度不一样

正确答案:BD

多选题

18、关于操作系统分段机制描述正确的是( )

A、数据段存放程序中的静态变量和已初始化且不为零的全局变量
B、代码段存放可执行文件的操作指令,代码段是只读的,不可进行写操作
C、BSS段( Block Started By Symbol):存放未初始化的全局变量,在变量使用前由运行时初始化为零
D、分段是为了提高内存利用率,减少内存碎片

正确答案:ABCD

多选题

19、关于以下说法错误的是()

A、数组逻辑上相邻的元素在物理存储位置上也相邻,而链表一定不相邻
B、链表的长度是按实际需要可以伸缩,而数组的长度是在定义时要给定
C、插入和删除时,数组平均需要移动n/2个元素,而链表只需修改指针即可
D、查找制定节点,数组和链表平均时间复杂度都为O(1)

正确答案:AD

多选题

20、关于虚拟内存的描述正确的是: ( )

A、虚拟内存是计算机系统内存管理的一种技术,使得应用程序认为它拥有连续可用的内存
B、虚拟内存使得多个应用程序之间切换会花费更少的时间
C、实现进程地址空间隔离
D、虚拟内存和物理内存的映射通过页表(page table)来实现

正确答案:ACD

多选题

21、如何撤销数据库中已经存在的表X

A、DELETE TABLE X
B、DELETE X
C、DROP X
D、DROP TABLE X

正确答案:D

多选题

22、项目表中虽然设置索引,但是效果不是很明显,问题可能是()

A、where中索引列有运算
B、OR语句前后有同时使用索引
C、复合索引未使用左列字段
D、没有以“%”开头的LIKE语句,模糊匹配

正确答案:AC

多选题

23、下列说法错误的有?

A、数组是一种对象
B、数组属于一种原生类
C、int number=[]={31,23,33,43,35,63}
D、数组的大小可以任意改变

正确答案:BCD

多选题

24、以下关于对象序列化描述正确的是?

A、使用FileOutputStream可以将对象进行传输
B、使用PrintWriter可以将对象进行传输
C、使用ObjectOutputStream类完成对象存储,使用ObjectInputStream类完成对象读取
D、对象序列化的所属类需要实现Serializable接口

正确答案:CD

多选题

25、关于同步异步,阻塞与非阻塞的说法, 以下正确的是

A、同步和异步关注的是消息通信机制
B、阻塞和非阻塞关注的是程序在等待调用结果时的状态
C、异步操作后, 可以不使用回调函数来获取操作结果
D、非阻塞操作, 必定是异步的

正确答案:ABCD

26、返回所有价格在 3美元到 6美元之间的产品的名称和价格

有表Products
在这里插入图片描述

【问题】编写 SQL 语句,返回所有价格在 3美元到 6美元之间的产品的名称(prod_name)和价格(prod_price),使用 AND操作符,然后按价格对结果进行升序排序
【示例结果】
返回商品名称prod_name和商品价格prod_price
prod_name
prod_price
egg	3
sockets	4

注:不需要考虑价格相同时的排序问题
A、select prod_name,prod_pricefrom Products where prod_price between 3 and 6 order by prod_price
B、select prod_name,prod_price from Products where prod_price between 3 and 6 order by prod_price desc
C、select * from Products where prod_price between 3 and 6 order by prod_price desc
D、select *from Products where prod_price < 3 and prod_price > 6 order by prod_price desc

正确答案:A

二、编程题

27、农场主大明开始用无人机给他的农田施肥,农田共有 nn 行,无人机携带了 mm 千克肥料。无人机的施肥方式为:

给第 11 行施 11 千克肥料;

给第 22 行施 11 千克肥料;

给第 n-1n−1 行施 11 千克肥料;

给第 nn 行施 11 千克肥料;

然后更改方向给第 n-1n−1 行施 11 千克肥料;

给第 n-2n−2 行施 11 千克肥料;

即每次给整个农田施一遍肥料,无人机就会自动更改方向继续施肥直到无人机携带的肥料用完位置。

现在大明想知道每行最终施了多少肥料。

函数传入两个正整数 nn 和 mm 分别代表农田的行数和无人机携带的肥料数,你需要返回一个数组,假设数组为 aa ,则 a_{i}a i​
表示第 i+1i+1 行农田被灌溉了 a_{i}a i
千克的肥料 (0 \leq i \leq n-1)(0≤i≤n−1) 。
(施肥前每一行都是0)

最后

小编综合了阿里的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

虽只说了一个公司的面试,但我们可以知道大厂关注的东西并举一反三,通过一个知识点延伸到另一个知识点,这是我们要掌握的学习方法,小伙伴们在这篇有学到的请评论点赞转发告诉小编哦,谢谢大家的支持!

  • 24
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值