# 腾讯面经

## 面试

* [ ] 知道什么是事件委托吗？
* [ ] 对Promise了解吗？
* [ ] window的onload事件和domcontentloaded谁先谁后？
* [ ] 你之前遇到过跨域问题吗？是怎么解决的？
* [ ] 原型链各种
* [ ] typeof和instanceof的区别
* [ ] new和instanceof的内部机制
* [ ] for循环没有闭包的执行
* [ ] 刚刚我们用到了箭头函数，说一下箭头函数This指向问题？
* [ ] for...in迭代和for...of有什么区别？
* [ ] 说一下你对generator的了解？
* [ ] 使用过flex布局吗？flex-grow和flex-shrink属性有什么用？
* [ ] 说一下macrotask 和 microtask？并说出下面代码的运行结果。
* [ ] Http请求中的keep-alive有了解吗
* [ ] React中的controlled component 和 uncontrolled component区别（受控组件和不受控组件）。
* [ ] 了解过react-router内部实现机制吗？
* [ ] 数组扁平化处理：实现一个flatten方法，使得输入一个数组，该数组里面的元素也可以是数组，该方法会输出一个扁平化的数组。
* [ ] 如果在上一问的前提下，要做去重和排序处理又该怎么做（不用给出具体代码
* [ ] 从输入URL到页面加载发生了什么？
* [ ] 请描述一下DNS解析的具体过程？
* [ ] TCP是如何发起连接和关闭连接的？( 3次握手，4次挥手）
* [ ] 你知道哪些状态码？
* [ ] 刚刚你说的整个过程中，有哪些优化手段可以优化提高网页响应速度？
* [ ] 5点15分，时钟和分钟的夹角？
* [ ] 8个外表一样的小球 其中7个球重量相同 1个球为\[异常球] 可能重量比较重也可能比较轻 利用天平称重至少多少次可以确保找出这个\[异常球]，并需要知道到底是轻了还是重了。

## 笔试

* [ ] 实现一个div滑动的动画，由快至慢5s结束（不准用css3)

  原生js实现，要求：不能搜索网上资源，做到组件化，时间100 min。
* [ ] 页面内有一个input输入框，实现在数组arr查询命中词并要求autocomplete效果。

  原生js实现，要求：不能搜索网上资源，做到组件化，时间100 min。
* [ ] 实现超出整数存储范围的两个大整数相加function add(a,b)。注意a和b以及函数的返回值都是字符串
* [ ] 写一个处理跨域的jsonp
* [ ] 实现parseInt一样功能的函数
* [ ] 实现快排
* [ ] 有n个棋子，A/B互相取棋子，每个人最多拿4个，实现一个算法保证你赢
