微信前端一面

  1. 你觉得Vue双向绑定的效率如何?如何加快Vue页面渲染的效率。
  2. 你觉得typescript和javascript有什么区别?
  3. Sparse模块如何实现(主要自己写了一个类似的库)
  4. 封装一个函数,参数是定时器的时间,.then执行回调函数。
  5. 你前端哪个框架更熟悉?介绍下双向绑定的原理?
  6. 前端有哪几种本地存储方式,简述各自的特点
  7. 介绍事件“捕获”和“冒泡”执行顺序和事件的执行次数?
  8. 平时怎么学前端?最近看的印象比较深的知识点。
  9. react hooks 说了下区别特性
  10. 解释原型继承是如何工作的?
  11. 从一个无序,不相等的数组中,选取N个数,使其和为M实现算法
  12. angularjs
  13. 了解弹性布局吗?
  14. 你知道有没有什么事件不支持冒泡,捕获的?
  15. 列举三种禁止浏览器缓存的头字段,并写出响应的设置值
  16. 二叉树说下,有什么遍历方式 - 前中后序
  17. 说一下你对generator的了解?
  18. 写一个布局:要求:整体尺寸等于浏览器窗口的尺寸,设置最小高度和最小宽度
  19. 基本数据类型,怎么区分数据类型
  20. 如何获取radio值
  21. js中== 和===的区别

编程题

给你一个整数数组 nums 和一个整数 target 。

向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 :

例如,nums = [2, 1] ,可以在 2 之前添加 '+' ,在 1 之前添加 '-' ,然后串联起来得到表达式 "+2-1" 。 返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。

  • 示例 1: ``` 输入:nums = [1,1,1,1,1], target = 3 输出:5 解释:一共有 5 种方法让最终目标和为 3 。

-1 + 1 + 1 + 1 + 1 = 3 +1 - 1 + 1 + 1 + 1 = 3 +1 + 1 - 1 + 1 + 1 = 3 +1 + 1 + 1 - 1 + 1 = 3 +1 + 1 + 1 + 1 - 1 = 3


- 示例 2:

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