当前位置:网站首页>每日五道面试题总结 22/7/21
每日五道面试题总结 22/7/21
2022-08-02 03:23:00 【SuperHeroC】
一、预加载与懒加载是什么?以及预加载使用场景!
1)预加载
预加载就是提前加载图片,当用户需要的时候可以直接从本地缓存中加载渲染,预加载是牺牲了服务器前端的性能,换取更好的用户体验,这样可以使用户的操作得到最快的反应
2)懒加载
懒加载也叫延迟加载,也叫按需加载,按照一定的条件或者满足的需求,在加载对应的资源,懒加载页面加载的速度快,可以减轻服务器的压力,节约了流量,用户体验好!
3)使用场景
预加载
在网页全部加载前,对一些主要的内容进行加载,以提供给用户更让好的体验,减少等待时间,
不使用预加载的话,首次加载项目会加载相互很长的时间,还会出现白屏,直到所有内容加载完毕
懒加载
按需加载,也就是用户去点击或者某些事件触发,才回去加载对应的资源,可以解决白屏问题
二、 JS的节流 与 防抖 以及应用场景
1、函数节流
函数节流就是指一定时间内 js 的方法只运行一次
类似于 LOL里的 CD(冷却时间) 执行过后,一定的时间内不可以执行,只在这个时间过后才可以执行
2、函数防抖
防抖就是高频控制区,也就是说,一段时间内的多次触发,都会变为最后一次触发,如果在这段时间内,再次触发,那么就会冲重新计算触发事件的冷却
类似于 LOL 里的回城 当按下回城后,在这段时间内再次按下会重新计算回城的冷却时间
3、应用场景
1)函数防抖
主要用于高频率触发事件的处理
比如说在用户在输入框输入一些信息,搜索时,可以使用函数防抖来节约请求资源
2)函数节流
在一段时间内的多次触发只执行一次
比如说在项目中,某个点击事件,例如轮播图,用户可能会多次点击,那么就可以使用节流,事件触发之后,该事件需要经过一段时间才能触发第二次
还有在项目中监听滚动条滑动事件。
三、 Get 与 Post 的区别
相同点:
都是用来向后端发送请求的请求方式
不同点:
- 对于安全性:get请求参数是会出现在 URL 中,而 POST 出现在请求体中,get安全性会较差与post请求方式
- 对于浏览器:get 会造成一次 浏览器的记录,而 post 不会
- 对于数据:get请求有长度限制,而 post 没有长度限制
- 对于作用:get是从服务器上获取数据,而 post 是向服务器发送数据
- 对于缓存:get请求可以被缓存,会保存至浏览器书签,所以就会有浏览记录post请求不具有这些功能
- get 请求在浏览器回退的时候是无害的,post 会再次请求数据!
四、深浅拷贝,以及什么时候使用?
1、深拷贝
深拷贝就是增加一个指针,并开辟一块新的内存空间,让这个指针指向这个新开辟的空间进行深拷贝(使用json的字符串 转换 或者jquery 提供的方法,循环赋值到新的内存空间,以及使用递归),当我们需要修改一个对象时,又不会改变原对象,就可以使用深拷贝,是最好的方法!
2、浅拷贝
浅拷贝就是增加一个指针,指向已经存在的一片内存空间,与其他使用该内存空间的对象共享该空间内的数据,浅拷贝只是拷贝了引用地址而已,修改之后,会影响到所有使用该数据的对象
五、axios 使用过吗?都有哪些特性?
axios 基本上是 对 ajax 的封装 用来发送 http请求 主要用于前端与后端进行数据交互
在服务器端使用 node.js 在原生中使用 XMLHttp request 并且支持 promise 操作
axios的特性
- 从浏览器中创建 XML http requests
- node.js 创建 http 请求
- 支持 promise 的 API
- 请求拦截 以及 响应拦截
- 转换请求数据和响应数据
- 取消请求
- 返回数据自动转为 JSON
- axios中 有两种 传输数据 data 与 params
data 与 params 的区别:
params 是连带请求地址一起发送的,data的作为一个请求体进行发送
params 适用于 get 请求 而 data 适用于 post put 请求方式!
边栏推荐
- ModuleNotFoundError No module named 'xxx' possible solutions
- Phospholipid-polyethylene glycol-targeted neovascularization targeting peptide APRPG, DSPE-PEG-APRPG
- 函数提升和变量提升
- FreeRTOS内核详解(1) —— 临界段保护原理
- 第一篇博客
- display,visibility,opacity
- 这些JS题面试时一定要答对!
- 区间问题 : 今年暑假不AC
- 小程序 van-cell 换行能左对齐问题
- cross-domain problem solving
猜你喜欢

Source Insight 使用教程(2)——常用功能

5.19今日学习

npm--package.json---require

querystring模块

The @autowired distinguished from @ the Resource

parser = argparse.ArgumentParser() parsing

STM32 map文件解析

Phospholipid-polyethylene glycol-targeted neovascularization targeting peptide APRPG, DSPE-PEG-APRPG

微信小程序云开发之券码领取,怎么防止用户领取到相同的数据?

1.13 学习JS
随机推荐
__dirname
vue3 访问数据库中的数据
枚举法方法:(leetcode1300)转变数组后最接近目标值的数组和
三月底啦啦
Customer Rating Control
解决MySQL创建子视图并查看的时候,字符集报错问题
---静态页面---
docker 安装 sqlserver中的坑点
js基础知识
1.11今日学习
Knowledge Engineering Assignment 2: Introduction to Knowledge Engineering Related Fields
配置mmdet来训练Swin-Transformer之一配置环境
kettle 安装与配置
--fs module--
Phospholipid-polyethylene glycol-targeted neovascularization targeting peptide APRPG, DSPE-PEG-APRPG
由中序遍历和前序遍历得到后序遍历(树的遍历)
每天填坑,精卫填坑第二集,TX1 配置从固态启动,安装Pytorch
C语言 结构体定义方法
COCO数据集训练TPH-YoloV5
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boo