我冷笑西风 发表于 2023-8-10 20:54:42

2023面试复盘,持续更新

7月27号下午2点 

  New 操作符做了什么:

    1. 创建一个新的空对象。
    2. 将这个新对象的原型指向构造函数的原型。
    3. 将构造函数的this指向这个新对象。
    4. 根据构造函数返回类型作判断,如果是值类型,返回newObj。如果是引用类型,就返回这个引用类型的对象
  Vue2 数组push、shift的双向绑定是怎么实现的:

    作者在vue原型上重写了push()方法,使数组进行操作时可以实现双向绑定   Vue3 的watchEffect 是什么:

    数据监听,相比watch方法watchEffect会立即执行一次
  http和https的区别:

    http:

      http明文未加密
      http默认是端口号80
      优点:便宜,不需要解密,更快
      缺点:不安全
    https:

      https = https + ssl
      Ssl加密协议 应用层和传输层加了一个安全层
      需要ca证书
      https默认端口号443
      优点:安全,
      缺点:贵、加密解密需要时间,慢
  Tcp三次握手和四次挥手: 

    三次握手:

      第一次:客户端向服务端发送一个syn包
      第二次:服务端收到syn包,向客户端返回syn+ack包
      第三次:客户端收到后回复一个ack包
      确立连接
    四次挥手:

      假如客户端向服务端发起关闭请求,
      第一次挥手:他需要向服务端发送一包fin表示自己要关闭连接,然后进入等待状态1,
      第二次挥手:服务端收到fin包,会发一个ack包表示进入等待状态,
      第三次:此时服务器还能向客户端发送数据,发送完数据再发送一个fin包
      第四次挥手:客户端收到ack包,进入超时等待状态,经过超时等待后,关闭连接,服务端收到ack包。立即关闭连接
  Web1.x ,web2.0,web3.0:

    1.0 可读,如各新浪等门户网站,需要有专门的编辑人员发文章上去,只有很少的留言功能
    2.0 互动性,可以自己发信息,例如微博,脸书,抖音,小红书,用户不仅是平台的使用者也是内容的贡献者
    3.0 去中心化,2.0时代的自己发送的信息都依托于平台,信息泄露什么的,3.0自己的就是自己的,一个账号走天下
  Webpack的loader 有哪些:

    1、file-loader:把⽂件输出到⼀个⽂件夹中,在代码中通过相对 URL 去引⽤输出的⽂件。
    2、url-loader:和 file-loader 类似,但是能在⽂件很⼩的情况下以 base64 的⽅式把⽂件内容注⼊到代码中去。
    3、source-map-loader:加载额外的 Source Map ⽂件,以⽅便断点调试。
    4、image-loader:载并且压缩图⽚⽂件。
    5、babel-loader:将ES6转化为ES5。
    6、css-loader:加载 CSS,⽀持模块化、压缩、⽂件导⼊等特性。
    7、style-loader:把 CSS 代码注⼊到 JavaScript 中,通过 DOM 操作去加载 CSS。
    8、eslint-loader:通过 ESLint 检查 JavaScript 代码。
    原文链接:https://blog.csdn.net/weixin_47450807/article/details/124051856
  网站优化:

    优化点一:网站速度优化

      网站速度优化整体资源优化
      减少http请求,资源压缩,cdn加速,路由、图片懒加载,预加载等等
      首屏优化:懒加载,图片懒加载,预加载
      利用第三方检测工具,检测页面性能,针对具体比较耗时的资源优化
    优化点二:seo优化

      Ssr服务端渲染,Vue官方介绍的ssr操作起来比较复杂,可以试用Nuxt.js,基于vue的ssr框架,可以方便的创建服务端渲染项目
      页面内容尽量丰富,标签尽可能语义化,每个页面最好有

这样的标签,

 
7月29日

  什么是闭包:

    因为作用域的原因函数外的不能访问函数内的变量,闭包的作用就是让函数外也能访问函数内的变量,闭包通过返回一个引用内部变量的函数来实现
    闭包像一个隔离区,可以防止变量污染,封装公用方法,缺点是会造成内存泄露
  如何解决闭包内存泄露问题:

    闭包使用后,将引用闭包的变量赋值为null
  常见的内存泄露有哪些:

    全局变量、闭包、setTimeout等没有清除的定时器,变量引用的DOM使用后没有及时清除,没用清除的时间监听,console.log的变量  
  websocket断网怎么办: 


[*]
[*]客户端向服务器定时发送一条心跳消息。
[*]服务器在接收到客户端发送的心跳消息后,立即回复一条响应消息。
[*]客户端在一定时间内未收到服务器的响应消息,则认为连接已断开,需要重新连接。

  缓存:

    强制缓存:强制缓存在规定时间内缓存存在,就不重新下载
    协商缓存:文件没有被修改过,就不重新下载
  盒模型:

    w3c盒模型:包括margin、padding、border、content,宽高 = padding + border + content
    IE盒模型:包括margin、padding、border、content,宽高 = content
 

来源:https://www.cnblogs.com/zpfqi/p/17619700.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 2023面试复盘,持续更新