自己收集的面试题
关于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 开发很重要?