前端面试题:2021年7月26

2021年7月26日:腾讯会议线上面试

1.上来就问的 了解浏览器缓存么?说一说。

答:浏览器缓存分为 强缓存和协商缓存,我就知道这点了,具体说不下去。看下面链接吧
浏览器缓存机制

2. 知道我这方面知识匮乏,就转移话题了,问了一些项目上的东西,那个项目感觉对你帮助最大?可以自己独立搭建项目么?webpack了解多少?,,,,然后提到了模块化和组件化。所以问题来了。什么是模块化和组件化?简单说说你对他们的理解?

答:一个单页应用按照功能区域或者布局划分模块,不同的模块有由更颗粒化的组件构成。然后vue,css,js这些文件都是模块化通过export 和 import导出和导入,然后webpack模块化打包工具。说了一大堆感觉很丢人。
正确答案:

3.面试官接着问了,说说vue的虚拟Dom,优缺点?

首先 什么是虚拟Dom:
优缺点:虚拟DOM旨在避免不必要的DOM操作

  • 我们不再需要手动去操作 DOM,只需要写好 View-Model 的代码逻辑,框架会根据虚拟 DOM 和 数据双向绑定,帮我们以可预期的方式更新视图,极大提高我们的开发效率;
  • 保证性能下限
  • 虚拟 DOM 本质上是 JavaScript 对象,而 DOM 与平台强相关,相比之下虚拟 DOM 可以进行更方便地跨平台操作,例如服务器渲染、weex 开发等等。
  • 无法进行极致优化: 虽然虚拟 DOM + 合理的优化,足以应对绝大部分应用的性能需求,但在一些性能要求极高的应用中虚拟 DOM 无法进行针对性的极致优化
  • 首次渲染大量DOM时,由于多了一层虚拟DOM的计算,会比innerHTML插入慢。
4.接着 你了解Promise 么?优缺点?

又是优缺点。。。
promise:Promise 是异步编程的一种解决方案。有 三种状态,pending(进行中),resolved(已完成),rejected(已失败)
一旦状态改变,就不会再改变。只有两种情况下,promise 状态才会改变。从 pending=》resolved,从pending=》rejected 改变之后,状态就凝固了。
promise 内部状态一经改变,并且有了一个值,那么后续每次调用 .then 或者 .catch 都会直接拿到该值

优缺点
  • 对象的状态不受外界影响

  • 一旦状态改变,就不会再变,任何时候都可以得到这个结果

  • 有了Promise对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise对象提供统一的接口,使得控制异步操作更加容易

  • 首先,无法取消Promise,一旦新建它就会立即执行,无法中途取消

  • 其次,如果不设置回调函数,Promise内部抛出的错误,不会反应到外部

  • 第三,当处于pending状态时,无法得知目前进展到哪一个阶段

5.节流和防抖 使用过么?应用场景是什么?怎么实现的节流和防抖?

https://www.jianshu.com/p/c8b86b09daf0

6.节流中提到了闭包和异步机制,所以问题就来了。简单说说什么是闭包?
7.再说说异步机制是什么?

https://blog.csdn.net/weixin_38500689/article/details/118726873?spm=1001.2014.3001.5501

回答的比较模糊不正规的记录下来,稍后去找答案,毕竟还要撸代码。

你可能感兴趣的:(面试总结,vue,javascript,面试)