滴滴web前端线上面试

  1. CSS盒模型,如何指定盒模型
  2. vue 和 react 有什么区别?
  3. 为什么用Vue。你觉得React和Vue的区别是什么?各自适合哪些场景?
  4. 在一个字符串中找出连续重复的字符,这个字符可以是数字、字母和中文等。
  5. Http请求中的keep-alive有了解吗?简单描述一下
  6. 说说,基于NLP的汇款单自动生成APP这个项目?
  7. 举一些ES6对Function函数类型做的常用升级优化?
  8. 对BFC规范(块级格式化上下文:block formatting context)的理解?
  9. 什么是CDN,CDN对于网站有什么意义,它有什么样的缺点?
  10. React中的controlled component 和 uncontrolled component区别
  11. 什么是闭包?为什么要用闭包?
  12. React算是什么模式架构?Vue呢?
  13. 设计模式(单例……)
  14. 说说Diff算法。
  15. 如果给你一段js的字符串代码,比如var a = 1; ....这样的代码,你怎么去执行他
  16. 什么是函数柯里化?以及说一下JS的API有哪些应用到了函数柯里化的实现?
  17. 同一浏览器同一样式表在什么情况下会有不同的渲染效果?
  18. 父级元素下面无固定宽高的块元素,实现水平垂直居中
  19. 是怎么想到学前端的?未来职业目标规划(全栈,那写过哪些后台?)
  20. 描述一下原型链
  21. setTimeout一定会按时执行吗?

编程题

还记得童话《卖火柴的小女孩》吗?现在,你知道小女孩有多少根火柴,请找出一种能使用所有火柴拼成一个正方形的方法。不能折断火柴,可以把火柴连接起来,并且每根火柴都要用到。

输入为小女孩拥有火柴的数目,每根火柴用其长度表示。输出即为是否能用所有的火柴拼成正方形。

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

解释: 能拼成一个边长为2的正方形,每边两根火柴。


- 示例 2:

输入: [3,3,3,3,4] 输出: false

解释: 不能用所有火柴拼成一个正方形。