自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(197)
  • 收藏
  • 关注

原创 面经练习(十六)

面经练习(十六)1.promise的方法:2.微任务里面嵌套微任务如何执行3.props,data,computed的加载顺序4.立即执行函数的作用5.websocket原理以及和长连接的区别1.promise的方法:常见的 resolve reject all race还有finally不管promise最后的状态,在执行完then或catch指定的回调函数以后,都会执行finally方法指定的回调函数。var promise = new Promise(function(resolve, re

2020-12-03 14:30:58 28532 2

原创 面经练习(十五)

面经练习(十五)1.前端如何处理10w条数据2.set weakset map weakmap的区别3.标准Http协议支持六种请求方法4.html5语义化标签,哪些是行内哪些是块5.垃圾回收之标记清除法具体内容6.前端缓存详解7.JS延迟加载的方法8.vue钩子函数怎么用9.vue computed和watch全面解析10.重复的子字符串11.简化路径1.前端如何处理10w条数据①首先想到用requestAnimationFrame这个API // 插入十万条数据 co

2020-12-03 14:30:50 28521

原创 面经练习(十四)

面经练习(十四)1.async/await执行原理2.mouseover和mouseenter的区别3.快速判断二叉树前序或后序遍历4.找出字符串中连续出现次数最多的字符和次数1.async/await执行原理async/await执行原理2.mouseover和mouseenter的区别3.快速判断二叉树前序或后序遍历快速判断二叉树前序或后序遍历4.找出字符串中连续出现次数最多的字符和次数...

2020-12-03 14:30:43 28443

原创 面经练习(十三)

面经练习(十三)1.with的用法2.cors跨域原理3.jsonp为什么只能get请求4.toString()方法和Object.prototype.toString.call()方法对比5.https为什么采取对称非对称加密结合的方法6.圣杯布局双飞翼布局7.多路复用技术8.requestAnimationFrame是什么9.从输入URL到浏览器显示页面发生了什么(详细版)10.回文链表11.模拟LRU缓存机制12 UDP如何实现可靠传输13.堆和栈区别14.数组和链表的区别及优缺点1.with的用法

2020-12-03 14:30:33 310

原创 面经练习(十二)

面经练习(十二)1.异步加载js的方法2.Object.assign()方法3.Object.is()方法4.css animation动画暂停5.JSON.stringify输出题6.什么是单页面应用,优缺点是什么7.function prototype输出8. meta标签都有什么属性1.异步加载js的方法1.defer2.async3.手动生成script标签 function loadScript(url, callback) { var script

2020-12-03 14:30:24 278

原创 面经练习(十一)

面经练习(十一)1.常考的算法题:旋转矩阵2.vue中 methods和computed的区别3.new Object 和{}的区别4.一道输入输出题:5.flex布局解决了什么问题6.flex里面的basis7.this指向理解8. input:[1,2,3,3,2,4,5] output:[1,4,5]9.http为什么设置成无状态的1.常考的算法题:旋转矩阵leetcode48旋转矩阵var rotate = function(matrix) { let martrixLength =

2020-12-03 14:30:15 206

原创 面经练习(十)

面经练习(十)1.vuex和localstorage的区别以及cookie两个storage的区别1.vuex和localstorage的区别以及cookie两个storage的区别

2020-12-03 14:30:05 212

原创 面经练习(九)

面经练习(九)1.这个函数名字是a,使得a被执行之后有如下效果,输出1、2、31.这个函数名字是a,使得a被执行之后有如下效果,输出1、2、3a(); // 函数返回值为1a(); // 函数返回值为2a(); // 函数返回值为3var a = function(){ var count = 0 return{ getCount:function(){ return ++count; } } }().g

2020-12-03 14:29:57 176

原创 面经练习(八)

面经练习(八)1.有关雪碧图及其性能2.javascript严格模式1.有关雪碧图及其性能雪碧图对性能影响CSS Sprite最大的好处就是节省请求数了,那么为什么节省请求数能快呢?每一次发出一个图片的http请求,除了单纯的下载该图片外,还要算进发送请求的时间,服务器端处理请求的时间和来回的网络延时(这个一般是大头),我们把这些额外耗时叫做request overhead。所以实际情况下,尤其是对于图标这样的小图片,这些overhead很可能远远超过超过文件本身下载的时间,比如下载1kb的图片只要

2020-12-03 14:29:50 135

原创 面经练习(七)

面经练习(七)1.数据循环(遍历)的方式区别优缺点2.CSS选择器优先级3.CSS常用的布局模式4.移动端适配方案5.浏览器内核6.什么是执行上下文7.JS 基本类型引用类型的内容和区别8.JavaScript内存泄露的4种方式及如何避免1.数据循环(遍历)的方式区别优缺点1.普通的for循环2.forEach 但是无返回值3.map,some,every,filter等4.for … of 和 for…in2.CSS选择器优先级伪类:hover 伪元素 ::before关系选择器:

2020-12-03 14:29:32 141

原创 面经练习(六)

面经练习(六)1.type of null 为什么是 object2.函数柯里化3.js面试题Foo.getName()的故事4. function和object原型输出题5.最长公共子字符串6. addEventListener有关绑定丢失的问题7.background-size: contain 与cover的区别8.构造函数原型链问题9.也是与构造函数返回值有关10.事件循环相关编程题1.type of null 为什么是 object2.函数柯里化在计算机科学中,柯里化(Currying)是

2020-12-03 14:29:25 175

原创 面经练习(五)

面经练习(五)1. 一道有关this的输出题2. 封装个可以检测所有数据类型的函数3.display inline、inline-block、block有什么区别4.前端加密方式5.http请求报文,响应报文6.怎么获取浏览器的宽高7.如何实现input框显示,但是无法输入8.ES6和node的模块化9.webpack常用的loader10.TCP和HTTP的区别11. TCP和UDP的区别12.TCP为什么可靠1. 一道有关this的输出题var a = { name: 'bytedance'

2020-12-03 14:29:13 160

原创 面经练习(四)

面经练习(四)1. h5新特性了解多少2.CSS3新特性了解多少3. CSS实现单行、多行文本溢出显示省略号4.箭头函数和普通函数的区别5.JS异步编程的方法1. h5新特性了解多少h5新特性:①语义化标签:header、footer、section、nav、aside、article②音频视频:audio、video③canvas画布④localStorage - 没有时间限制的数据存储;sessionStorage - 针对一个 session 的数据存储,当用户关闭浏览器窗口后,数据会

2020-12-03 14:29:02 214

原创 面经练习(三)

面经练习(三)1.JS单线程的优点和缺点2.canvas的基本用法3.css两种动画4.js操作dom的方法5.页面白屏怎么处理6.前端性能优化7.js垃圾回收机制8.防抖节流1.JS单线程的优点和缺点单线程的好处就是易于编程,不需要考虑太多状况,缺点是效率低。多线程的好处是效率高,性能高,但是不是所有的运算都可以被并行化,而且容易出现各种意外的稀奇古怪的bug。2.canvas的基本用法canvas基本用法3.css两种动画过渡动画(transition)和animation动画。所谓过渡

2020-12-03 14:28:48 206

原创 面经练习(二)

面经练习(二)1.const要完全不能修改怎么做2. Object.defineProperty的用法3.http请求头:4.post请求的四种数据格式5.有关promise1.const要完全不能修改怎么做利用 Object.defineProperty里面的writable属性2. Object.defineProperty的用法Object.defineProperty()函数是给对象设置属性的。3.http请求头:4.post请求的四种数据格式1.application/jso

2020-12-03 14:28:28 220

原创 面经练习(一)

面经练习一1.bfc2.两边固定,中间自适应3.快速排序4.判断一个数组是否能形成等差数列,排序用快速排序5.webpack plugin和loader区别6.vue-router路由选择7.vue路由钩子函数:8.vue双向绑定9.vue渲染是异步的吗10.vue渲染过程11.为什么直接修改数组长度或设置数组项的索引时,Vue不能检测到数组的变动?1.bfc①.首先什么是BFC:直译为"块级格式化上下文"。它是一个独立的渲染区域,是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个BF.

2020-12-03 14:28:13 253

原创 Webpack常见面试题

Webpack常见面试题1.前端为何进行打包构建2.loader和plugin区别3.常见的loader和plugin4.babel和webpack的区别5.babel-polyfill和babel-runtime的区别6.webpack如何实现懒加载7.为何proxy不能被polyfill8.webpack构建流程1.前端为何进行打包构建(一)代码层面(二)研发流程2.loader和plugin区别不同的作用Loader直译为"加载器"。Webpack将一切文件视为模块,但是webpack

2020-11-24 22:26:34 1173

原创 Webpack-babel

Webpack-babel1.babel环境搭建和基本配置2.babel-polyfill是什么3.babel-polyfill如何按需引入4.babel-polyfill的问题5.解决babel-polyfill的问题,采用babel-runtime1.babel环境搭建和基本配置首先安装有关插件然后配置.babelrcpresets预设的意思把常用的plugin打一个包,这个包就是preset-env这样不用在plugin中设置过多的内容2.babel-polyfill是什么po

2020-11-24 22:26:24 236

原创 Webpack性能优化---构建速度

Webpack性能优化---构建速度一.优化babel-loader二.Noparse三.IgnorePlugin四.happyPack多进程打包五.ParallelUglifyPlugin多进程压缩js六.如何配置自动刷新七.如何配置热更新八.Dllplugin动态链接库九.总结一.优化babel-loader二.NoparseNoparse这是module中的一个属性,作用:不去解析属性值代表的库的依赖三.IgnorePluginIgnorePlugin是webpack内置插件这个

2020-11-24 22:26:05 402

原创 Webpack性能优化-产出代码

Webpack性能优化-产出代码1.小图片base64编码2.bundle加hash3.懒加载(高级配置有讲)4.抽离公共代码(高级配置有讲)5.IngorePlugin(优化构建速度也有讲,它有两个优点)6.使用cdn加速7.生产环境采用production8.接第7点为什么ES6 Module可以tree-shaking生效,commonjs却不行,两者有什么区别1.小图片base64编码2.bundle加hash3.懒加载(高级配置有讲)4.抽离公共代码(高级配置有讲)5.Ingore

2020-11-24 22:25:56 150

原创 Webpack高级配置(二)

Webpack高级配置(二)一.懒加载二.解析vue三.module chunk bundle的区别一.懒加载在index.js中:module.exports和exports.default的区别和关系同步加载通过import直接引用异步则放入定时器中 定时器的import返回promise二.解析vue下载vue-loader插件然后三.module chunk bundle的区别import()就是上面的懒加载一个chunk对应一个bundle...

2020-11-24 22:25:36 80

原创 Webpack高级配置(一)

Webpack高级配置(一)一.如何配置多入口二.如何抽离压缩css文件三.如何抽离公共代码和第三方代码一.如何配置多入口①首先webpack.common.js配置entry入口②然后webpack.prod.js配置出口的filenamename值对应entry中的key值 index和other③上面处理的是js文件下面处理html文件 首先webpack.common.jsplugin生成多个如果不写chunks,index和other的html文件会把entry入口的 inde

2020-11-24 22:25:19 594

原创 Webpack基本配置

Webpack基本配置一.拆分配置和mergewebpack.common.js 公共环境webpack.dev.js 开发环境webpack.prod.js 线上环境用smart 进行merge合并二.启动本地服务webpack.dev.js 开发环境里面配置三.处理ES6在webpack.common.jsbabel-loader.babelrc:四.处理样式也是在webpack.common.js中注意loader 的执行顺序从后往前先css-loader 解析一

2020-11-24 22:24:59 122

原创 内容页posts的制作(一)

内容页posts的制作(一)一.利用编译模式提高开发效率二.更改头部颜色三.有关swiper组件的使用四.通过swiper插槽设置轮播内容五.属性设置一定要注意字符串以js表达式的区别六.swiper其他属性一.利用编译模式提高开发效率我们首页制作完成后,我们点击开启小程序之旅后进行posts页面,但是路由我们之后再说,我们先单独制作出posts页面,我们需要把posts页面作为首页,这样方便我们及时看到开发效果,提高我们的开发效率,在之前学会的知识中,我们可以把posts页面放在pages数组的第一项

2020-11-12 16:59:23 473 1

原创 引入并使用LinUI组件库

引入并使用LinUI组件库一.什么是LinUI组件库:二.用个例子说明一下如何使用:一.什么是LinUI组件库:LinUI官网可以理解成官方小程序组件库的一个扩展具体安装方式可以参考官网1.npm init2.npm i lin-ui3.构建npm(这个很重要)生成minoprogram-npm这个文件夹二.用个例子说明一下如何使用:其实我们用的lin-ui就相当于使用别人自定义好的自定义组件比如我们使用avater这个组件(头像组件)在welcome页面中我们需要在welco

2020-11-11 20:23:23 2514 2

原创 对首页布局涉及到的一些知识

对首页布局涉及到的一些知识一.JSON对象和JS对象的区别二.新建页面的技巧和规则三. 图像的处理及rpx单位四.分离css样式到wxss文件中五.flex布局在小程序的应用一.JSON对象和JS对象的区别主要就是app.json入口文件的json格式问题若此文件为空,也需要写一个大括号还有就是key要用双引号还有就是逗号的问题,如果没有code则page后面不写逗号二.新建页面的技巧和规则利用新建page输入前缀名 回车自动生成需要的4个文件此时还会发现app.json文件会自

2020-11-11 17:12:58 330

原创 小程序的基本目录

小程序的基本目录一.4种基本文件类型详解二.我们与vue页面进行一下对比三.小程序的全局配置文件、全局样式表、应用程序级别js文件一.4种基本文件类型详解1.wxml:页面的骨架2.wxss:页面的样式3.js:用户交互之类的4.json:主要进行页面的一些配置二.我们与vue页面进行一下对比json文件在vue的web页面开发出现较少,主要是在微信小程序中使用进行一些配置(比如导航栏颜色修改,具体的后面会说)还有就是在普通的web页面开发的时候,若想在abc.html文件中引入abc.

2020-11-09 00:08:01 707

原创 初识微信小程序

初识微信小程序一.安装微信小程序工具二.新建项目三.开发工具的一些基本设置四.小程序的基本单位-Page页面一.安装微信小程序工具1.进入微信小程序官方文档2.找到导航栏的工具,下载稳定版3.跟正常应用程序一样,下载完安装即可二.新建项目1.首先我们用自己AppID不要用测试号2.根据流程注册之后,在微信平台登录3.开发—》开发设置—》APPID4.若不是云开发的话,要选择不使用云服务5.新建即可6.结果如下三.开发工具的一些基本设置首先 设置里面的项目设置里的本地设置除

2020-11-08 16:56:09 244 1

原创 前端性能优化(总结)---有关的面试题

前端性能优化(总结)---有关的面试题一.如何进行首屏优化二.JS内存管理1》JS如何管理内存的?2》什么情况会造成内存泄漏?一.如何进行首屏优化1》首先对于首屏,我认为用户体验有三个阶段:①就是页面第一个东西加载出来:用户会感觉到自己已经成功访问到这个网址了②页面第一个含有有用信息的东西加载出来:用户会觉得能在这个网站上获取到有用的信息③页面可以进行交互:用户进行交互体验2》然后对前面所学的性能优化进行一下总结即可二.JS内存管理1》JS如何管理内存的?变量创建时自动分配内存,不使用时”

2020-10-07 22:48:33 785

原创 前端性能优化(五)传输加载优化

前端性能优化(五)传输加载优化一.启动压缩Gzip1.在传输阶段进行体积压缩,可高达百分之90%2.如何配置Nginx启用Gzip二.使用keep-alive三.http缓存四.使用http2一.启动压缩Gzip1.在传输阶段进行体积压缩,可高达百分之90%2.如何配置Nginx启用Gzip如何配置Nginx启用Gzip首先 下载homebrew然后 安装nginx brew install nginx然后 sudo brew services start nginx 开启服务然后 vim

2020-10-07 20:22:59 831

原创 前端性能优化(四)资源优化

前端性能优化(四)资源优化一.资源的压缩和合并1.为什么要压缩和合并2.HTML压缩3.CSS压缩4.JS压缩和混淆5.CSS、JS文件合并二.图片资源的优化1.图片格式优化2.图片加载优化三.字体优化1.字体出现的两个问题2.使用font-display控制浏览器的行为3.如何引入字体一.资源的压缩和合并1.为什么要压缩和合并1》减少http请求数量2》减少请求资源大小2.HTML压缩1》使用在线工具进行压缩2》使用html-minifier等npm工具(webpack就是集成的这个工具)

2020-10-07 16:36:57 626

原创 前端性能优化(三)代码优化

前端性能优化(三)代码优化一.JS开销和如何缩短解析时间1.开销在哪里2.如何缩短解析时间3.最后我们说一下题外话 用户体验的三个阶段二.V8编译原理三.HTML优化四.CSS代码方面的优化1.有关选择器2.降低CSS对渲染的阻塞3.利用GPU进行完成动画4.使用contain属性5.font-display(较新的一种方式)一.JS开销和如何缩短解析时间1.开销在哪里加载----编译解析----执行2.如何缩短解析时间1.code splitting代码拆分,按需加载2.tree shakin

2020-10-07 08:18:07 1290

原创 前端性能优化(二)渲染优化

前端性能优化(二)渲染优化一.浏览器渲染流程二.布局和绘制的优化1.影响回流的操作2.什么是布局抖动、以及如何避免3.复合线程(compositor thread)与图层(layers)三.requestanimationframe 这个API一.浏览器渲染流程初次渲染—浏览器渲染流程二次渲染主要是这五个步骤:JavaScript:指的是用js可以实现页面上的视觉变化,比如动画等;除此之外我们还可以用css做动画过渡等,这里只是统一代表,改变页面视觉变化的一系列操作Style:浏览器对样式就行重

2020-10-06 21:48:01 929 3

原创 前端性能优化(一)性能优化的指标和工具

前端性能优化(一)性能优化的指标和工具一.性能指标1. F12 network进行调试,我们以淘宝为例2. 此外还有一个瀑布流的概念 waterfall3.蓝线和红线4.保存当前网页指标,方便以后对比5.查看动画帧数6.异步请求的指标二. RAIL测量模型1.R\A\I\L含义2.RAIL评估标准指标三.性能测量工具1.我们常用的 Chrome DevTools2.webpagetest是什么怎么用怎么看3.lighthouse的使用一.性能指标1. F12 network进行调试,我们以淘宝为例可

2020-10-06 09:28:03 30053 2

原创 大致了解vue3.0的内容

大致了解vue3.0的内容一.六大亮点二.性能比vue2.x快1.2~2倍如何实现的呢1. diff算法2. 静态提升3. 事件侦听缓存三.为什么vue3.0体积比vue2.x小四.vue3.0组合API9.19号vue 3.0发布了!!!但是正式使用估计还得2021年吧0.0一.六大亮点性能比vue2.x快1.2~2倍支持tree-shaking,按需编译,体积比vue2.x更小支持组合API更好的支持TS更先进的组件二.性能比vue2.x快1.2~2倍如何实现的呢1. diff算

2020-10-04 15:18:00 1260

原创 操作系统复习(进程、线程、死锁)

操作系统复习1.进程的定义2.进程的状态3.进程同步和异步4.进程的通信5.进程和线程的关系和区别6.处理机调度的层次7.处理机调度算法8.死锁的定义9.产生死锁的原因:10.产生死锁的必要条件11.处理死锁的基本方法1.进程的定义进程是程序的一次执行,是进程实体的运行过程,是一个可拥有资源的独立单位,是系统进行资源分配和调度的一个基本单位(此时未引入线程)什么是进程实体:由程序段、相关的数据段、PCB(进程控制块,包含标识符和进程调度和控制相关信息)PCB进程控制块的作用:使一个在多道程序环境

2020-10-02 21:53:05 438

原创 vue双向绑定的原理(响应式+组件渲染和更新过程)

vue双向绑定的原理(响应式+组件渲染和更新过程)首先vue是MVVM模型,把Model绑定到View的同时也将View绑定到Model上,这样就既可以通过更新Model来实现View的自动更新,也可以通过更新View来实现Model数据的更新。所以,当我们用JavaScript代码更新Model时,View就会自动更新,反之,如果用户更新了View,Model的数据也自动被更新了双向绑定在vue可以通过v-modal实现view改变,modal里面data会发生改变,可以通过事件监听即可,比如v-

2020-08-05 14:36:05 494

原创 JS之什么是Promise 手写简易Promise、Promise.race、Promise.all

JS之什么是Promise 手写Promise、Promise.race、Promise.all一.什么是promise:①.Promise的出现其实是作为异步编程的一种解决方案解决采用回调模式实现异步编程时,即在一个回调函数中嵌套多个回调函数,产生回调地狱的情况。②.每个 Promise都会经历一个短暂的生命周期,初始为挂起态( pending state),这表示异步操作尚未结束。一个挂起的 Promise 也被认为是未决的( unsettled )。一旦异步操作结束, Promise就会被认

2020-08-04 11:16:07 1201

原创 vue 3 Proxy实现响应式

vue 3 Proxy实现响应式一Proxy基本使用:二.测试1》data为对象2》data为数组三.Reflect的作用:规范化、标准化、函数式替代掉Object上的工具函数四.如何实现响应式:1》2》3》深度监听在proxyConf里面return reactive()用Proxy实现响应式如果访问info层级,则city和a具有响应式,bcde都不具有响应式;如果用之前objectdefineproperty实现响应式,则city,abcde全部具

2020-07-31 00:26:59 1246

原创 vue真题演练

vue真题演练首先定义的xxx.vue文件在编译之后是一个类,每个地方使用这个组件的时候,相当于对这个类实例化,在实例化的时候执行data,如果不是一个函数的话,每个组件的实例的data都一样了,共享,一个地方的data更改,所有的data一起改变。如果data是一个函数,每个实例的data都在闭包当中,就不会各自影响了组件和DOM加载完成后,触发ajax请求,然后把数据渲染上(平常vue项目中,把this.axios放入mounted中,axios相当于ajax)vu

2020-07-30 18:33:36 136

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除