前端面试题(其他篇node、http等)

87 阅读2分钟
  • Node为什么支持高并发?
    1. node是单线程的
      • 优势:
        • 无需像多线程那样去关注线程之间的状态同步问题
        • 没有线程切换所带来的开销
        • 没有死锁存在
      • 劣势:
        • 无法充分利用多核CPU
        • 大量计算占用CPU会导致应用阻塞(即不适用CPU密集型)
        • 错误会引起整个应用的退出
    2. node具有异步I/O特性
      • 每当有I/O请求发生时,node会提供给该请求一个I/O线程。然后node就不管这个I/O的操作过程了,而是继续执行主线程上的事件,只需要在该请求返回回调时在处理即可。也就是node省去了许多等待请求的时间。
      • 实际上不光是I/O操作,node的绝大多数操作都是以这种异步的方式进行的。它就像是一个组织者,无需事必躬亲,只需要告诉成员们如何正确的进行操作并接受反馈、处理关键步骤,就能使得整个团队高效运行。
    3. 事务驱动
      • 即主线程通过eventloop事件循环触发的方式来运行程序。(node中eventloop机制与浏览器的并不相同)

image.png

  • Node 是单线程吗

    node是单线程运行的,采用单线程异步非阻塞模式;但是严格来说node中存在着多种线程,单线程是指node中只有一个js引擎在主线程上运行,其他的异步操作也是有独立的线程去执行,同时node默认是单线程,一个“node.js”无法利用多核资源。

  • 微任务宏任务列表

  • 强弱缓存、协商缓存

如何不全局安装vue-cli的时候使用脚手架

  1. 先在一个空目录下,npm初始化项目并安装@vue/cli。
  2. 用npx vue create app-name,这个命令同全局安装@vue-cli一样。会在当前目录生成脚手架创建的项目文件。
  3. 理同npx create-react-app my-app。
  4. 要npm5.2+ 或更高版本。