当前位置: 首页 > 面试经验 >

9.15招银网络前端

优质
小牛编辑
110浏览
2023-03-28

9.15招银网络前端

上午十一点,40min
  1. 实习项目中学习到什么,写了几个组件,项目中网络缓存如何配置的,难点是什么如何解决的,实习的技术选型有点奇怪,当时问了吗
  2. 前端中一般要求首屏资源加载(html、css、js)经过webpack打包后要求为14kb?为什么?  答:首屏响应时间不能过长,说这是表层原因,深层原因是啥???主要是tcp的慢启动算法,第一次连接的时候,不知道网络可以传输多少数据,一般就是10tcp数据包,除去标头,tcp\ip后就(1500-40)*10 = 14kB,这样就可以首次连接就发送请求,不用再等下一个数据传输
  3. 大多数 Web 服务器的 TCP 慢启动算法都是从发送 10 个 TCP 数据包开始的。

    TCP 数据包最大长度为 1500 字节。这个最大值不是由 TCP 规范设置的,它来自于以太网标准。

    每个 TCP 数据包的标头占了 40 个字节,其中 16 个字节用于 IP,另外 24 个字节用于 TCP。

    这样每个 TCP 数据包还剩下 1460 个字节。10 x 1460 = 14600 字节,或大约 14KB!

    因此,如果你能把网站的网页——或网页的关键部分——压缩到 14KB,就可以为访问者节省大量的时间——他们和网站服务器之间的往返时间。

    去掉自动播放的视频、弹出窗口、Cookie、Cookie 横幅、社交网络按钮、跟踪脚本、JavaScript 和 CSS 框架,以及所有其他人们不喜欢的垃圾——你可能就能实现 14KB 法则。

    假设你已经尽力将所有内容控制在 14KB 以内,但仍然做不到——但 14KB 法则仍然很有用。

    你可以用发送给访问者的前 14KB 数据来渲染一些有用的东西——例如一些关键的 CSS、JS 和解释如何使用你的应用程序的前几段文本。

    需要注意的是,14KB 法则包含了 HTTP 标头——这些是未压缩的(即使是 HTTP/2 的第一个响应),也包含图片,所以你应该只加载在页面上方的内容,并保持它们最小,或者使用占位符,让访问者知道他们在等待一些更好的内容。

  4. 宏仁务、微任务有哪些,执行顺序,如何验证执行顺序
  5. 缓存相关的请求头,强制缓存与协商缓存的优先级、etag和last-modified的优先级、实习中有没有关注过如何配置的
  6. ref和reactive的区别,实现?reactive与ref区别
    1、 从定义数据方面:
    ref通常用来定义基本类型数据
    reactive用来定义:对象(或者数组)类型数据
    ref也可以用来定义对象或者数组类型的数据,内部会通过reactive转为代理对象
    2、从原理方面:
    ref通过Object.defineProperty()的get和set实现数据代理。
    reactive使用Proxy实现数据代理,并且通过Reflect操作源对象内部的数据。
    3、从使用方面:
    ref操作数据需要.value,template模板中不需要。
    reactive都不需要,value

  7. object.defineProperty的get、set和proxy的区别
  8. watcheffect?watchEffect,它立即执行传入的一个函数,同时响应式追踪其依赖,并在其依赖变更时重新运行该函数。换句话说:watchEffect相当于将watch 的依赖源和回调函数合并,当任何你有用到的响应式依赖更新时,该回调函数便会重新执行。不同于 watch,watchEffect 的回调函数会被立即执行(即 { immediate: true })与watch相似都可以监听一个数据源。
    但是watchEffect会在初始化的时候调用一次,与watch的immediate类似。

  9. vue3中使用的setup组合式api与vue2的选项式api的区别,底层如何实现的,setup在vue3中也有代码块和函数,用的那种,this的指向,函数式功能如何;为什么setup就能写在一起,底层如何实现的
  10. vuex有哪些,state、getters、mutation(this.$commit)、actions、如何触发actions?this.$dispatch
  11. vueRouter,你项目中用过哪种,hash的路由时候。地址栏会发生变化吗?如何监听路由的变化; 如果是history,地址栏路径的变化,需不需要服务端配合,具体服务端需要配合什么?但是history模式下,如果你再跳转路由后再次刷新会得到404的错误,这个错误说白了就是浏览器会把整个地址当成一个可访问的静态资源路径进行访问,然后服务端并没有这个文件,所以一般情况下,我们都需要配置下nginx,告诉服务器,当我们访问的路径资源不存在的时候,默认指向静态资源index.html;所以相当于是要给一个保底的也页面
  12. js里面的作用域和闭包
  13. 写一个简单的代码题

 类似资料: