版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Web后端开发笔试真题及详细答案(企业实战版)适用岗位:Java/Python/PHPWeb后端开发(通用版)适用场景:校招、初级社招笔试,题型包含选择题、填空题、简答题、数据库题、编程实操题,贴合企业真实考核重点,无偏题怪题。一、单项选择题(共10题,每题3分,共30分)1.HTTP协议中,下列请求方法幂等的是()A.POSTB.GETC.PATCHD.以上都不是答案:B解析:幂等性指一次和多次请求服务器,最终效果一致。GET、PUT、DELETE均为幂等方法;POST非幂等,多次提交会产生多条数据;PATCH用于局部更新,非标准幂等。2.TCP协议中,用于断开连接的四次挥手,主动关闭方发送最后一个报文的状态是()答案:A3.MySQL中,以下索引查询效率最高的是()A.普通索引B.主键索引C.唯一索引D.全文索引答案:B解析:主键索引是聚簇索引,数据和索引绑定存储,查询可直接定位数据;普通索引、唯一索引为二级索引,需要回表查询,速度慢于主键索引。4.下列关于Cookie和Session的说法,错误的是()A.Cookie存储在客户端浏览器B.Session存储在服务端C.Session依赖Cookie传递SessionIDD.Cookie数据默认没有大小限制答案:D解析:单个Cookie最大容量约4KB,单个域名下Cookie数量有限制,并非无限制;其余选项均为两者核心特性。5.Redis中,不能实现持久化的方式是()A.RDBB.AOFC.内存快照D.定时缓存答案:D解析:Redis持久化分为RDB(内存快照、定时全量持久化)和AOF(增量日志持久化);定时缓存不属于持久化机制,重启后数据丢失。6.接口跨域请求中,浏览器拦截跨域请求的核心原因是()A.服务器端口不匹配B.同源策略限制C.请求参数不合法D.网络端口拦截答案:B解析:浏览器同源策略规定,协议、域名、端口任一不同,即为跨域,浏览器会拦截响应,保障客户端数据安全。7.下列SQL语句中,能够去除重复数据的关键字是()A.DISTINCTB.UNIQUEC.GROUPBYD.ORDERBY答案:A解析:DISTINCT用于查询结果去重;UNIQUE是字段约束,禁止字段重复;GROUPBY用于分组统计;ORDERBY仅用于排序。8.线程和进程的核心区别,说法正确的是()A.线程是资源分配最小单位B.进程是调度执行最小单位C.线程共享进程资源D.进程间可以直接通信答案:C解析:进程是资源分配最小单位,线程是调度执行最小单位;同一进程内的线程共享堆、全局变量等资源;进程间需通过管道、socket等方式间接通信。9.下列缓存淘汰策略中,Redis默认使用的是()A.LFUB.LRUC.volatile-lruD.allkeys-lru答案:C解析:Redis默认淘汰策略为volatile-lru,仅对设置了过期时间的key使用LRU淘汰;allkeys-lru是全局LRU淘汰,需手动配置。10.防止SQL注入最根本有效的方式是()A.过滤特殊字符B.使用预编译语句C.关闭数据库权限D.限制请求频率答案:B解析:预编译语句(PreparedStatement)将SQL结构和参数分离,参数仅作为值传递,无法拼接恶意SQL,从根源杜绝注入;字符过滤存在绕过风险。二、填空题(共5题,每题4分,共20分)1.HTTP1.1默认使用________连接,解决了HTTP1.0每次请求建立新连接的性能问题。答案:长(持久)2.MySQL事务的四大特性分别是原子性、________、隔离性、持久性。答案:一致性3.解决分布式系统中Session共享问题的常用方案是________。答案:Redis统一存储Session(Token无状态认证亦可)4.链表和数组相比,________的插入、删除效率更高,________的随机访问效率更高。答案:链表、数组5.Nginx常用的反向代理、负载均衡调度算法中,默认是________。答案:轮询三、简答题(共4题,每题6分,共24分)1.简述GET和POST请求的核心区别?参考答案:(1)参数位置:GET参数拼接在URL地址栏,POST参数放在请求体中;(2)幂等性:GET是幂等请求,多次请求结果一致;POST非幂等,多次提交可能产生重复数据;(3)数据限制:GET有URL长度限制,无法传输大量数据;POST无明显数据大小限制,适合上传文件、提交表单;(4)安全性:GET参数暴露在地址栏,安全性低;POST参数隐藏在请求体,相对安全;(5)缓存机制:GET请求默认可被浏览器缓存,POST默认不缓存。2.简述MySQL索引失效的常见场景?参考答案:(1)索引字段使用函数、运算操作,如wheredate(create_time)='2026-09-22';(2)模糊查询以%开头,如like'%测试';(3)使用!=、<>、notin、isnotnull等查询条件;(4)字符串字段未加引号,发生隐式类型转换;(5)联合索引不遵循最左前缀原则;(6)MySQL优化器判断全表扫描效率更高,主动放弃索引。3.什么是死锁?产生死锁的四个必要条件是什么?如何避免死锁?参考答案:死锁定义:多个线程互相持有对方需要的资源,同时等待对方释放资源,导致所有线程永久阻塞,无法执行。四大必要条件:(1)互斥条件:资源同一时间仅能被一个线程占用;(2)请求与保持:线程持有已有资源,同时请求新资源;(3)不可剥夺:已持有资源不能被其他线程强制抢占;(4)循环等待:多个线程形成资源等待闭环。避免方案:统一资源获取顺序、设置锁超时时间、减少锁持有时间、使用乐观锁替代悲观锁。4.简述Redis缓存穿透、缓存击穿、缓存雪崩的区别及解决方案?参考答案:(1)缓存穿透:查询不存在的数据,请求直接穿透到数据库,缓存无数据拦截。解决方案:接口参数校验、空值缓存、布隆过滤器过滤无效key。(2)缓存击穿:热点key过期瞬间,大量并发请求直接访问数据库。解决方案:热点key永不过期、加互斥锁、预热热点数据。(3)缓存雪崩:大量key同时过期或Redis宕机,所有请求直达数据库,导致数据库压力过载。解决方案:过期时间随机打散、Redis集群高可用、多级缓存、服务熔断降级。四、数据库实操题(共1题,8分)现有用户表user(id、username、phone、create_time)、订单表order(id、user_id、order_no、amount、status、create_time)需求:编写SQL语句,查询2026年9月所有下单用户的用户名、手机号、订单编号、订单金额,按订单创建时间倒序排序参考答案:sql
SELECT
u.username,
u.phone,
o.order_no,
o.amount
FROM
useru
INNERJOIN
`order`oONu.id=o.user_id
WHERE
o.create_timeBETWEEN'2026-09-0100:00:00'AND'2026-09-3023:59:59'
ORDERBY
o.create_timeDESC;关键说明:order是MySQL关键字,需用反引号包裹;使用内连接匹配有订单的用户,精准匹配时间区间,避免数据遗漏。五、编程逻辑题(共1题,10分)题目:编写一段代码,实现接口请求频率限制,同一IP1分钟内最多请求100次,超出则拒绝请求(伪代码/Java/Python均可)解题思路:基于Redis+过期时间实现,以IP为key,请求次数为value,每次请求自增,设置1分钟过期时间,判断次数阈值。Python参考代码:python
importredis
#连接Redis
r=redis.Redis(host='',port=6379,db=0,decode_responses=True)
defcheck_request_freq(ip):
#拼接key
key=f"req_freq:{ip}"
#次数自增
count=r.incr(key)
#首次请求设置1分钟过期时间
ifcount==1:
r.expire(key,60)
#判断阈值
ifcount>100:
returnFalse,"1分钟内请求次数超限,请稍后重试"
returnTrue,"请求正常"
#调用测试
if__name__=="__main__":
res,msg=check_request_freq("")
print(res,msg)六、综合应用题(共1题,8分)题目:简述Web接口从客户端发起请求到服务器响应的完整流程(包含网络、服务、数据层)参考答案:1.客户端层:浏览器/客户端组装HTTP请求报文,携带请求方式、URL、参数、请求头、Cookie等信息,通过DNS域名解析获取服务器IP地址。2.网络传输层:客户端与服务器通过TCP三次挥手建立连接,请求数据通过网络路由传输至服务器,经过防火墙、Nginx反向代理。3.服务网关层:Nginx完成负载均衡、路由转发、跨域处理、请求过滤,将请求分发到对应后端服务实例。4.业务服务层:后端服务接收请求,完成参数校验、身份认证、权限校验,执行对应业务逻辑。5.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 报关述职课件
- gsp培训试题及答案
- 2026年天津专业技术人员继续教育公需课考试-人工智能通识
- 2026年高级工业机器人系统运维员职业资格考试题库及参考答案
- 2026年安全生产月知识竞赛题库含完-整答案(有一套)
- 办公室设计总结课件
- 2025年授权签字人试题及答案
- 2025年新员工三级安全教育考试试卷及答案
- 办公室主题课件
- 2026版应激性溃疡防治指南
- 中小学楷书书写规范教学
- 检验检测机构法律法规政策培训测试题及答案
- 5.1.3小数乘法(课件)(共20张)西师大版(新教材)五年级上册
- 2025年上半年CATTI三级笔译实务真题详解(含参考译文)
- 2026年甘肃省兰州新区商贸物流投资集团数投公司大数据专业技术人员招聘10人笔试备考试题及答案详解
- 2026公安联考笔试真题题库及标准答案(公安专业科目完整版)
- 2026年吉林大学中日联谊医院专业技术系列人员招聘笔试参考题库及答案详解
- 护理副高职称评审答辩自我介绍模板
- 2026年陕西省基层法律工作者题库及答案
- 病因考试试题及答案
- 中国国新招聘笔试
评论
0/150
提交评论