版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
BS架构高频面试题及详细答案(实战版)一、基础概念类(入门高频)1、什么是BS架构?核心组成是什么?参考答案:BS架构全称是浏览器/服务器架构(Browser/Server),是目前互联网系统最主流的架构模式。简单来说,就是用户不需要安装专属客户端,只需要通过电脑、手机的浏览器,就能访问部署在服务器上的系统,所有核心业务逻辑、数据存储、运算处理都在服务端完成。核心组成分为三部分:1.客户端:通用浏览器(Chrome、Edge、微信内置浏览器等),只负责页面展示和简单交互;2.服务端:应用服务器(处理业务逻辑、接口请求);3.数据端:数据库服务器(存储、管理系统所有业务数据)。2、BS架构和CS架构的核心区别是什么?(必考题)参考答案:CS架构是客户端/服务器架构(Client/Server),比如传统的桌面软件、ERP客户端、游戏客户端,和BS架构的核心差异集中在部署、维护、适配、体验四个维度:1.部署方式:BS无需安装客户端,浏览器直接访问;CS必须在每台设备安装专属客户端程序;2.维护升级:BS所有更新、bug修复只需要更新服务器代码,用户无感知;CS每次迭代都需要全员重新安装或升级客户端,维护成本极高;3.跨平台性:BS只要有浏览器就能用,支持Windows、Mac、移动端,跨平台能力极强;CS需要针对不同系统单独开发适配版本;4.性能体验:BS重度运算依赖服务端,网络波动时会卡顿,本地交互能力弱;CS部分逻辑在本地客户端运行,响应速度更快,离线使用、复杂操作体验更好;5.安全性:BS基于网络访问,暴露端口多,相对容易被攻击;CS内网部署居多,封闭性更强,安全性更高。3、BS架构的工作流程是什么?参考答案:整体是典型的请求-响应模式,流程固定:1.用户通过浏览器输入地址、点击操作,发起HTTP/HTTPS请求;2.请求经过网络传输,到达后端应用服务器;3.服务器接收请求,校验权限、参数,执行对应的业务逻辑;4.业务逻辑需要读写数据时,服务器访问数据库,完成数据查询、新增、修改、删除操作;5.服务器将处理结果封装成数据或页面,返回给浏览器;6.浏览器解析数据、渲染页面,展示最终效果给用户。二、原理与特性类(进阶面试)4、BS架构为什么属于三层架构?三层分别指什么?参考答案:标准BS系统均采用三层架构,分层的核心目的是解耦,让展示、业务、数据逻辑分离,方便开发和维护,三层具体为:1.表现层(前端层):对应浏览器端,负责页面渲染、用户交互、参数收集、简单的页面校验,不处理核心业务;2.业务逻辑层(服务层):对应后端服务器,是系统核心,负责权限校验、业务规则判断、流程处理、调用数据层接口;3.数据访问层:对应数据库,只负责数据的增删改查,不参与任何业务逻辑判断。分层后如果后续需要修改页面样式,只改表现层;修改业务规则,只改服务层,互不影响,迭代效率更高。5、BS架构的优缺点分别是什么?参考答案:优点:1.部署简单、零客户端成本,用户无需安装配置,上手即用;2.维护迭代便捷,所有更新仅需服务端发布,无需用户操作;3.跨平台、跨设备,电脑、手机、平板均可访问,适配性广;4.扩展性强,服务端可集群部署、扩容,支持大量用户同时访问;5.数据集中存储在服务器,方便统一备份、管控,不易丢失。缺点:1.极度依赖网络,断网、弱网环境下无法使用,网络延迟会直接影响操作体验;2.所有运算压力集中在服务端,高并发场景下对服务器性能要求高;3.前端功能受浏览器限制,复杂的图形处理、离线操作、硬件调用功能实现难度大;4.公开访问场景多,接口、数据暴露风险高,安全防护成本更高。6、BS架构中,前端和后端的交互原理是什么?参考答案:前后端基于HTTP/HTTPS协议进行交互,采用无状态的请求响应模式。前端主要负责触发请求,比如表单提交、按钮点击、页面加载,通过AJAX、Fetch等方式向后端传递参数,参数格式一般为JSON、表单格式。后端接收请求后,通过接口路由匹配对应的业务方法,完成权限校验、业务处理、数据查询后,统一返回固定格式的JSON数据,包含状态码、提示信息、业务数据。前端拿到返回数据后,渲染页面、弹出提示、跳转页面,完成一次交互。核心特点是服务器不保存用户状态,每次请求都是独立的,用户登录、状态保持需要依靠Cookie、Session、Token实现。三、实战场景类(面试加分题)7、BS架构系统高并发卡顿,大概率是什么原因?怎么排查?参考答案:BS系统卡顿核心原因基本集中在网络、服务端、数据库、前端四个层面,排查思路从易到难:1.网络层面:排查用户带宽、网络延迟,静态资源(图片、JS、CSS)未压缩、未CDN加速,会导致页面加载慢;2.前端层面:页面接口请求过多、重复请求、大数据量一次性渲染、未做分页懒加载,导致浏览器渲染卡顿;3.服务端层面:接口逻辑冗余、代码效率低、线程阻塞、服务器配置不足、未做集群负载均衡,高并发下请求堆积;4.数据库层面:最常见原因,数据表无索引、SQL语句低效、查询锁表、数据库连接池耗尽,导致数据查询超时,接口响应缓慢。常规优化方案:前端做懒加载、资源压缩;后端优化代码、加集群;数据库建索引、优化SQL、分库分表。8、BS架构如何解决用户登录状态保持问题?参考答案:因为BS架构的HTTP协议是无状态的,每次请求都不会记录用户信息,所以需要手动维护登录状态,主流三种方式:1.Cookie+Session(传统方案):用户登录成功后,服务端生成Session存储用户信息,同时向浏览器写入Cookie,保存SessionID。后续每次请求,浏览器自动携带Cookie,服务端通过SessionID匹配用户信息,实现状态保持,适合后台管理系统;2.Token令牌(主流前后端分离方案):登录成功后,服务端生成加密Token返回前端,前端存储在本地。后续所有请求在请求头携带Token,服务端解密校验身份,无服务端存储压力,适合移动端、互联网项目;3.本地存储辅助:通过localStorage、sessionStorage存储用户基础信息,配合Token实现页面状态展示,不做身份校验,仅优化交互体验。9、前后端分离的BS架构和传统BS架构有什么区别?参考答案:1.传统BS架构(服务端渲染):页面由后端模板渲染,比如JSP、Thymeleaf。后端直接拼接HTML页面返回给浏览器,前端只负责展示,前后端代码耦合在一起,开发、维护、迭代相互影响,现在基本只用于老旧系统;2.前后端分离BS架构(主流):前端独立开发、独立部署,负责页面渲染和交互;后端只提供API接口,专注业务逻辑和数据处理。前后端通过JSON接口对接,完全解耦,团队可以并行开发,迭代速度更快,适配多端(电脑、手机、小程序)更灵活。10、BS架构系统的安全漏洞主要有哪些?怎么防护?参考答案:BS系统暴露在网络中,常见安全问题及防护方案:1.SQL注入:用户恶意输入拼接SQL,窃取、篡改数据。防护:使用预编译语句、参数化查询,禁止直接拼接SQL;2.XSS跨站脚本攻击:注入恶意JS代码,窃取用户信息。防护:前端后端双重过滤特殊字符,对内容转义,开启CSP防护;3.CSRF跨站请求伪造:盗用用户身份发起非法请求。防护:添加请求令牌、校验请求来源域名;4.接口越权:用户通过修改参数,访问无权查看的数据。防护:服务端每一次接口请求都做权限校验,不依赖前端控制;5.弱密码、会话泄露:防护:设置密码复杂度、定期过期,Token设置有效期,禁止明文传输数据,全站使用HTTPS。四、综合面试题(压轴问答)11、什么样的业务场景适合用BS架构,什么样的不适合?参考答案:适合BS架构的场景:1.多用户、跨地域访问的系统,比如OA办公、CRM客户管理、电商后台、线上考试系统;2.需要频繁迭代更新、快速上线的业务;3.多设备适配需求,需要电脑、手机均可访问的系统;4.数据需要统一管控、集中存储的业务场景。不适合BS架构的场景:1.离线使用、无网络环境的业务,比如车间离线设备控制系统、本地单机工具;2.超高响应速度、复杂本地运算的场景,比如大型设计软件、3D建模系统、高端游戏;3.极度封闭、内网专用、无需频繁更新的专属系统,这类场景CS架构体验和安全性更好。12、BS架构系统如何实现水平扩容,支撑更多用户访问?参考答案:BS架构的核心扩容方式是水平扩容,整体方案分为三步:1.服务端集群部署:将单台应用服务器,扩展为多台服务器,部署相同的业务代码,统一处理用户请求;2.引入负载均衡:通过Ng
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026下半年高中地理教资面试土壤专项题库
- 行政办公人员会议纪要撰写与归档规范指南
- 商洽广告推广合作费用分摊函4篇范文
- 学生给老师的春节慰问信(10篇)
- 小学三年级班主任教学总结(30篇)
- 光伏电站运维安全技术手册
- 技术创新与研发成果贡献度考核表
- 房地产经纪人市场拓展与业务成交能力绩效评估表
- 贵州省贵阳市南明区2024-2025学年八年级上学期期末生物试题(含答案)
- 湖南省常德市临澧县2025-2026学年七年级上学期期中生物试题(含答案)
- 农村土地承包第二轮到期延包政策深度解读
- 2026苏教版六年级数学上册第四单元第7课时《练习八》教案
- 《2026年12月四级基础词汇表(30天背诵版)》(完整版)
- 品检考核制度
- 高空作业清洁合同范本
- DB42∕T 2226.3-2024 自然资源政务一张图应用规范 第3部分:数据共享交换
- (正式版)DB15∕T 1932-2020 《公路抗凝冰沥青混合料设计与施工技术规范》
- 桡骨茎突狭窄性腱鞘炎22课件
- 《建筑施工技术》课件-第三章 砌筑工程
- 世界毒品报告
- 2025年MySQL数据类型试题及答案
评论
0/150
提交评论