版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
后端程序基础开发入门题库及答案1.解释HTTP协议中GET和POST方法的主要区别GET方法通过URL参数传递数据,数据会显示在地址栏中,长度受限于浏览器/服务器限制(通常约2KB),适合获取资源;POST方法通过请求体传递数据,数据不会暴露在URL中,理论上无长度限制,适合提交表单或上传文件。此外,GET请求会被浏览器缓存,POST默认不缓存;GET幂等(多次请求结果相同),POST可能非幂等(如提交订单)。2.描述MySQL中索引的作用及常见类型索引通过快速定位数据行减少全表扫描,提升查询效率。常见类型包括:主键索引(PRIMARYKEY):唯一标识记录,自动创建,基于B+树;唯一索引(UNIQUE):保证列值唯一,允许多个NULL(视引擎而定);普通索引(INDEX):无唯一性约束,加速查询;复合索引(多列索引):按最左匹配原则生效,如索引(a,b,c)可用于查询a、a+b、a+b+c;全文索引(FULLTEXT):用于文本内容的模糊搜索(仅MyISAM和InnoDB支持)。需注意:索引会增加写操作(INSERT/UPDATE/DELETE)的开销,应仅在高频查询列上创建,避免过度索引。3.什么是面向对象编程的三大特性?分别举例说明三大特性为封装、继承、多态:封装:将数据和操作绑定,隐藏内部实现,仅暴露接口。例如Java中用private修饰类属性,通过public的getter/setter方法访问;继承:子类继承父类的属性和方法,可扩展新功能。如定义Animal父类有eat()方法,Dog子类继承后添加bark()方法;多态:同一方法在不同对象有不同实现。如父类Animal声明抽象方法sound(),子类Dog实现为“汪汪”,Cat实现为“喵喵”,调用时通过父类引用指向子类对象(Animala=newDog();a.sound())触发不同行为。4.简述TCP三次握手的过程及作用三次握手用于建立TCP连接,确保双方通信能力正常:客户端发送SYN=1,随机序列号x(SYN包);服务器回复SYN=1,ACK=x+1,随机序列号y(SYN+ACK包);客户端发送ACK=y+1(ACK包)。作用:确认双方的发送和接收能力(客户端能发能收,服务器能发能收),防止失效的连接请求干扰当前连接。5.解释MySQL事务的ACID特性ACID是事务的四个基本特性:原子性(Atomicity):事务中的操作要么全部完成,要么全部回滚,无中间状态。如转账操作中扣款和入账必须同时成功或失败;一致性(Consistency):事务执行前后数据库状态保持一致。例如账户总金额在转账前后不变;隔离性(Isolation):多个事务并发执行时,彼此互不干扰。通过锁或MVCC(多版本并发控制)实现,隔离级别包括读未提交、读已提交、可重复读(默认)、串行化;持久性(Durability):事务提交后,数据修改永久保存,即使系统崩溃也可通过日志(如redolog)恢复。6.什么是SQL注入?如何防范?SQL注入是通过将恶意SQL代码插入输入参数,欺骗服务器执行非预期SQL的攻击方式。例如用户输入用户名时填写“'OR'1'='1”,可能导致查询变为“SELECTFROMuserWHEREusername=''OR'1'='1'”,返回所有用户数据。SQL注入是通过将恶意SQL代码插入输入参数,欺骗服务器执行非预期SQL的攻击方式。例如用户输入用户名时填写“'OR'1'='1”,可能导致查询变为“SELECTFROMuserWHEREusername=''OR'1'='1'”,返回所有用户数据。防范方法:使用预编译语句(PreparedStatement),参数化查询,避免直接拼接SQL;对用户输入进行严格校验(类型、长度、特殊字符过滤);最小化数据库权限,应用账户仅授予必要操作权限;转义特殊字符(如将单引号转义为两个单引号)。7.描述Java中异常处理的try-catch-finally结构及执行顺序try块包裹可能抛出异常的代码;catch块捕获特定类型异常并处理;finally块包含无论是否发生异常都需执行的代码(如资源释放)。执行顺序:若try内无异常:执行try→finally;若try内有异常且被catch捕获:执行try(到异常处停止)→对应catch→finally;若try内有异常但未被catch捕获:执行try(到异常处停止)→finally→抛出异常给上层调用者。注意:finally块中避免使用return,可能覆盖try/catch中的返回值。8.简述Redis的常见数据类型及适用场景Redis支持以下数据类型:String(字符串):存储单个值,如缓存用户信息(key=user:1001,value=JSON字符串);Hash(哈希):存储字段-值对,适合对象属性(如用户详情:hsetuser:1001name"张三"age25);List(列表):有序可重复,用于队列(lpush/rpop实现FIFO)或栈(lpush/lpop);Set(集合):无序唯一,适合去重场景(如记录用户点赞的文章ID);SortedSet(有序集合):通过score排序的唯一元素,用于排行榜(如用户积分zaddrank100"userA");Bitmap(位图):按位存储布尔值,统计活跃用户(如用日期为key,位位置为用户ID,1表示活跃);HyperLogLog(基数统计):近似计算集合元素数量(如统计页面UV,误差率约0.81%)。9.什么是MVC模式?各组件的职责分别是什么?MVC(模型-视图-控制器)是分层架构模式:Model(模型):处理业务逻辑和数据,负责数据存储、计算、验证等(如数据库操作、业务规则);View(视图):展示数据给用户,负责界面渲染(如HTML模板、前端页面);Controller(控制器):接收用户请求,调用Model处理业务,将结果传递给View。例如用户提交登录表单,Controller获取用户名密码→调用Model验证→Model查询数据库返回结果→Controller将结果传递给View,View渲染登录成功/失败页面。10.解释Java中接口(Interface)和抽象类(AbstractClass)的区别核心区别在于设计目的:接口:定义行为规范,无构造方法,所有方法默认publicabstract(Java8前),Java8后支持default方法;类可实现多个接口,适合“拥有某种能力”(如Comparable接口定义比较能力);抽象类:定义模板,可包含构造方法、具体方法、抽象方法;类只能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新产品市场定位与推广方案
- 市场竞争公正性承诺书6篇
- 纯种动物繁育保护承诺书5篇
- 《信息技术与我们的生活》-第二章
- 2025-2026学年太空讲课教案模板
- 教学材料《AutoCAD制图教程》-项目五
- 教学材料《虚拟现实》-第1章
- 2025-2026学年摄影灯光认识教学设计
- 2025-2026学年疯狂猴子教学游戏设计
- 第五节 能源与环境教学设计初中物理鲁科版五四学制九年级下册-鲁科版五四学制2012
- 2025年四川省成都市青羊区中考二诊化学试题(原卷版+解析版)
- 医疗健康信息系统中的政务信息化建设
- 小学生我的梦想课件
- 部编人教版8年级下册历史全册
- 项目式学习在小学数学教学中的应用
- 外墙真石漆施工工艺流程
- 中国财政科学研究院招考聘用高频考题难、易错点模拟试题(共500题)附带答案详解
- 危重症患者体位管理策略
- 信纸(A4横条直接打印版)
- 海伦公式与三角形面积的综合题
- 资产评估学教程(第八版)习题及答案 乔志敏
评论
0/150
提交评论