美文网首页
汇合发展面试记录

汇合发展面试记录

作者: 喵喵的记事本 | 来源:发表于2023-02-27 14:30 被阅读0次

    方式:线上面试

    时间:2023/2/27 10:30-11:00

    公司:汇合发展

    岗位:前端开发

    技术一面:

    1、自我介绍

    2、VUE组建传值,以及provide使用时需要注意的点

    (子孙层的provide会掩盖祖父层provide中相同key的属性值)

    3、VUE自定义指令

    (v-copy之类)

    4、VUE2和VUE3的区别,VUE3的好处,为什么体积会更小

    (tree-sharking)

    5、keep-alive以及生命周期相关

    https://juejin.cn/post/7173272566415491080

    6、mixin组件相关

    7、CSS加载是否会阻碍JS加载

    css加载不会阻塞DOM树的解析

    css加载会阻塞DOM树的渲染

    css加载会阻塞后面js语句的执行、

    因此,为了避免让用户看到长时间的白屏时间,我们应该尽可能的提高css加载速度,比如可以使用以下几种方法:

    使用CDN(因为CDN会根据你的网络状况,替你挑选最近的一个具有缓存内容的节点为你提供资源,因此可以减少加载时间)

    对css进行压缩(可以用很多打包工具,比如webpack,gulp等,也可以通过开启gzip压缩)

    合理的使用缓存(设置cache-control,expires,以及E-tag都是不错的,不过要注意一个问题,就是文件更新后,你要避免缓存而带来的影响。其中一个解决防范是在文件名字后面加一个版本号)

    减少http请求数,将多个css文件合并,或者是干脆直接写成内联样式(内联样式的一个缺点就是不能缓存)

    8、微前端相关

    9、const定义了一个常量是否可以修改其中的引用类型

    10、如果想要给一个对象中的属性定义常量不允许其修改可以怎么做?

    (1) Object.preventExtensions——可以使一个对象不能够增加新的属性,但是可以对原有属性进行修改和删除操作

    (2)Object.seal()——不可以增加、删除新的属性,可以修改原有的属性

    (3)Object.freeze()——无法添加新属性、无法删除旧属性、也无法改变属性的值

    11、type和interface

    区别:

    (1)interface只能定义对象数据结构类型;type侧重于直接定义类型

    (2)type 可以为基本类型,联合类型 或 元组 甚至any等等 赋值定义别名,interface 明显办不到

    (3)interface 定义重名了会合并属性,type 办不到(会报错提醒 重复定义)

    相似:type 和 interface都支持扩展extends

    type 的一般使用场景

    一般定义基本或联合类型

    一般定义元组类型

    一般定义函数类型

    定义映射类型

    interface 的使用场景

    需要interface 重名会自动合并属性扩展的

    定义对象数据结构(不使用type时)

    12、第一次请求响应较慢,第二次请求响应完成后第一次请求成功,如何解决?

    web前端解决“先发起请求后收到响应”问题 - 知乎

    第一种方法

    在前一次未返回结果时,禁止发送下一次请求,也就是把异步的请求强行改为同步的,这显然不是最好的解决方案。

    第二种方法

    在每次响应后且在渲染之前,判断当前响应是不是对应最新一次请求的。是,则渲染;不是,则不渲染。

    这种思路最容易想到的实现就是使用全局变量标记最新请求,局部变量标记当前请求,然后在响应回调中判断局部变量的值是否和全局变量的值一样。如果不一样,忽略响应结果;如果一样,我们可以断言这是最新请求的响应,直接渲染。

    第三种

    防抖节流

    13、如何实现权限管理?

    相关文章

      网友评论

          本文标题:汇合发展面试记录

          本文链接:https://www.haomeiwen.com/subject/brscldtx.html