自己收集的面试题
关于react diff。
react的diff与vue2的diff有什么区别?与vue3呢?仅仅是lis吗?关于 react fiber,
fiber的引入究竟对react有什么架构层面的影响,double fiber tree是否有必要存在?关于 react schedule,
schedule究竟以一个什么形式,什么规律来运行,中断和恢复呢?lane解决了什么问题?关于 vue,
reactive core有自己实现过吗?为什么要做这种启发式的aot?slot的实现?关于 ng 。脏检测怎么做到高性能?看过
svelte的脏检测吗?ivy是什么?增量 dom和virtual dom的区别?ng里模块化和分层di是怎么实现的?关于 node eventloop。在
node里,udp和文件api任务什么区别吗?什么是快io什么是慢io?nodejs如何调度快慢io的?node10之前的事件循环是怎么样的?libuv是以一种什么样的趋向去调度io任务的?async task的抽象是什么呢?什么是tickcallback?关于 node runtime,
node是怎么启动的?node怎么console 调试?console什么时候注入node的?关于 node addon,
node_api是一种什么抽象?jsvalue为什么是Object的二级指针?cpp和js 层面的共享内存靠什么实现最为简单?ffi是怎么实现的?关于 v8 ,什么是
isolate?什么是context?值的抽象?v8是怎么管理内存的?怎么直接用v8 api写node-addon?关于 js 优化。自己会熟练使用
js profiler吗?甚至是否是从未使用过?做过ms级别的优化吗?自己问的问题是否真的需要在js trick层面进行优化?关于 js-native 框架。知道
js到native端的详细通信过程吗?做过binding吗?知道jsbridge的实现吗?知道怎么热更新吗?知道热更新的原理吗?知道怎么手写js引擎去做热更新吗?关于工程化。
webpack5是怎么做持久化储存的?mf是怎么服务于微前端的,又是怎么解决external的问题的?mf的原理是什么?hardsourceplugin的原理是什么,它为什么这么快?lerna的最佳实践?submodule的最佳实践?webpack和gulp怎么配合?tapable`究竟是什么抽象?浏览器。
render object的晋升过程?css和dom的融会时机?slp和raf的时机?什么是rafwithtimeout,存在的意义?vsync影响了什么?为什么不要为滚动增加事件监听?为什么要eval("debugger")?
- 什么是值?什么是类型?什么是变量? 它们之间的区别和联系?
- 基本类型和引用类型的区别是什么?
null和undefined区别是什么? - “一切皆对象”怎么理解?
number也是对象么?字符串也是对象么? - 基础类型存放在栈上,引用类型存放在堆上,请问是为什么? 字符串是存放在栈上么?对象中有一个
number 属性,那么number 属性是存放在堆上还是栈上? - 作用域的本质是什么?闭包和作用域的关系是什么?
let,const,var三者的本质不同是什么?为什么不推荐使用var- 数组的本质是什么,运用了什么样的设计模式?数组和对象的关系是什么?
- 原型链能够实现所谓的继承的本质原因是什么?
- 箭头函数是用来解决什么问题的?
- 什么是高阶函数?用处和用法?
- 什么是异步编程,为什么说它对 Web 开发很重要?