# 字节跳动(互娱)
# 一面
自我介绍
介绍做过的组件库的内容
大数据量的同时渲染是如何实现的
介绍一下迁移 ts 项目的背景以及负责的内容
为什么会在服务端渲染的项目中使用 graphql,使用的目的是什么
介绍一下浏览器的缓存
前端安全讲一下
小程序逻辑层和渲染层之间如何通信
算法
console.log('开始'); setTimeout(() => { console.log('输出一个信息'); }, 0); console.log('执行'); new Promise(resolve => { console.log('马上执行for循环啦'); for(var i = 0; i < 100; i++){ i == 99 && resolve(); } }).then(() => { console.log('执行then函数啦') }); console.log('结束');
// 数字格式化问题:1234567089 --> 1,234,567,089
/* 求二叉树所有根到叶子路径组成的数字之和 二叉树每个节点的value范围是1-9 例如: 1 2 3 4 5 从根到叶子共3条:1->2->4, 1->2->5, 1->3 构成的数字为124,125,13,求和124 + 125 + 13 = 262即为所求 let root = { val: 1, left: { val: 2, left: { val: 4, left: null, right: null, }, right: { val: 5, left: null, right: null, }, }, right: { val: 3, left: null, right: null, } } */
# 二面
- 自我介绍
- 日常中有用过哪些 es next 的新特性
- 实现一个
Promise.all
- 介绍一下你用过哪些 TS 的特性
- 实现一个
React.Component
的类型声明 - 迁移 ts 的目的,以及迁移完成之后是否达到愿景
- 介绍一下你在用 webpack 的时候用过 webpack 里面的哪些东西
- WebpackDevServer 的工作原理是什么
- 服务端是如何知道文件发生了修改
- 服务端对文件是有优化的,知道优化的原理吗
- 客户端如何进行增量更新
- 有没有写过 loader
- loader、plugin 原理
- 设计一个组件的时候你会有哪些考虑
- 在开发组件的过程中有用到过哪些设计模式
- redux 迁移 mobx 的原因