# 前端面试题

> 该面试题集合会根据相应的知识点进行划分，一个知识点会分配1+个面试题，每一个面试题都会以单独的页面展现出来，该页面的显示的该面试题的目录结构。

## 面试题目列表

[HTML面试题部分](/html/html.md)

[CSS面试题部分](/css/css-mian-shi-ti-bu-fen.md)

[JavaScript面试题部分](/javascript/javascript-mian-shi-ti-bu-fen.md)

[React面试题部分](/react/react-mian-shi-ti-bu-fen.md)

1. [React生命周期有哪些，16版本生命周期发生了哪些变化？](/react/react-mian-shi-ti-bu-fen/react-sheng-ming-zhou-qi-you-na-xie-16-ban-ben-sheng-ming-zhou-qi-fa-sheng-le-na-xie-bian-hua.md)
2. [setState是同步的还是异步的？](/react/react-mian-shi-ti-bu-fen/setstate-shi-tong-bu-de-hai-shi-yi-bu-de.md)
3. [为什么有时连续多次setState只有一次生效？](/react/react-mian-shi-ti-bu-fen/wei-shen-me-you-shi-lian-xu-duo-ci-setstate-zhi-you-yi-ci-sheng-xiao.md)
4. [React如何实现自己的事件机制？](/react/react-mian-shi-ti-bu-fen/react-ru-he-shi-xian-zi-ji-de-shi-jian-ji-zhi.md)
5. [为何React事件要自己绑定this？](/react/react-mian-shi-ti-bu-fen/wei-he-react-shi-jian-yao-zi-ji-bang-ding-this.md)
6. [原生事件和React事件的区别?](/react/react-mian-shi-ti-bu-fen/yuan-sheng-shi-jian-he-react-shi-jian-de-qu-bie.md)
7. [React的合成事件是什么？](/react/react-mian-shi-ti-bu-fen/react-de-he-cheng-shi-jian-shi-shen-me.md)
8. [React和原生事件的执行顺序是什么？可以混用吗？](/react/react-mian-shi-ti-bu-fen/react-he-yuan-sheng-shi-jian-de-zhi-hang-shun-xu-shi-shen-me-ke-yi-hun-yong-ma.md)
9. [虚拟Dom是什么？](/react/react-mian-shi-ti-bu-fen/xu-ni-dom-shi-shen-me.md)
10. [虚拟Dom比普通Dom更快吗?](/react/react-mian-shi-ti-bu-fen/xu-ni-dom-bi-pu-tong-dom-geng-kuai-ma.md)
11. [虚拟Dom中的$$typeof属性的作用是什么？](/react/react-mian-shi-ti-bu-fen/xu-ni-dom-zhong-de-typeof-shu-xing-de-zuo-yong-shi-shen-me.md)
12. [React组件的渲染流程是什么？](/react/react-mian-shi-ti-bu-fen/react-zu-jian-de-xuan-ran-liu-cheng-shi-shen-me.md)
13. [为什么代码中一定要引入React？](/react/react-mian-shi-ti-bu-fen/wei-shen-me-dai-ma-zhong-yi-ding-yao-yin-ru-react.md)
14. [为什么React组件首字母必须大写？](/react/react-mian-shi-ti-bu-fen/wei-shen-me-react-zu-jian-shou-zi-mu-bi-xu-da-xie.md)
15. [React在渲染真实Dom时做了哪些性能优化？](/react/react-mian-shi-ti-bu-fen/react-zai-xuan-ran-zhen-shi-dom-shi-zuo-le-na-xie-xing-neng-you-hua.md)
16. [什么是高阶组件？如何实现？](/react/react-mian-shi-ti-bu-fen/shen-me-shi-gao-jie-zu-jian-ru-he-shi-xian.md)
17. [HOC在业务场景中有哪些实际应用场景？](/react/react-mian-shi-ti-bu-fen/hoc-zai-ye-wu-chang-jing-zhong-you-na-xie-shi-ji-ying-yong-chang-jing.md)
18. [高阶组件(HOC)和Mixin的异同点是什么？](/react/react-mian-shi-ti-bu-fen/gao-jie-zu-jian-hoc-he-mixin-de-yi-tong-dian-shi-shen-me.md)
19. [Hook有哪些优势？](/react/react-mian-shi-ti-bu-fen/hook-you-na-xie-you-shi.md)
20. [React Diff算法的策略是什么？](/react/react-mian-shi-ti-bu-fen/react-diff-suan-fa-de-ce-lve-shi-shen-me.md)
21. [React中 key的作用是什么？](/react/react-mian-shi-ti-bu-fen/react-zhong-key-de-zuo-yong-shi-shen-me.md)
22. [React Fiber是什么？为什么要引入？](/react/react-mian-shi-ti-bu-fen/react-fiber-shi-shen-me-wei-shen-me-yao-yin-ru.md)
23. [为什么推荐在 componentDidMount中发起网络请求？](/react/react-mian-shi-ti-bu-fen/wei-shen-me-tui-jian-zai-componentdidmount-zhong-fa-qi-wang-luo-qing-qiu.md)
24. [React代码优化？](/react/react-mian-shi-ti-bu-fen/react-dai-ma-you-hua.md)
25. [React组件设计要掌握哪些原则？](/react/react-mian-shi-ti-bu-fen/react-zu-jian-she-ji-yao-zhang-wo-na-xie-yuan-ze.md)
26. [Redux的核心原理是什么？](/react/react-mian-shi-ti-bu-fen/redux-de-he-xin-yuan-li-shi-shen-me.md)
27. [什么是 Redux中间件？](/react/react-mian-shi-ti-bu-fen/shen-me-shi-redux-zhong-jian-jian.md)
28. [Redux connect函数的实现策略？](/react/react-mian-shi-ti-bu-fen/redux-connect-han-shu-de-shi-xian-ce-lve.md)
29. [Mox的核心原理是什么？](/react/react-mian-shi-ti-bu-fen/mox-de-he-xin-yuan-li-shi-shen-me.md)
30. [Redux和 Mobx的异同点，如何选择？](/react/react-mian-shi-ti-bu-fen/redux-he-mobx-de-yi-tong-dian-ru-he-xuan-ze.md)

[浏览器面试题部分](/liu-lan-qi/liu-lan-qi-mian-shi-ti-bu-fen.md)

[构建工具面试题部分](/gou-jian-gong-ju/gou-jian-gong-ju-mian-shi-ti-bu-fen.md)

[项目优化面试题部分](/xiang-mu-you-hua/xiang-mu-you-hua-mian-shi-ti-bu-fen.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://interview.book.xhh.name/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
