2020. 12 面试题收集

125 阅读2分钟

1. 请说说高阶函数和函数柯里化,及它们的区别

参考文章: juejin.cn/post/684490…

2. 有a 和 b 两个兄弟组件,禁止使用父组件传参、状态管理、事件传播,请说出实现方式(无需考虑性能问题、实现成本,发散思维即可);

3. 如果有一个小白前端要做下图组件(需要支持单选、多选、树形结构、省市县级联),需要你(前端大牛)帮他分析这个需求,你会怎么做

4. 如果让你做一个项目,你会从哪些角度入手,项目过程中需要注意什么,项目上线要做哪些准备

5. 请说出下面两个数组用 for、 forEach中哪种方式遍历快些,哪种方式比较节约性能

var arr1 = [1, 2, 3,..., 100000]

var arr2 = [{id:1},{id:2},{id:3},{id:4}, ..., {id: 100000}]

6. 说说render、jsx、虚拟dom三者的关系

7. 说说函数中 arguments 解决了哪些问题

8. 说说你对diff算法的理解

9. webpack proxy 是如何实现代理的

10. http method为 options时是怎么回事,为什么会出现这种现象,如何解决这种现象

11. content-type的值都有哪些,它们的区别是什么

12. webpack中 loader 与 plugin 分别是什么,有什么区别

13. primise 最新的方法及与all、race的区别,如何封装primse

14. 请说说你对async awiat的理解,如果awiat后的执行语句返回的不是primse会怎样

15. 说说你对http1.0与http2.0的理解; 请说出常用的状态码;403代表哪种情况,为什么会出现这种情况,如何解决

16. 不用插件,自己封装出一个可拖拽移动换位的echarts图表插件,简单说下实现思路

17. setStete 什么时候处理同步,什么时候处理异步,简单说下setState的实现原理

18. 请谈谈你对fiber的理解

19. 你都处理过哪些浏览器兼容的问题?

20. 你做过哪些性能优化?