9/15(实习)一面

9/15(实习)一面

  1. 学校做过哪些项目,聊一下项目的模块,遇到什么问题,挑一个你觉得困难的模块说一下。(token校验)(项目做的时间有点长了,有些细节不是说的很明白)

  2. 谈一谈你对promise的理解。(这块只是简单的说了一下三种状态,没复习到位)

  1. 什么是promise

promise是异步编程的一种方案,解决了地狱回调的问题,是一种链式调用的方式。

所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。

对象的两个特点:

  1. 对象的状态不受外界影响。promise对象代表一个异步操作。有三种状态:pending(已经成功),fulfilled(已成功)和rejected(已失败)。只有异步操作的结果,可以决定当前处在那个阶段。

promise状态改变

  1. 一旦状态发生改变,就不会再变,任何时候都会一直保持这个结果。
  1. 场景,三个请求promise.all()方法。问到了promise.all()里的参数是什么类型的数据。一个请求失败,另外两个会正确请求。

这块只知道使用promise.all()方法可以一次发起多个请求,然后问道里面的参数是啥,没答上来(其实是数组),一个请求失败,另外两个也会请求失败。

  1. 图片懒加载,具体说说如何实现的。

这块和面试官交流了一下自己的思路,没有手撕代码。面试官认为思路正确,但方法用的不对。

  1. js如何去监听一个对象属性的状态改变。

这里只说出了vue2.0监听状态改变的方法,Object.definePrototype,其实还有vue3.0的状态改变方法。

  1. 首屏加载时候比较慢,优化方法。(性能优化)

性能优化题,使用gzip打包项目,使用雪碧图,js脚本放到最后执行。

posted @ 2022-09-17 17:22  抗争的小青年  阅读(30)  评论(0编辑  收藏  举报