首页 > 其他分享 >前端面试基础cheatsheet

前端面试基础cheatsheet

时间:2023-03-11 09:02:06浏览次数:40  
标签:异步 arr 缓存 console log 前端 面试 任务 cheatsheet

1.继承
2.判断数组

console.log(Array.isArray(arr));   //true
console.log(arr instanceof Array);   //true
console.log(arr.constructor === Array);   //true
console.log(Array.prototype.isPrototypeOf(arr));   //true

3.vue 响应式 ,
vue2 使用 defineProperty get set来实现 使用$set 和 $delete
无法跟踪到对象增加新值,删除属性
数组需要额外处理
vue3 使用new Proxy实现
可以很完备的监听到属性增加和删除,
数组可以原生使用api,不需要再对需要监听的api再做处理

4.vue 组件通信

props / emit
provide/inject
ref/refs
event/Bus
Vuex
state:用于数据的存储,是 store 中的唯一数据源
getters:如 vue 中的计算属性一样,基于 state 数据的二次包装,常用于数据的筛选和多个数据的相关性计算
mutations:类似函数,改变 state 数据的唯一途径,且不能用于处理异步事件
actions:类似于 mutation,用于提交 mutation 来改变状态,而不直接变更状态,可以包含任意异步操作
modules:类似于命名空间,用于项目中将各个模块的状态分开定义和操作,便于维护
parent/children

5.同步异步事件循环

简单分为同步任务和异步任务,同步任务执行完毕再执行异步任务
首先异步任务的dispatch是使用队列实现的,即FIFO,但是异步任务还需要细分为微任务和宏任务
微任务:
Promise.then
MutaionObserver
Object.observe(已废弃;Proxy 对象替代)
process.nextTick(Node.js)
await是微任务
宏任务:
script (可以理解为外层同步代码)
setTimeout/setInterval
UI rendering/UI事件
postMessage、MessageChannel
setImmediate、I/O(Node.js)
如果有微任务就先执行微任务,没有的话再执行宏任务,当这个宏任务执行完之后再去检查微任务

6.缓存
发送请求之前先检查本地缓存的请求结果和缓存标识,缓存标识是上一次响应的响应头所提供的
分别是强制缓存和协商缓存。
没有缓存发送请求,没失效就不发送请求,失效就协商缓存
发送给服务器,协商一下看看能不能用缓存的内容,生效返回304,失效返回200和新的内容

7.重绘/回流
回流是计算位置和大小
重绘是修改颜色等不影响位置和大小的其他内容

标签:异步,arr,缓存,console,log,前端,面试,任务,cheatsheet
From: https://www.cnblogs.com/dou-fu-gan/p/17205197.html

相关文章

  • 第一个前端程序
    第一个前端程序 两步完成一个网页程序第一步:使用记事本,编写代码在E盘下保存路径E:/itbaizhan/...,文件名Welcome.html<html>  <head>    <title>我......
  • 前端工具的选择与安装
    前端工具的选择与安装 前端常见开发工具工欲善其事必先利其器浏览器浏览器是我们最重要的合作伙伴 推荐选择我们推荐谷歌浏览器,有两点原因:简洁大方,打开......
  • 前端之CSS介绍(层叠样式表)
    CascadingStyleSheets(CSS)1.CSS就是在HTML文档中,如何显示HTML标签,元素,以及他们的样式布局,前端页面的展示形式均由CSS来布局.2.如何使用CSS内部样式表head标签里<styl......
  • 单链表经典面试题
    单链表经典面试题1.求单链表中有效节点的个数思路:直接遍历节点个数即可,如果带头节点则不统计头节点方法代码:/***遍历求链表有效节点个数,但不统计头节点*@param......
  • 小程序面试题
    小程序有哪些常用的生命周期onLoad—-监听页面加载onReady—-监听页面初次渲染完成onShow—-监听页面显示onHide—-监听页面隐藏onUnload—-监听页面卸载小程序有那几个......
  • 前端面试题(html+css)
    HTML1、h5新增标签header、footer、 nav、article、aside、audio、video……等2、html语义化HTML语义化就是指在使用HTML标签构建页面时,要求尽可能的使用具有语义的......
  • 面试题小整理
    问题1:什么是幂等性?幂等性其实就是保证这个接口的执行结果只影响一次,后续即便再次调用,也不能对数据产生影响。幂等测试就是验证数据一致性和事务完整性。可能出现幂等......
  • Cookie前端优化
    cookie由于http请求每次都是独立的,它的执行情况和结果与前面的请求、之后的请求没有直接关系,没有办法区分当前客户,所以产生了cookie。使特定客户端与服务器产生联系cooki......
  • 视频直播源码,前端canvas动态验证码实现
    视频直播源码,前端canvas动态验证码实现  //生成一个随机数  constrandomNum=(min:number,max:number)=>{    returnMath.floor(Math.random()*......
  • 实践,制作一个高扩展、可视化低代码前端,详实、完整
    RxEditor是一款开源企业级可视化低代码前端,目标是可以编辑所有HTML基础的组件。比如支持React、VUE、小程序等,目前仅实现了React版。RxEditor运行快照:项目地址:http......