京东商城前端面试

  1. 基本数据类型,怎么区分数据类型
  2. 分析一下移动端日历,PC端日历以及桌面日历的一些不同和需要注意的地方。
  3. 哈希冲突怎么解决
  4. 说说Vue的状态机怎么实现的,或者说为什么不能直接修改值。
  5. generator的原理
  6. 块级元素和行内元素区别?怎么设置?
  7. 回流和重绘
  8. 描述一下闭包,谈谈闭包的缺点
  9. 说说你处理过的浏览器兼容性问题
  10. img的src也可以跨域吗?
  11. Jquery选择器怎么实现
  12. 编写一个元素拖拽的插件
  13. Stream是什么,使用的两种模式
  14. 描述一下React的虚拟dom,为什么要用虚拟dom
  15. 懒加载怎么实现
  16. Vue组件中子组件如何与父组件进行通信?
  17. 什么情况会内存泄漏?
  18. 说一下你上一家公司的一个整体开发流程吧
  19. 你为什么要离开上一家公司?

编程题

  • 给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1。 您可以假设数组的长度最多为10000。

示例 1:

输入:
[1,2,3]

输出:
2

说明:
只有两个动作是必要的(记得每一步仅可使其中一个元素加1或减1): 

[1,2,3]  =>  [2,2,3]  =>  [2,2,2]