腾讯面经

面试

  • 知道什么是事件委托吗?

  • 对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个,实现一个算法保证你赢