# 腾讯文档
# 一面
算法:用js实现随机选取1-100之间的5个数字,存入一个数组,并使用快速排序,不允许重复
算法:用函数实现,给定一个数组,元素都是正整数,要求返回这些元素组成的最大数。例如:[7,5,52,3]则返回75523
算法:
有[1,2,3,4,5,6,7,8,9,10]的数组,要求实现一个函数:
1,数字1在1秒后输出
2,数字2在数字1输出后的2秒后输出
3,数字3在数字2输出后的3秒后输出
以此类推。
要求至少用2种方式实现
解释 React 的 Fiber 架构
# 二面
- 解释你在项目中用 webpack 做过的内容
- 大学学过的课程
- 如何评价一个算法的优劣
- 快速排序的时间复杂度是多少,最优是多少,最差是多少?什么情况下会最优,什么情况下会最差
- 冒泡排序的时间复杂度是多少
- 链表和数组的区别
- 二叉树了解吗?什么是平衡二叉树?什么是满二叉树、完全二叉树?什么是红黑树?
- 二分查找是什么,以及如何实现二分查找
- 网络的 7 层模型
- HTTP 各版本区别
- HTTP 请求头中包含了什么;
- TCP 连接和 UDP 连接的区别
- 解释一下线程、进程?以及操作系统中各个进程之间是如何进行通信的;
- JS 实现异步编程的方式有哪些?
- 解释一下面向对象编程;
- 如何理解面向对象中的多态;
- 开发中用到了哪些设计模式;
- TS 的数据类型有哪些;
- 有没有做过 IE 的兼容;IE 兼容 ES6 吗?兼容 ES5 吗?
- 一万转成二进制有几位数;
- 实现题:获取当前浏览器userAgent,并将它转成base64,返回出现最多的字母