小米 (一面)
- 自我介绍一下
- 之前工作 React Native 做了哪些优化 ?
- 如何看待 React Native 这个技术 ?
- 我观点是不看好这个技术, 然后面试官问: 所以你觉得 React Native 这个技术是没有价值的 ?
- 看你有说你熟悉 React Native 的最佳实践, 那你说一说最佳实践是啥?
- 项目难点是什么 ?
- 技术选型都是怎么考虑的 ?
- 你觉得你最突出的是什么 ?
- 一道简单的数组题目 ?
- 手写图片懒加载 ?
- webpack 打包解决了什么问题 ?
- 介绍下关于图片的优化
- 熟悉设计模式吗, 都有哪些 ?
- 发布订阅模式和观察者模式有什么区别?
- git merge 和 git rebase 区别是什么 ?
总结: 好多都没准备, 问题的项目比较多. 需要加强设计模式, ReactNative 阶段的业务细节忘了好多. 遗漏太多
途家 (一面)
全是问业务, 没啥技术含量, 感觉技术一般的公司
总结: 需要补齐 异常处理, Graphql .
伴鱼 (一面)
- 写关于异步执行顺序的一道题目, 然后将清楚为什么这么执行
- bind 和 new 的 this 指向原理
- 手写 Promise.all
- 手写 流程控制 没写出来
- node 知识, node 子进程
- 事件循环原理是什么? 在一次循环中都做了那些事?
- Graphql 意义
- BFC
- 类组件 和 函数组件性能优化细节
- react hook 如何调用组件实例方法
- 说一说你熟悉的 React Hook API, 然后针对每个 hook 进行细节发问.
- 对 React Hook 的理解
总结: 问的不多, 做题比较多, 然后针对细节深究发问, 问的问题最少, 但面试时间最长, 光 1 面就 2 个小时, 因为细节处纠缠了很多, 虐的我很惨, 虽然面试也通过了, 但发现了巨多的八股漏洞, 收获匪浅, 而且面试官非常善于引导, 你不会的题目, 他给你讲思路, 然后你当场接着实现.
YY (一面)
- 介绍下 HTTP2 有哪些新特性
- HTTP2 存在什么问题 ?
- 介绍下浏览器缓存
- 介绍下事件循环
- 微任务宏任务
- 任务队列
- setTimeout 原理
- 几个异步执行的题目
- 介绍下闭包
- 你所说的 V8 将闭包变量复制到堆空间, 是在哪个环节进行的 ?
- 介绍下浏览器缓存(强缓存和协商缓存)
- 上下文和作用域是什么, 有什么关系 ?
- 作用域链和原型链有什么差别 ?
- 介绍下 JS 几种异步方式的差别
- React Hook 解决了什么问题?
- 实现原理是什么 ?
- 为什么不能写在条件语句里 ?
- React 逻辑复用的几种方式分别是什么, 优劣如何 ?
- React 有哪些性能优化 ?
- new 的过程都做了什么 ?
总结: 比较符合八股文的定位, 都是常见的面试题, 技术分两种, 一种是了解细节的, 一种是了解大概的. 而 YY 给我的感受是了解大概, 中间有很多模棱两可的点没有深究发问, 都跳过了.