去哪儿网web前端工程师一面面经

  1. 鼠标滚动的时候,会触发很多次事件,如何解决的?
  2. 说一下时间复杂度(冒泡、快速排序、二叉搜索树是多少?)
  3. no-catch和no-store的区别是什么?
  4. JS模块化Commonjs,UMD,CMD规范的了解,以及ES6的模块化跟其他几种的区别,以及出现的意义。
  5. 你知道有没有什么事件不支持冒泡,捕获的?
  6. 在jquery中怎么找到所有元素的同辈元素?
  7. JavaScript如何实现一个类,怎么实例化这个类?
  8. 如何设计一个轮播插件,用伪代码简述思路
  9. js继承的几种方式?
  10. 引入 JavaScript 脚本文件的使用使用到 script 标签,其中 defer/async 有什么区别?
  11. script的async有什么用?
  12. nodejs中定时器process.nextTick和setImmediate的区别,优先级
  13. vue框架和别的框架有什么区别?
  14. 讲一下函数作用域和块级作用域
  15. position, absolute 和 fixed 区别
  16. 对MVC、MVP以及MVVM了解吗?有提到MVVM的双向绑定,然后又问到双向绑定是绑定谁和谁?
  17. 说说你处理过的浏览器兼容性问题
  18. 正则从2018-10-07T11:48:47 Asia/zh-cn 提取出来结果[2018,10,07,11,48,47]
  19. 实现数组拍平

编程题

给定一个数组 nums ,如果 i < j 且 nums[i] > 2*nums[j] 我们就将 (i, j) 称作一个重要翻转对。

你需要返回给定数组中的重要翻转对的数量。

  • 示例 1:

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

    输入: [2,4,3,5,1]
    输出: 3