去哪儿网web前端线上面经

  1. webpack打包后文件体积过大怎么办?
  2. 聊敏捷开发模式
  3. 在JS中用过数组的哪些方法(splice()功能+各个参数)
  4. 箭头函数和普通函数的区别?
  5. 简单描述一下浏览器的渲染流程
  6. 鼠标滚动的时候,会触发很多次事件,如何解决的?
  7. Promise 内部实现机制
  8. 你前端哪个框架更熟悉?介绍下双向绑定的原理?
  9. 什么情况会触发重排和重绘?
  10. 箭头函数和别的函数有什么区别
  11. vue的生命周期
  12. 你觉得JS是单线程还是多线程的?除了HTML5新特性之外如何实现JS多线程。
  13. Object.is() 与原来的比较操作符 ===、== 的区别?
  14. 什么是内存泄漏和垃圾回收
  15. 你了解过vue吗?说一下vue3和vue2的区别?
  16. 实现一个三列布局,左边固定大小,其他两列占据剩余空间的50%(使用flex或者使用float)
  17. CSS选择符有哪些?哪些属性可以继承?
  18. 了解过cookie吗,怎么删除一个cookie呢?
  19. 用纯CSS创建一个三角形的原理是什么?
  20. 你为什么要离开上一家公司?
  21. angular的directive怎么写
  22. 有什么比较复杂的项目,有些什么样的亮点?,有什么难点?
  23. 封装一个函数,参数是定时器的时间,.then执行回调函数

编程题

和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 。

现在,给你一个整数数组 nums ,请你在所有可能的子序列中找到最长的和谐子序列的长度。

数组的子序列是一个由数组派生出来的序列,它可以通过删除一些元素或不删除元素、且不改变其余元素的顺序而得到。

  • 示例 1:

    输入:nums = [1,3,2,2,5,2,3,7]
    输出:5
    解释:最长的和谐子序列是 [3,2,2,2,3]
    
  • 示例 2:

    输入:nums = [1,2,3,4]
    输出:2
    
  • 示例 3:

    输入:nums = [1,1,1,1]
    输出:0