Saber2pr's Blog

如果是我面试别人

天天看面筋,天天被被人面试,写了这么久项目,现在让我来面一下你(

接受审判吧!(本面试持续更新!)

React

  1. jsx 的本质是什么(或者 jsx 编译后是什么东西)

  2. useState 执行返回的 state 来自哪里,是如何做到在 rerender 一颗新的 jsx 树时保持之前的值,同时使用多个 useState 为什么没有被后面的 useState 覆盖(或者为什么 Hook API 不能在 if 块里使用)

  3. setState 后 react 内部的渲染路径和逻辑,是如何做到从当前组件开始更新的(或者如何实现断点恢复的),为什么必须顶层使用 Hook API

  4. ref 是什么时候被赋值的

  5. useEffect 中的函数什么时候执行?什么时候需要隔离副作用?什么是副作用

  6. 如何更新 input 组件的 defaultValue?

  7. 使用了 useSelector 的组件内部做了哪些事情?

  8. HashRouter 和 BrowserRouter 的区别和原理?StaticRouter 是做什么用的?

工具

  1. axios 的 transformResponse 是做什么用的?

语言

  1. TS 如何从一个类型中剔除一个属性?如何剔除该类型中不是 Function 类型的属性?

  2. TS private 原理?

服务端渲染

  1. 同构渲染如何理解?

  2. React 服务端渲染是如何实现的?

  3. Next.js 服务端渲染原理?

  4. 服务端渲染遇到 dom 操作如何处理?

  5. seo 收录的是网站的哪些内容?

微信小程序

  1. webview 实现的小程序优缺点?和原生小程序相比除了代码之外有什么不同?

  2. 请说出小程序登录流程、公众号 H5 登录流程、webview 内 h5 登录流程?

  3. webview 内 h5 如何调用微信支付?

  4. webview 实现的小程序如何实现分享页面功能?