2024 面试题第二站
1.作用域(Scope),原型链(Prototype Chain), 继承
作用域:
asd
2.fetch和ajax的区别
(1) ajax基于xhr对象发起异步请求,结构不清晰
(2) fetch基于ajax的封装和promise实现异步请求,代码简洁,是全局window的一个方法,内置API
3.tcp(传输控制协议)和udp(用户数据报协议)的区别
(1) tcp面向连接,发送数据前需要建立连接, udp面向数据报,不建立连接直接发送数据
(2) 因此tcp更加可靠,udp为了达到高交付,不保证数据的顺序完整性和可靠性
(3) tcp需要进行连接管理,错误检测,所以开销大,传输速度相对较慢,udp不需要连接和错误检测,开销小,速度快
4.OSI七层模型
物理层-数据链路层-网络层-传输层-会话层-表示层-应用层
5.get和post的区别
(1) get请求参数直接拼接url后面,post请求放在请求体
(2) 相对post请求,get请求不安全,速度更快
(3) get请求用于请求数据,post请求用户提交表单
(4) get可以直接缓存,如果需要缓存post,需要在请求头设置cache-control和到期时间expired
6.http2和http1.x区别,优势和特点?
(1)http1.x使用文本格式传输数据,http2采用二进制格式,二进制格式解析更加高效,所以http2传输速率更高。
(2)http2采用头部压缩技术,减少请求头和相应头的数据,降低了网络的负担(网络带宽)。
(3)http2增加了流量控制,防止网络堵塞和资源浪费。
7.http和https区别?
(1)超文本传输协议(http),用于在网络端与端之间传送超文本,客户端请求服务端响应的一种标准(tcp), 明文传输。
(2)安全超文本传输协议(https),顾名思义,是一个安全版本的http,http下加入了SSL, 加密传输。
(3)默认端口不同 80 443 。
(4)http资源消耗更小。
(5)https需要ca证书, ca证书收费。
8.vue react的区别
相同点:虚拟DOM,数据驱动,组件化开发,响应式,组件通信,生命周期,Diff算法,都有全局状态管理工具 (1)vue双向绑定,修改数据视图自动更改,react单向数据流动,需要手动的setState
(2)vue组件template js script结构分离,react jsx组件,html css都能写在js里面
(2)react注重底层,api相对较少, vue注重上层,api较多
9.单向数据流动的优缺点
优点:
(1)单向数据简化了流动的逻辑,降低了数据的复杂度。
(2)提高了数据的可预测性和可维护性,方便数据的管理。
(3)降低了组件之间的耦合度,提高代码的灵活性和可重用性。
缺点:
(1)页面视图无法自动更新,需要主动触发。
(2)局部状态管理繁琐。
10.性能监控系统是怎么做的
前端性能监控系统的核心步骤包括确定监控指标、选择监控工具、部署监控代码、收集性能数据、分析数据、调优与验证, 以及持续监控与反馈。
(1)根据自己的项目需要,明确需要监控的指标,比如页面加载时间,资源加载时间和占用内存等。
(2)选择合适的监控工具,比如lighthouse,perfecto等。
(3)部署监控代码,如页面加载脚本,事件监听等,收集数据和分析确定问题并解决。