前端nodead面试题

本文概述了客户端渲染(CSR)与服务端渲染(SSR)的优缺点,重点关注于SEO和加载速度。同时介绍了函数式编程的概念及其在避免副作用和并发处理上的优势,以及Vue3中从Object.defineProperty转向Proxy的原因,强调了Proxy在数据劫持方面的改进和性能提升。
摘要由CSDN通过智能技术生成

1.CSR和SSR分别是什么?

CSR是客户端渲染,客户端访问网站时,服务器向客户端发送Html文档,让浏览器去渲染。其中像js,图片等还需要再次发请求。就是要啥给啥绝不多给。

缺点:不利于SEO,首次加载速度慢,适合单页面应用程序,交互比较多的网站

SSR是服务端渲染,就是把处理好的html页面(包括数据什么)一并发给浏览器让他去加载。浏览器直接就能渲染出来数据和页面。

首次加载速度快利于seo,但是页面交互性非常差,更适合新闻,学校官网等交互性需求小的网站

2.什么是函数式编程?

 #简单说说你对函数编程的理解
1.稳定:对于给定数据输出相同的结果
2.可以作为参数传递和返回,从而支持模块化
3.什么时候需要什么时候调用(惰性计算)
4.并发处理:就是因为不存在共享变量,所以各个任务不会发生因为同一个变量值的修改而无法继续执行的情况,可以将任务分成多个子任务同时执行
5.因为无副作用的特点(修改函数内部的变量不会影响函数外部变量值的特点),使得单元测试和集成测试更加容易和准确
6.缺点:因为有很多模块和递归问题可能会出现性能问题

3.Object.defineProperty和Proxy的区别

Vue2里面使用的是Object.defineProperty因为当时还是es5proxy还没有出现

Vue3里里面就开始用Proxy了

1.为什么Vue3里不用Object.defineProperty了呢?

--1.监听不了数组的变化

--2.必须使用Object.keys()遍历对象的每个属性

--3.必须使用递归深层遍历嵌套的对象(递归就会有性能问题)

2.Proxy数据劫持

--1.针对整个对象的(避免了深度递归)

--2.解决了无法劫持数组的问题

--3.更多的拦截方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值