Commit 93bec513 authored by 邹馨樟's avatar 邹馨樟

add note

parent 2034d2b5
## 从输入url到页面加载完成发生了什么
## http的三次握手与四次挥手
## http与https的区别
## http1.1与http2.0的区别
## 浏览器的缓存机制
## 浏览器都运行了哪些线程
## js线程的处理循序(宏任务与微任务--setTimeout,promise的执行顺序)
## promise各api使用与原理,promiseA+规范
## async await是什么
## 说一下原形链
## js中的worker是什么
## css如何做局中
## 说一下flex布局
## css中flex是哪几个属性的缩写
## CommonJs规范有了解么
## MVM和MVVM的分别指什么,区别是什么
## react全家桶的使用与原理
## react各生命周期作用,何时做数据获取,何时做优化
## react hooks各api作用及实现原理(何时做优化)
## useRef传入数组会如何,是否会触发渲染
## setState后发生了什么
## def算法
## 二叉树遍历顺序
## redux的流程与原理
## redux如何解决副作用
## webpack常用的中间件与原理
## 前端项目优化,webpack优化
## 前端项目如何埋点
## Node的REPL是什么
REPL 其实就是 Read Eval Print Loop 的缩写,中文译名是交互式解释器;其实说白了就是命令行的开发工具,这个也是 Node.js 的基础功能之一,使得我们可以不必借助浏览器环境,直接开发和运行一些无需 GUI 的程序,也就从很多方面上看起来更接近传统的开发语言环境。
## 做过的项目有什么亮点,工作中遇到的比较困难的问题
面试官要看一下你解决问题的能力
## 你了解浏览器的事件循环么
1. 为什么js在浏览器中有事件循环的机制?
js是单线程的
event loop
2. 宏任务与微任务具体指什么
宏任务:整体代码,setTimeout, setInterval, setImmadiate,I/O操作
微任务:new Promise().then, Mutation Observer(前端的回溯)
3. 为什么要引入微任务的概念,只有宏任务可以么
宏任务遵循先进先出的原则执行,有新任务会推入到队列的末端,此时遇到优先级较高的任务如果只有宏任务,那只能推到队列末端最后执行,因此引入了微任务的机制
4. Node中的事件循环与浏览器中的事件循环有什么区别
┌───────────────────────────┐
┌─>│ timers │
│ └─────────────┬─────────────┘
│ ┌─────────────┴─────────────┐
│ │ pending callbacks │
│ └─────────────┬─────────────┘
│ ┌─────────────┴─────────────┐
│ │ idle, prepare │
│ └─────────────┬─────────────┘ ┌───────────────┐
│ ┌─────────────┴─────────────┐ │ incoming: │
│ │ poll │<─────┤ connections, │
│ └─────────────┬─────────────┘ │ data, etc. │
│ ┌─────────────┴─────────────┐ └───────────────┘
│ │ check │
│ └─────────────┬─────────────┘
│ ┌─────────────┴─────────────┐
└──┤ close callbacks │
└───────────────────────────┘
script start
async1 start
async2
async1 end
promise1
script end
promise2
setTimeout
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment