前期准备
tip
见仁见智, 我只是收集了我在准备面试之前, 我看过的资料, 欢迎PR, 或者提issue.
个人复习提纲
https://github.com/Rain120/Web-Study/issues/16
八股文
React
React 源码剖析系列 - 不可思议的 react diff
React Fiber很难?六个问题助你理解 React Fiber
浏览器相关
How browsers work 注意:生肉
Google Blog
Round-up of web browser internals resources 主要收集web浏览器内部工作原理的资源。
事件循环(Event Loop)
Node
- timer(setTimeout, setInterval callback)
- pending callbacks
- idle, prepare(内部使用)
- poll(connections, data, etc.) 阻塞等待监听的事件来临,然后执行对应的callback
- check(setImmediate callback)
- close callback(socket.on('close', () => {}))
┌───────────────────────┐
┌─>│ timers │
│ └──────────┬────────────┘
│ ┌──────────┴────────────┐
│ │ I/O callbacks │
│ └──────────┬────────────┘
│ ┌──────────┴────────────┐
│ │ idle, prepare │
│ └──────────┬────────────┘ ┌───────────────┐
│ ┌──────────┴────────────┐ │ incoming: │
│ │ poll │<─────┤ connections, │
│ └──────────┬────────────┘ │ data, etc. │
│ ┌──────────┴────────────┐ └───────────────┘
│ │ check │
│ └──────────┬────────────┘
│ ┌──────────┴────────────┐
└──┤ close callbacks │
└───────────────────────┘
HTTP
个人提纲: https://github.com/Rain120/Web-Study/issues/16#issuecomment-1028776101
TCP
浏览器
个人提纲: https://github.com/Rain120/Web-Study/issues/16#issuecomment-1028776609
浏览器缓存
跨域
简单请求
请求方法包括
- get
- post
- head
请求头仅限于下面这些:
- content-type
- text/plain
- multipart/form-data
- application/x-www-form-urlencoded
- Content-Language
- Accept
- Accept-Language
- Last-Event-ID
非简单请求
不是简单请求就是非简单请求, 会发生预检请求(preflight request)。
配置 与CORS请求相关的字段,都以Access-Control-开头
- Access-Control-Allow-Origin 表示接受什么域名的请求
- Access-Control-Allow-Credentials 表示是否允许发送Cookie,默认情况下,Cookie不包括在CORS请求之中。若服务端配置为 true, 客户端必须在AJAX请求中打开withCredentials属性。
- Access-Control-Expose-Headers
前端面试题库
LeetCode
LeetCode 刷题是必备的一项工作, 推荐 剑指 Offer 和 🔥 LeetCode 热题 HOT 100 两个题库。
Github 上有一个互联网公司技术岗考察Leetcode题目的热度的仓库,也可以去参考刷题。