

这篇文章主要给大家介绍一些关于最近2023前端面试遇到的题(前端初级)和一些车性能模式区别是什么的话题,希望大家能喜欢。
以下面试题排名不分先后。
1.Vue中的双向数据绑定原理是什么?
除非你想自己写一篇关于百度的8部分文章。
2、v-model语法糖是如何实现的?
3.哈希和历史有什么区别?
哈希模式
1.定义
Hash模式在前端路由路径中使用哈希标记,这样如果路径随后发生变化,浏览器会触发onhashchange事件,而无需重新启动请求。
2.网页URL组件
了解多个URL的属性
财产
意义
定位协议
代码
位置主机名
CPU名称
位置主机
掌握
定位端口
端口号
位置补丁名称
访页面
位置搜索
内容搜索
位置哈希
哈希值
演示
下面使用URL显示了上述属性
历史模式
哈希特征
哈希变化导致网页跳转,即浏览器来回跳转。
哈希可以更改URL,但不会触发页面重新加载。这意味着它不会刷新页面。这意味着所有页面跳转都是在客户端完成的。所以这不被认为是一个文件作为响应,浏览器收到响应后会解析html文件并开始页面渲染过程。
页面渲染浏览器首先根据html文件构建DOM树,然后根据解析的CSS文件构建CSSOM树。当找到脚本标签时,它会检查其末尾是否包含defer或async属性,否则加载和运行脚本将阻止页面渲染。DOM树和CSSOM树建立起来后,渲染树就基于它们构建起来。渲染树构建完成后,根据渲染树进行布局。布局完成后,最后使用浏览器的UI界面绘制页面。此时,整个页面就显示出来了。
TCP4-wave最后一步是TCP断开连接的4-wave过程。当客户端认为数据传输完成时,必须向服务器发送断开连接请求。服务器收到断开连接请求后,指示应用层释放TCP链路。然后发送ACK数据包并进入CLOSE_WAIT状态,这意味着客户端到服务器的连接已关闭,无法从客户端接收更多数据。然而,由于TCP连接是双向的,服务器仍然可以向客户端发送数据。此时如果服务器上还有尚未完成的数据,则继续传输,完成后向客户端发送连接断开请求,服务器进入LAST-ACK状态。客户端收到释放请求后,向服务器发送确认响应,此时客户端进入TIME-WAIT状态。该状态持续2MSL,如果在此期间没有服务器的重传请求,则进入CLOSED状态。当服务器收到确认后,进入CLOSED状态。
17.UDP和TCP有什么区别?
18、项目中常用的性能优化方法有哪些?
太多了,自己整理一下吧。
19.跨域题是如何解决的,是如何配置的?
20.计算属性和时钟有什么区别及其应用场景?
差异
Computed计算属性依赖于其他属性的值并缓存它们的计算值。仅当其依赖的属性值发生变化时,计算值才会在下次获取时重新计算。
Watchlistener更多可观察的功能,类似于针对特定数据的监听回调,不进行缓存,每当监听到的数据发生变化时,就会执行回调以进行后续操作。
应用场景
如果需要进行数值计算并依赖其他数据,则应使用计算。因为计算的缓存属性可以让您避免每次获取值时都重新计算。
如果您需要在数据更改时执行异步或昂贵的操作,则应该使用手表。使用watch选项允许异步操作。数据观察和初始化事件尚未开始。此时,数据和事件/观察者的响应式跟踪仍然启用,并且未设置,这意味着数据、计算、观察和方法的方法和数据不可访。
Created实例已创建,其所有选项(数据、计算、监视、方法等)均已配置,但渲染节点尚未挂载到DOM中,因此无法访其“$el”属性。
beforeMount在安装开始之前调用,第一次调用相关渲染函数。实例已完成配置,编译模板并根据数据和模板中的数据生成html。当前页面没有挂载html。
Mountedel被新创建的vm$el替换并挂载到实例后调用。实例已完成以下配置将el属性指向的DOM对象替换为上面编译好的html内容。这样就完成了将模板的HTML呈现为HTML页面的过程。在此过程中,进行Ajax交互。
beforeUpdate响应式数据更新时调用,此时响应式数据已更新,但其实际DOM尚未渲染。
Updated由于数据更改而重新渲染并修补虚拟DOM后调用。此时,DOM已经根据响应数据的变化进行了更新。调用时,它会更新组件DOM,从而允许您执行依赖于DOM的操作。但是,在大多数情况下,在此期间更改状态可能会导致更新的无限循环,应避免。在服务器端渲染期间不会调用此钩子。
beforeDestroy在实例被销毁之前调用。此时实例仍然完全可用,this仍然可以获得实例。
destroy实例被删除后调用。调用后,Vue实例可见的所有内容都将解除绑定,所有事件侦听器将被删除,并且所有子实例将被删除。在服务器端渲染期间不会调用此钩子。它们也有自己的“保持活动”生命周期,分别为“启用”和“禁用”。用“keep-alive”包装的组件不会在转换时被删除,但会缓存在内存中并运行“deactivated”钩子函数。应用缓存渲染后,将执行“激活”挂钩函数。
22.组件之间传值的方式有多种。
23.事件总线是如何实现的?
24.如何从父组件更新到子组件?
25.$nexttick的用途是什么,主要用来做什么?
26.什么是Keepalive,它有哪些钩子?
27.什么是插槽以及如何使用它们?
28.你知道Es6中有哪些常见语法?
29.如何使用自定义指令?
30.重绘和回流焊
31、常见的有几种横向法和纵向法。
//使用绝对定位,我们首先通过top:50和left:50将元素的左上角放置在页面的中心,然后通过移动将元素的中心点调整到页面的中心。这种方法需要考虑浏览器兼容性题。
//使用绝对定位,将四个方向的值全部设置为0,并将边距设置为自动。由于宽度和高度是固定的,我们通过均匀分割这些方向来将它们水平和垂直居中。可以实现如果您的盒子具有以下宽度和高度,则适合此方法
//使用绝对定位,我们首先通过top:50和left:50将元素的左上角在页面上居中,然后通过负值的margin将元素的中心点调整到页面的中心。此方法适用于已知盒子宽度和高度的情况。
//如果使用flex布局,并通过align-items:center和justify-content:center将容器的垂直和水平对齐设置为居中,则其子元素也会垂直和水平居中。这种方法需要考虑兼容性题,常用于移动设备上。
//另外,如果父元素设置了flex布局,则只需在子元素上添加'margin:auto;'即可实现垂直居中布局。
32.标准盒模型和奇异盒模型
33、Flex的常用属性flex:1代表什么?
34.雷姆,你是如何改编的?
35.什么是媒体询?
36.如何优化主屏幕性能?
37.如何解决白屏题
38.如何监控浏览器性能?
点击右侧链接
39.什么是Diff算法Key=Index为什么数组中的下标通常不用作索引?添加这个有什么好处?
40.如何实施虚拟列表?
41.再说防抖和节流。
42、什么情况下会发生内存泄漏?
意外的全局变量使用未声明的变量会导致意外创建全局变量,从而使该变量留在内存中并且无法回收。
忘记计时器或回调函数setInterval您设置了计时器但忘记取消它。如果循环函数引用了外部变量,则该变量将保留在内存中并且无法回收。
从DOM中分离引用获取对DOM元素的引用,然后删除该元素。对该元素的引用仍然保留并且不能回收。
闭包闭包使用不当会导致某些变量保留在内存中。
43、Vue的父子组件生命周期钩子函数的执行顺序是怎样的?
44、我们来谈谈一些常见的检测数据类型的方法。
typeof中,数组、对象、null都被判断为Object,其他所有判断都是正确的。
instanceof只能判断引用数据类型,不能判断原始数据类型构造函数,并且有两个作用,一是判断数据类型,二是传递对象实例。
构造函数对象访其构造函数。需要注意的是,如果您创建一个对象并更改其原型,则构造函数无法确定其数据类型。
对象原型到字符串调用
45.我们来谈谈为什么数据是函数而不是对象。
JavaScript中的对象是引用类型数据。当多个实例引用同一个对象时,只要其中一个实例对该对象进行操作,其他实例中的数据也会发生变化。在Vue中,我们希望更多地复用组件,因此每个组件都应该有自己的数据,这样它们就不会相互干扰。因此,组件数据不能写成对象形式,而必须写成函数形式。由于数据是以函数返回值的形式定义的,所以每次重用组件时都会返回新的数据,换句话说,每个组件都有自己专用的数据空间,并且各自维护自己的数据。干扰其他部件的正常运行。
46.我们来说说切片、拼接、分割的区别。
47、我们来谈谈如何将类数组转换为数组。
48.我们来谈谈如何从数组中删除重复项。有多少种方法?
49.请告诉我如何从数组中删除最大的项。
50.JSONstringify有哪些缺点?
1、如果obj中有时间对象,JSONstringify和JSONparse的结果是时间只是字符串格式,不是对象。
2、荣耀30sobj中有RegExp正则表达式缩写如何开启性能模式?方法
1、开启性能模式有两种方法,我给大家介绍第一种方法。打开手机设置。
2.找到电池选项,点击进入。
3.可以看到性能模式的开关选项为OFF。只需打开它即可。
4.另一种方法是在手机管家中打开它。
5、仍然找到Battery选项,点击进入。
6.以同样的方式打开性能模式开关。
7.摘要在手机设置和电池选项或手机管理器中设置性能模式。
发表评论