2022年2月10日,我开始啦,菜鸡的变强之路,自我整理,不断记忆,不断变强。

1.说说你对闭包的理解

闭包是什么?是一个函数,这个函数有权访问到另一个函数作用域中的变量,被访问的这个函数就是闭包。

function fn(){const num=10;return function fun(){console.log(num)}
}
fn()

fun在调用的时候访问了fn里面定义的变量,所以fn是闭包函数。

闭包有什么用?闭包主要是为了设计私有的变量和方法,可以读取函数内部私有的变量,也可以让一些变量始终保持在内存里,防止全局变量的污染。

缺点:会增大内存的使用量,甚至造成内存泄漏。为什么?如果闭包的作用域内保留了一些DOM节点,就可能会造成内存泄漏,COM的垃圾回收机制是引用计数策略,两个对象之间形成的循环引用,会导致这两个对象都无法被回收。全局作用域始终在调用闭包函数,闭包函数作用域内始终有一个变量声明,就没办法会处理销毁掉,就会增加内存的使用量。

使用场景:1.事件函数的封装。2.用闭包模拟私有方法。3.在循环中给页面绑定事件响应函数。

2.JS有几种变量类型的值

值类型和引用类型

区别在于:

//值类型
var a=1
var b='这是一个字符串'
//引用类型
var obj1={x:100}
var obj2=obj1

值类型主要是:undefined,null,boolean,number,string

引用类型主要是:对象,数组,函数

值类型直接存储在栈中,简单的数据段,占据空间小,引用类型存储在堆的对象中,引用数据类型在栈中存储了指针,这个指针只想堆中的起始地址。

3.资源特别多,加载慢,怎么定位哪里出问题了

这个是我第一次面试别人问我的,一下子把我干懵了,emm,我只是一个小菜鸡,后来结合自己的工作经历,加上查找的资料,发现面试者问的也很拉跨啊, 个人理解:

第一种

加载慢作为一种现象,直接在页面加载的时候体现出来,那我们就需要按F12,打开开发者工具,加载慢,无非是两个模块,一个是前端的静态资源加载慢,另外一个就是接口调用时间长。

在nertwork中,可以看到静态资源和接口调用的时长,找到反应特别长的那个地方,就可以定位哪里出问题了。

第二种

在项目目录下,通过cmd,打开vue面板,打包的时候,会自动分析项目中的各种插件的占比和大小,就可以看到哪些插件用的太大,没用的地方多,就可以针对性的去优化了,比如路由懒加载,组件的针对性引用,外联资源等等。

4.页面渲染的过程

八股文!但是还是会背比较好

用户在页面输入网址,浏览器会先匹配,看是否有缓存,如果没有,就会发送DNS请求,进行DNS解析,返回域名和IP,再建立TCP链接,发送http请求(如果有缓存,直接到这一步)服务器处理请求并返回需要的数据,浏览器拿到后,渲染解析生成页面。

这个过程中,先构建DOM树(解析html,css,js),再把dom树和css树结合解析,生成render树,最后回流和重绘渲染树,展示在页面上。

连接结束。

5.数组去重

信我的,最简单的方式,面试官想要的,set数据结构去重

set是ES6的一个新的数据结构,类似于数组,我们可以把一个数组传进去,这样子=>

new set(arr)

这样就把目标数组转换成set的数据结构,并且会有一个很神奇的功能,里面的重复的数据,会去掉,就达到了去重的目的,我们再把set的数据结构转换成数组,直接用解构...就可以,所以=>

return arrTarget=[...new set(arr)]

也可以let一个新数组,然后for循环,依次比较,如果新数组里面没有,就放进去,最后返回这个数组

6.get请求和Post请求的区别

最直接的区别就在于,get请求是直接把参数拼到url后面的,而post请求是放在request body请求体中的,除此之外,vue的框架中,想要发送一个get请求,需要:

{params:{
key:value,
key:value
}}

这样子去请求,而post请求直接发送键值对形式就可以了,也就是json的的数据类型(去掉params那一层)

除此之外,由于服务器和浏览器限制了url的长度,所以get传递的数据会比post少,这样也就可以让get更加快速,但是会不够安全。post放在请求体中,因此传输的字符类型会更多一些,而get只能发送ASCII字符。

最重要的一点!get请求会直接将header和data一起发送给服务器,然后返回200,而post请求先将header发送,服务器返回100之后,再将data发送,服务器返回200,相当于get只需要一趟,而post需要两趟。

7.使用new调用一个函数,发生构造函数调用时,会发生什么?

会经过四点,自己理解,方便记忆:

①new关键词调用,会创建一个新的空间,也就是创建一个全新的对象

②创建完后,这个新对象的原型,就会和构造函数的原型连接,继承构造函数原型上的属性和方法。

③这个新对象的this,会指向构造函数,可以调用上面的属性和方法

④判断执行结果是否返回了新对象,如果没有return指定的东西,那就会自动返回这个新建的对象

2022年年初,全军出击。回顾项--持续梳理前端面试高频题目相关推荐

  1. 那些不能遗忘的知识点回顾——操作系统系列(笔试面试高频题)

    有那么一些零碎的小知识点,偶尔很迷惑,偶尔被忽略,偶然却发现它们很重要,也是各大笔试和面试高频出现考点.这段时间正好在温习这些,就整理在这里,一起学习一起提高!后面还会继续补充. --前言 1.进程和 ...

  2. 鸿蒙商务旅行箱,全军出击!华为智选发布16款新品:鸿蒙分布式技术来了

    原标题:全军出击!华为智选发布16款新品:鸿蒙分布式技术来了 近日,华为智选品鉴会在深圳举行,这也是华为智选在今年举办的首个专场品鉴会. "给全场景智慧生活添点温度",华为与生态合 ...

  3. 鸿蒙见面会为什么没选在深圳,全军出击!华为智选发布16款新品:鸿蒙分布式技术来了近日,华...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 全军出击!华为智选发布16款新品:鸿蒙分布式技术来了 近日,华为智选品鉴会在深圳举行,这也是华为智选在今年举办的首个专场品鉴会. "给全场景智慧 ...

  4. 阿里云斩获2022全球分布式云大会两项大奖

    12 月 21日,"2022 全球分布式云大会·深圳站"正式举办.阿里云弹性计算团队凭借在算力领域的创新突破与全面的分布式云产品矩阵布局,荣获"2022 年度中国算力先锋 ...

  5. 无需安卓手游模拟器,电脑玩绝地求生:全军出击TC Games完美匹配手游服

    全军出击怎么在电脑上玩?电脑玩刺激战场如何匹配手游服玩家?刺激战场手游模拟器哪个最流畅?最好用的全军出击手游模拟器是什么? tcgames电脑玩手游助手,目前最流畅的电脑玩吃鸡手游工具,无需安卓模拟器 ...

  6. 【建议背诵】2022下半年软考「高项」100题(2)

    为了帮助大家提高备考效率,将为大家分享[建议背诵]2022下半年软考「高项」100题,快来跟着一起打卡学习吧~ 5.     质量成本 (1)一致性成本:用于防止失败的费用: 预防成本:生产合格产品: ...

  7. pubg显示服务器安装失败,绝地求生全军出击怎么安装不了 安装失败解决办法

    绝地求生全军出击腾讯正版手游v1.0.4.10.0安卓版 类型:动作射击大小:874M语言:中文 评分:5.7 标签: 立即下载 绝地求生全军出击安装失败解决办法.今日游戏火爆来袭,许多玩家已经开始下 ...

  8. 2022年值得关注的22项新兴技术

    2022年值得关注的22项新兴技术 1. 太阳能地球工程技术 假如世界变得太热,为什么不稍稍遮阴呢?众所周知,火山喷发的尘埃和火山灰进入上层大气后能够带来冷却效果:1991年菲律宾皮纳图博火山喷发,导 ...

  9. 绝地求生全军出击服务器维护中,绝地求生全军出击卡住了进不去游戏解决办法...

    绝地求生全军出击无法开始游戏,很多玩家最近发现他们的进不去游戏了,之前从来没有发生过这种情况,这是为什么呢?为什么进不去游戏了呢?今天小编便给大家带来绝地求生全军出击游戏进不去的解决方法,一起来看看怎 ...

最新文章

  1. 【C++】mingw32-make+cmake:error: ‘nullptr‘ was not declared in this scope解决方法
  2. hdu 1879 继续畅通工程
  3. android系统自带的Service原理与使用
  4. 常见linux网络参数
  5. 腾讯万亿级Elasticsearch应用及优化解密
  6. 如何使用MySQL和JPA使用Spring Boot构建Rest API
  7. 统计学习方法-李航(5)
  8. 零火线都带电该怎么处理?
  9. Golang的GC和内存逃逸
  10. JavaOO 常用类
  11. centos7.5配置ntp时间服务器
  12. 《财富自由》平民出身的富豪积累财富的原则和方法
  13. 软件测试工程师怎么写okr,测试工程师提高质量的OKR该如何写?
  14. 电脑网页端远程控制手机方法
  15. c语言命令笔记本电脑快捷键,实用的电脑操作技巧(附快捷键)
  16. Zookeeper 深入进阶 —— ZAB 协议
  17. MobaXterm Xwindows打开应用程序模糊、缩放比例不对
  18. javaS的tring和androidS的tring区别是什么?
  19. 南卡耳机好还是万魔好?国产半入耳蓝牙耳机对比
  20. 千克与磅之间的转换 Exercise05_05

热门文章

  1. html视频播放器加片头广告,怎样给微视频添加片头 在视频开头或结尾部分加广告视频—视频加片头片尾软件...
  2. 最全软件开发面试问题总结(根据cyc大佬目录整理)【中】
  3. 计算机操作系统 | 3.1_1~3.1_4 内存及内存管理 | 参考自王道考研 | 无知的我费曼笔记(图文排版无水印)
  4. 电子商务网站设计分析--首屏设计
  5. 2005-2020全国及各省家庭承包耕地流转总面积及经营耕地面积
  6. 我的图象是JPEG文件,是放在远程一个固定IP电脑下面的一个目录,我如何读取这个JPEG文件呢?...
  7. Pedestrian Collision Avoidance System for Scenarios with Occlusions--有遮挡情况下的行人避让系统
  8. mysql 整型默认值,MySQL表字段设立默认值
  9. 华为鸿蒙系统搭载手机,鸿蒙系统2.0确认9月11日发布:华为手机历史性一刻要来了!...
  10. python图像处理:像素处理