面试
文章平均质量分 84
整合面试常考点
前端不释卷leo
热爱前端,一起学习,一起进步。积极更新博客。
展开
-
“前端工程化”到底是何方神圣?
作为前端工程师,前端工程化是经常听到的概念,但虽然经常听到,很多人对它的认识依然很模糊。比如,提到前端工程化,他并不能说出什么是前端工程化。给出一门具体的技术,他也不能确定是不是属于工程化范畴的技术。这是因为他没有对前端工程化有一个概念上的认识。那么,这篇文章我们就来给前端工程化下个定义吧。............原创 2022-07-27 20:53:24 · 904 阅读 · 4 评论 -
面试官:你为什么要使用flex布局?
在面试的时候,当面试官问我们为什么要使用flex布局的时候,首先我们得先明白一点,问这个问题面试官到底想要了解什么?简单的回答”好用“肯定是不行的,任何方案和技术的出现都是为了弥补之前的缺陷,所以相比传统的布局方案存在的痛点,flex布局肯定有存在的优势和价值。所以接下来我们得说传统的布局是怎样的形式,然后使用了flex布局又是什么样的形式。布局的传统解决方案,基于盒子模型,依赖 display,position,float 等属性。它对于那些特殊布局非常不方便。比如,垂直居中就不容易实现。我们可能原创 2022-06-08 09:44:37 · 1047 阅读 · 3 评论 -
ECMAScript 2022 正式发布,有你了解过的吗?
目录前言正文一、总览二、详述1、Top-level await(顶层 await)2、Object.hasOwn()3、at()4、error.cause5、正则表达式匹配索引6、类总结2022年6月22日,第123届 ECMA 大会批准了 ECMAScript 2022 语言规范,这意味着它现在正式成为标准。下面就来看看 ECMAScript 2022 有哪些新特性,是否有你了解过的。1、Top-level await(顶层 await)2、Object.hasOwn()3、at()4、error.cau原创 2022-06-29 22:08:28 · 1658 阅读 · 19 评论 -
下班前几分钟,我弄清了v-model与.sync的区别
目录前言正文一、v-model1、作用2、本质3、特殊用法二、.sync1、作用2、本质总结一、v-model 与 .sync 的区别1、相同点2、区别点在平时开发过程中,v-model 使用频率很高。一般来说,v-model 可用于在表单及元素上创建双向数据绑定,其本质是语法糖。但提到语法糖,这里就不得不提另一个与 v-model 有着相似功能的双向数据绑定语法糖,那就是 .sync 修饰符。使用过 vue 框架的朋友应该对这个指令不会感到陌生,v-model 可用于对 、及 等元素上的数据进行双向绑定原创 2022-06-26 11:59:42 · 1115 阅读 · 8 评论 -
下班前几分钟,我彻底弄懂了前端缓存
前言前端缓存,这是一个老生常谈的话题,也常被作为前端面试的一个知识点。下班前几分钟,我回顾了一下其基本内容。正文分类前端缓存分为强缓存和协商缓存两种。强缓存强缓存主要使用 Expires、Cache-Control 两个头字段,当二者同时存在时 Cache-Control 的优先级更高。当命中强缓存时,客户端不会再发送请求,而是直接从缓存中读取内容,并返回 HTTP 状态码200。Expires响应头,代表该资源的过期时间。是一个 GMT 格式的标准时间。当客户端向服务器原创 2022-02-28 21:11:40 · 1912 阅读 · 19 评论 -
下班前几分钟,我彻底弄懂了 undefined 和 null 的区别
目录前言一、基本概念1、undefined2、null二、简单区别三、表现形式1、typeof2、== 与 ===3、Object.prototype.toString.call4、+ 运算 与 Number()5、JSON.stringify6、let undefiend = 'test'四、建议前言undefined 和 null 的区别是个老生常谈的话题了,之前我对二者的区别只是简单理解,例如二者转成 Boolean 类型都是 false、使原创 2022-02-20 20:25:11 · 14115 阅读 · 25 评论 -
在 Vue3 成为默认版本后,盘点了 Vue3 与 Vue2 的区别
目录前言正文一、Vue3 与 Vue2 区别概览二、Vue3 与 Vue2 区别详述生命周期多根节点Composition API异步组件(Suspense)Teleport响应式原理虚拟DOM事件缓存Diff算法优化打包优化自定义渲染APITypeScript支持三、Options API 与 Composition APIOptions APIComposition API如何选择?展望前言不知道大家有没有留意到原创 2022-02-13 12:36:23 · 6614 阅读 · 31 评论 -
30+个 JavaScript 知识点汇总,你都了解了吗?
前言无论你是已经在工作岗位上亦或是正在寻求新的工作机会,掌握常见的 JavaScript 面试知识点,不但可以帮助你扩展知识面、培养逻辑思维,还能帮助你提升自己的工作能力。不妨看看,也许有你所不了解的。正文1、JavaScript 的数据类型及其存储方式截止目前,JavaScript 一共有8种数据类型,可大致分为基本数据类型(也叫原始数据类型)与引用数据类型基本数据类型:Undefined、Null、Boolean、Number、String、Symbol(es6新增,表示独一无二的值原创 2022-02-10 17:17:09 · 8712 阅读 · 19 评论 -
下班前几分钟,我彻底弄懂了JavaScript的原型与原型链
前言JavaScript 原型与原型链历来都是面试的重点,也是难点,理解起来没有那么容易。正文理解原型的几个要点,能更容易理解原型这个概念:1、所有的引用类型(数组、对象、函数)可以自由扩展属性(除null以外);2、所有的引用类型都有一个“__proto__”属性(隐式原型,是一个对象);3、所有的函数都有一个“prototype”属性(显式原型,是一个对象);4、所有引用类型的“__proto__”属性指向它的构造函数的“prototype”属性;5、当访问一个对象的属性原创 2022-01-27 20:20:36 · 7160 阅读 · 25 评论 -
2022 JavaScript 数组(Array)方法1w+字汇总(含数组新特性,全到没朋友,再也不用东拼西凑了)
目录前言创建数组字面量方式构造函数方式Array.of 方式Array.from 方式数组方法返回新数组concat()join()slice()map()filter()toLocaleString()toString()flat()flatMap()entries()keys()values()改变原数组push()pop()unshift()shift()sort()reverse()...原创 2022-01-19 23:14:06 · 4128 阅读 · 28 评论 -
20+ 个JavaScript技术 -- 善于利用,可提升自己的开发效率(ES7-ES12新特性1w+字汇总,总有你需要的)
目录前言1、Array.prototype.includes()2、幂运算符 **3、Object.values()4、Object.entries()5、Object.getOwnPropertyDescriptors()6、String.prototype.padStart7、String.prototype.padEnd7、async / await8、Rest & Spread9、for await of10、Promise.prototype原创 2022-01-09 22:15:36 · 5453 阅读 · 18 评论 -
2022 CSS 水平垂直居中方式汇总,全到没朋友(锤爆面试官系列)
目录前言居中元素宽高已知1、absolute + margin auto2、absolute + 负 margin3、absolute + calc居中元素宽高未知1、absolute + transform2、line-height + vertical-align3、table 表格元素(不推荐)4、css-table(display:table-cell)5、flex 布局(推荐)6、flex + margin auto7、grid 网格布局(一)原创 2022-01-03 20:39:25 · 5428 阅读 · 28 评论 -
Vue 常见面试题汇总(这些技巧你真的都掌握了吗?呕心沥血2w字整理)
前言本文汇总了vue常用知识点与常见面试题,附上本人对该vue知识介绍相关博客,适合收藏,经常回顾,也许每次阅读都会有进一步理解。Vue 的优缺点优点1、创建单页面应用的轻量级Web应用框架2、简单易用3、双向数据绑定4、组件化的思想5、虚拟DOM6、数据驱动视图7、前后端分离缺点1、Vue在开发多页应时不够灵活,需要配置多入口2、不支持IE8SPA的理解SPA是Single-Page-Application的缩写,翻译过来就是单页应用。在WE..原创 2021-12-26 20:43:06 · 12443 阅读 · 34 评论 -
Vue 防抖节流 详细介绍(面试常客、去繁从简、性能优化)
本文主要介绍js中的防抖和节流以及在vue项目中如何使用它们来达到性能优化的目的。前置知识点:js、闭包、es6、vue等。使用背景:很多场景下,页面具有交互性,免不了会触发一些事件以及发送一些请求,依赖于像输入框、选择框、点击按钮等等。这时候就会出现一个现象,对使用者的操作不可控。如一个点击按钮,其绑定一个事件或发送一个请求,那么在连续快速点击时,如果不做限制,那么点击多次,将触发对应次数的事件或者发送对应次数的请求,这对使用者来说可能就是短时间内的简单操作,但是试想一下,在连续点击多次的情况原创 2021-12-04 18:20:50 · 5418 阅读 · 7 评论 -
面试官:react中的setState()是同步还是异步?如何证明?
你真的理解react中的setState了吗?它是同步还是异步呢?原创 2021-11-20 12:41:46 · 1793 阅读 · 2 评论 -
面试官:请简单实现一个Js单例模式(一看吓一跳,easy)
单例模式:顾名思义,即一个类只有一个实例,通常的做法是先判断类是否已存在实例,如果不存在,那就创建一个新的实例,如果已经存在,就直接使用已存在的实例。涉及到的知识点:JavaScript 类、闭包。新建一个简单的类 Personclass Person { constructor(name){ //构造函数,创建实例的时候执行 this.name = name } showName(){ console.log('my name is',this.name)原创 2021-11-19 20:22:05 · 1223 阅读 · 5 评论 -
Js面试常客之手写实现call、apply、bind方法(一看就会,附详细截图)
我们知道,call、apply、bind函数可以改变this的指向。用例子验证,现在有一个对象,里面有属性跟一个showName方法let initObj = { name:'gao', age:18 showName:function(){ console.log(this.name,'name') }}直接执行如下代码initObj.showName()打印信息如下此时,新建一个对象,里面只有属性,没有方法let newObj = { .原创 2021-11-16 22:18:50 · 1278 阅读 · 3 评论 -
面试常客之数组扁平化(手撕代码篇)
今天来小结一下面试中常问的一个问题:数组扁平化。JS引用数据类型,数组。除了常见的一维数组,如let arr = [1,2,3,4,5]还有二维数组和多维数组,如let arr2 = [1,2,3,[4,5],[6,7],8]let arr3 = [1,2,3,[4,5],[6,7,[8,9]]]有时候我们需要将这些数组转化成一维数组,这个过程就叫做数组扁平化。以下就是几种常见的数组扁平化的方法:1、递归法思想:遍历数组,判断数组的某项是否还是数组,如果不是,直接放入新原创 2021-09-28 20:43:05 · 387 阅读 · 1 评论