IT技术岗笔试题目及详细参考答案(完整版)_第1页
IT技术岗笔试题目及详细参考答案(完整版)_第2页
IT技术岗笔试题目及详细参考答案(完整版)_第3页
IT技术岗笔试题目及详细参考答案(完整版)_第4页
IT技术岗笔试题目及详细参考答案(完整版)_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IT技术岗通用笔试题目及详细参考答案(完整版)适用岗位:后端开发、IT研发、技术运维、软件开发通用岗位题型:选择题、填空题、简答题、编程题、实操应用题说明:题目贴合企业真实笔试场景,侧重基础能力、实操理解与工程思维,无偏题怪题,答案通俗易懂、细节详实。一、单项选择题(共10题,每题2分,共20分)1.以下不属于面向对象三大核心特性的是()A.封装B.继承C.多态D.重载答案:D解析:面向对象三大核心特性为封装、继承、多态。重载是一种语法特性,是实现多态的方式之一,不属于核心特性。2.HTTP协议中,状态码403的含义是()A.页面不存在B.权限禁止访问C.服务器内部错误D.请求超时答案:B解析:404代表资源不存在,403代表服务器拒绝授权访问,500代表服务器内部异常,408代表请求超时。3.MySQL中,以下索引查询效率最高、占用空间最小的是()A.全文索引B.主键索引C.普通索引D.联合索引答案:B解析:主键索引唯一且非空,InnoDB引擎下主键索引为聚簇索引,数据和索引绑定,查询无需二次回表,效率远高于其他索引。4.Linux系统中,查看当前系统所有进程的命令是()A.lsB.ps-efC.cdD.mkdir答案:B解析:ls用于查看目录文件,cd切换目录,mkdir创建文件夹,ps-ef为查看系统全部进程的常用命令。5.Java中,以下关于String类说法正确的是()A.String对象是可变的B.String可以被继承C.String底层是字符数组(JDK1.8及以前)D.String拼接效率高于StringBuilder答案:C解析:String被final修饰,不可变、不可被继承;普通String拼接会产生大量中间对象,效率远低于StringBuilder。6.TCP协议和UDP协议的核心区别,说法错误的是()A.TCP面向连接,UDP无连接B.TCP可靠传输,UDP不可靠传输C.TCP传输速度更快D.UDP开销更小、实时性更强答案:C解析:TCP需要三次握手、确认应答、重传机制,开销大、速度慢;UDP无需建立连接,传输速度更快,常用于直播、游戏场景。7.操作系统中,进程和线程的关系说法正确的是()A.线程是资源分配的最小单位B.进程是调度执行的最小单位C.一个进程可包含多个线程D.线程拥有独立的内存空间答案:C解析:进程是资源分配的最小单位,线程是CPU调度的最小单位;同一进程下的线程共享进程内存资源,无独立内存空间。8.以下不属于Java集合框架的类是()A.ArrayListB.HashMapC.StringD.LinkedList答案:C解析:String是字符串类,不属于集合;ArrayList、LinkedList属于List集合,HashMap属于Map集合。9.MySQL中,用于去除查询结果重复数据的关键字是()A.distinctB.groupbyC.orderbyD.limit答案:A解析:distinct专门用于去重;groupby用于分组统计,orderby用于排序,limit用于限制查询条数。10.以下哪种排序算法时间复杂度最优(平均情况)()A.冒泡排序B.快速排序C.选择排序D.插入排序答案:B解析:冒泡、选择、插入排序平均时间复杂度均为O(n²);快速排序平均时间复杂度为O(nlogn),是工程中最常用的高效排序算法。二、填空题(共5题,每题3分,共15分)1.TCP建立连接需要________次握手,断开连接需要________次挥手。答案:三、四2.Java中基本数据类型一共有________种,其中浮点类型包括float和________。答案:8、double3.MySQL事务的四大特性简称ACID,分别是原子性、________、________、持久性。答案:一致性、隔离性4.Linux中强制终止进程的命令是________。答案:kill-95.线程的五大状态分别为新建、就绪、________、阻塞、终止。答案:运行三、简答题(共5题,每题7分,共35分)1.简述TCP三次握手的过程,以及为什么需要三次握手,不能两次?参考答案:三次握手完整过程:第一次握手:客户端向服务端发送SYN报文,请求建立连接,客户端进入就绪状态;第二次握手:服务端收到SYN报文后,返回SYN+ACK报文,确认客户端请求,同时向客户端发起连接请求,服务端进入就绪状态;第三次握手:客户端收到服务端报文后,返回ACK确认报文,服务端收到后,双方连接正式建立。不能两次握手的原因:两次握手只能保证服务端收到了客户端的请求,无法保证客户端收到服务端的确认报文。如果网络延迟导致客户端重复发送请求,两次握手会让服务端建立无效连接,浪费资源;三次握手可以双向校验双方收发能力,确保连接可靠。2.简述Java中ArrayList和LinkedList的区别及适用场景参考答案:1、底层结构:ArrayList基于动态数组实现,LinkedList基于双向链表实现;2、查询效率:ArrayList支持随机访问,通过下标查询速度极快;LinkedList只能从头节点遍历查询,效率低;3、增删效率:ArrayList增删元素需要移动数组元素,效率较低;LinkedList只需修改节点指针,增删效率更高;4、内存占用:ArrayList内存连续,存在一定冗余空间;LinkedList每个节点包含指针,内存占用更高。适用场景:频繁查询、遍历场景用ArrayList;频繁新增、删除元素的场景用LinkedList。3.简述MySQL索引的优缺点参考答案:优点:1、大幅提升查询、检索数据的效率,减少数据库全表扫描;2、可以通过唯一索引保证数据表数据的唯一性;3、可以加速表与表之间的关联查询,提升联表查询性能;4、可以快速排序、分组,降低数据库排序开销。缺点:1、索引需要单独存储,占用磁盘空间;2、增加数据写入、更新、删除的开销,数据变动时需要同步更新索引;3、过多索引会导致索引维护成本过高,降低数据库写入性能。4.简述进程和线程的核心区别参考答案:1、资源层面:进程是操作系统资源分配的最小单位,每个进程有独立的内存、CPU资源;线程共享所属进程的所有资源,无独立资源;2、调度层面:线程是CPU调度和执行的最小单位,调度开销远小于进程;3、独立性:进程之间完全独立,一个进程崩溃不会影响其他进程;线程相互依赖,一个线程异常崩溃,会导致整个进程终止;4、开销:进程创建、销毁、切换开销极大;线程开销小、响应速度快;5、通信方式:进程间通信复杂,线程间可直接共享数据通信。5.简述HTTP和HTTPS的区别参考答案:1、端口不同:HTTP默认80端口,HTTPS默认443端口;2、安全性:HTTP是明文传输,数据无加密,容易被窃取、篡改;HTTPS基于SSL/TLS加密传输,数据安全可靠;3、协议层级:HTTP属于应用层协议;HTTPS是HTTP+SSL/TLS的组合协议;4、性能:HTTP无加密解密开销,速度更快;HTTPS需要加密、校验、证书验证,存在一定性能损耗;5、证书要求:HTTP无需证书;HTTPS需要CA机构颁发的安全证书。四、编程题(共1题,15分)题目:使用Java语言编写程序,实现冒泡排序,对整型数组进行从小到大排序,并输出排序前后的数组结果。参考答案代码:java

publicclassBubbleSort{

publicstaticvoidmain(String[]args){

//定义待排序数组

int[]arr={35,12,48,5,22,9};

System.out.println("排序前数组:");

printArray(arr);

//冒泡排序核心逻辑

//外层循环控制排序轮数

for(inti=0;i<arr.length-1;i++){

//内层循环控制每轮比较次数

for(intj=0;j<arr.length-1-i;j++){

//前一个数大于后一个数则交换

if(arr[j]>arr[j+1]){

inttemp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}

System.out.println("排序后数组:");

printArray(arr);

}

//遍历打印数组方法

publicstaticvoidprintArray(int[]arr){

for(intnum:arr){

System.out.print(num+"");

}

System.out.println();

}

}代码解析:1、冒泡排序核心思路:相邻两个元素两两比较,逆序则交换,每一轮排序后,当前最大元素会沉到数组末尾;2、外层循环控制总轮数,n个元素最多需要n-1轮排序;3、内层循环每轮减少一次比较,避免重复对比已排序的末尾元素,优化执行效率;4、通过工具方法遍历打印数组,代码简洁易复用。五、实操应用题(共1题,15分)题目:现有一张用户表user,包含字段:id(主键)、username(用户名)、age(年龄)、gender(性别)、create_time(创建时间)。请写出对应的SQL语句,实现以下需求:1、查询所有年龄大于20岁的男性用户;2、根据用户名模糊查询包含“张”的所有用户;3、统计所有用户的总人数;4、将id为10的用户年龄修改为25岁;5、删除id为15的用户数据。参考答案SQL:1、查询年龄大于20岁的男性用户sql

SELECT*FROMuserWHEREage>20ANDgender='男';2、模糊查询用户名含“张”的用户sql

SELECT*FROMuserWHEREusernameLIKE'%张%';3、统计用户总人数sql

SELECTCOUNT(*)ASuser_totalFROMuser;4、修改id为10的用户年龄为2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论