xx公司DDOS技术面试
2022-05-28 19:36:14 0 举报
AI智能生成
xx公司DDOS技术前端面试
作者其他创作
大纲/内容
linux
nodejs
安全方面需要注意的问题
服务可用性
微前端的优劣
基础技术
js/html/css
es6
vuejs
nexttick原理
事件循环
nodejs的 宏任务:
分好几种,而这好几种又有不同的 任务队列,而不同的 任务队列 又有顺序区别,而 微任务是穿插在每一种【注意不是每一个!】宏任务 之间的。
Timers 类型的宏任务队列
setTimeout()
setInterval
Check 类型的宏任务队列
setImmediate()
Close callback 类型的宏任务队列
socket.on(‘close’, () => {})
Poll 类型的宏任务队列
除了上面几种的其他所有回调
浏览器中的事件循环
安全性
安全问题有哪些,原理是什么,怎样防御
xss(跨站点脚本攻击)
原理:在网站上注入恶意的客户端代码,通过恶意脚本对客户端网页进行篡改,从而在用户浏览网页时,对用户浏览器进行控制或者获取用户隐私数据的一种攻击方式。
结果可能是:盗用Cookie破坏页面的正常结构,插入广告等恶意内容D-doss攻击
防御:
①编码:对敏感字符进行转义,才能进行下一步操作,<>、$、'等字符,alert、$
②过滤:onclick等事件、style、script节点、iframe节点
③HttpOnly 防止劫取 Cookie
csrf(跨站点伪造攻击)
原理:
防御:
①同源检测(Origin 和 Referer 验证)
Referer是浏览器自动带上的
缺点:1、客户端禁止使用referer,影响用户体验;
2、移动端不自动带referer
②Token验证:token不放cookie(一般form表单加个hidden属性的input标签来存放)csrf就没法获取token,这样我们就可以通过检测发送过来的数据包中是否有正确的token值来决定是否响应请求
json web token
header信息:
{
"alg": "HS256",// 加密的算法
"typ": "JWT"// 加密的方式,填写JWT
}
Payload
Signature签名
劣势
③双重Cookie验证 以及配合Samesite Cookie
vuejs中的安全问题
对DDOS的了解
客户端向服务端发送请求链接数据包;
服务端向客户端发送确认数据包;
客户端不向服务端发送确认数据包,服务器一直等待来自客户端的确认;
DDos 预防:(没有彻底根治的办法,除非不使用TCP)
限制同时打开SYN半链接的数目
缩短SYN半链接的Time out 时间
关闭不必要的服务
数据加密
常用加密方法
性能优化
性能优化的技术点
一般处理方式
ssr服务端渲染
方式
nuxt
好处
原理
性能测试工具
性能优化实际案例
万家云诊所的性能优化
1、架构层面升级
业务拆分
引入vuejs
2、cdn缓存,部署静态资源服务器
3、减少请求次数:文件合并
4、缓存、cookie优化、文件压缩(accept-encoding:gzip)
5、异步加载、懒加载
6、js/css位置调整、减少重绘/回流
7、服务端渲染
8、webpack层面:图片压缩、提取公共代码、优化sourcemap
宝能赞助央视跨年盛典运营活动-h5页面
时间跨度拉长,多渠道引流
独立部署专门的服务器
租借带宽
网络协议
http协议(超文本传输协议)的概念:
浏览器中输入:“`www.xxx.com`” 之后都发生了什么?请详细阐述
dns域名解析
建立TCP/IP连接(三次握手具体过程)
由浏览器发送一个HTTP请求
经过路由器的转发,通过服务器的防火墙,该HTTP请求到达了服务器
服务器处理该HTTP请求,返回一个HTML文件
浏览器解析该HTML文件,并且显示在浏览器端
https的概念,与http的区别
Http协议运行在TCP之上,明文传输,客户端与服务器端都无法验证对方的身份;Https是身披SSL(Secure Socket Layer)外壳的Http,运行于SSL上,SSL运行于TCP之上,是添加了加密和认证机制的HTTP。二者之间存在如下不同:
端口不同:Http与Http使用不同的连接方式,用的端口也不一样,前者是80,后者是443;
资源消耗:和HTTP通信相比,Https通信会由于加减密处理消耗更多的CPU和内存资源;
开销:Https通信需要证书,而证书一般需要向认证机构购买;
Https的加密机制是一种共享密钥加密和公开密钥加密并用的混合加密机制。
对称加密与非对称加密
常用的HTTP方法有哪些
GET:用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器
POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。
PUT:传输文件,报文主体中包含文件内容,保存到对应URI位置。
HEAD:获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。
OPTIONS:查询相应URI支持的HTTP方法。
常见HTTP状态码
200(成功)
304(未修改):自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容
401(未授权):请求要求身份验证
403(禁止):服务器拒绝请求
404(未找到):服务器找不到请求的网页
TCP/IP协议的了解
可靠性,TCP通过以下方式进行保证
数据包校验
对失序数据包重排序
丢弃重复数据
应答机制
超时重发
流量控制
TCP与UDP的区别
TCP是面向连接的,UDP是无连接的;
TCP是可靠的,UDP是不可靠的;
TCP只支持点对点通信,UDP支持一对一、一对多、多对一、多对多的通信模式
TCP是面向字节流的,UDP是面向报文的;
TCP 的拥塞避免机制
慢启动 + 拥塞避免:
快重传 + 快恢复:
GET 与 POST 的区别
从功能上讲,GET一般用来从服务器上获取资源,POST一般用来更新服务器上的资源;
从REST服务角度上说,GET是幂等的,即读取同一个资源,总是得到相同的数据,而POST不是幂等的,因为每次请求对资源的改变并不是相同的
从请求参数形式上看,GET请求的数据会附在URL之后;而POST请求会把提交的数据则放置在是HTTP请求报文的 请求体 中
就安全性而言,POST的安全性要比GET的安全性高
从请求的大小看,GET请求的长度受限于浏览器或服务器对URL长度的限制,允许发送的数据量比较小,而POST请求则是没有大小限制的
CDN缓存
架构实践
项目为PC端还是H5端
浏览器的支持情况
项目是否需要支持SEO
我们的客户(企业)的客户群体基数
团队成员的技术水平和学习成本
框架本身的稳定性,对应的社区、维护者、市场占有份额等
0 条评论
下一页