复习提纲

开发中遇到的问题&如何解决的
  1. 场景:中文名称按照拼音首字母分组,根据索引字母滚动到相应位置(scrollIntoView)
    localeCompare
    小程序规则无法正确排列
    解决方案: 汉字转拼音库,charCodeAt+汉字库
  1. electron notification

  2. https证书 电脑时间 问题

  3. async await reject

  4. 未引用redux前几个组件各返回数据,完成后执行某一方法的场景

  5. 用了Redux后 tabPannel 没有点击时不会willMount 预设state没有存到redux里,解决方案在redux存预设值,willmount时用redux值更新state

常考知识点准备

1day:
-----------------

  1. vue 数据双向绑定模式设计思路
  2. 原生js实现数据绑定
  3. 实现订阅者-发布者模式
  4. agular脏数据监测(需学习)
    -----------------

2day:
-----------------

  1. redux 源码实现 (需学习)
  2. react-redux 原理(需复习)
  3. react-router 相关考题: history(需学习)
  4. redux 数据流(需复习)
  5. redux请求中间件如何处理并发
    -----------------

3day:
-----------------

  1. webpack相关
    • 使用过webpack里面哪些plugin和loader
    • webpack里面的插件是怎么实现的
    • dev-server是怎么跑起来
    • 抽取公共文件是怎么配置的
  2. ATS(需学习)
    -----------------

3day:
-----------------

  1. react 设计思路(需复习)
  2. react diff 算法(需学习)
    ✅ 8. HOC (需学习)
    ✅ 9. react 新特性

react hooks - 使函数式组件能够使用状态和生命周期 useState, useEffect
*函数式组件 - 应当避免在底层的展示性组件中混入对于状态的管理,而应该将状态托管于某个高阶组件或者其他的状态容器中。利用函数式声明组件可以彻底保证不会在组件中进行状态操作。

✅ 17. React组件中怎么做事件代理 & React组件事件代理的原理
✅ 18. React怎么做数据的检查和变化
-----------------

1day:
-----------------

  1. service worker
  2. 其他:
    ✅ 防抖,节流,
    ✅ xss (评论加上js语句), csrf(拿到session模拟用户行为) 攻击方式,
    ✅ call,apply,bind,
    ✅ 跨域,jsonp
    -----------------

3day:
-----------------
✅ 21. 迭代器

✅ 22. js新特性(es6): 模块化,Class, Symbol.iterator,for in ,for of
Symbol应用: 1.命名空间 2.设计数据结构 3.实现类的私有属性

✅ 23. es6看完

✅ 19. Promise,async,await原理 (需整理)

Promise原理
then((onFulfilled)=>{
return new Promise((resolve)=>{
return handle({
onFulfilled,
resolve
})
})
})

async,await原理
generator + 自动执行器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function spawn(genF) {
return new Promise(function(resolve, reject) {
const gen = genF();
function step(nextF) {
let next;
try {
next = nextF();
} catch(e) {
return reject(e);
}
if(next.done) {
return resolve(next.value);
}
Promise.resolve(next.value).then(function(v) {
step(function() { return gen.next(v); });
}, function(e) {
step(function() { return gen.throw(e); });
});
}
step(function() { return gen.next(undefined); });
});
}

-----------------

-----------------
算法+刷题:
7day
-----------------

✅ 24. AMD,CMD,ES6 module概念

计划安排:

  1. 你不知道的js
    2.12前看完上中下 6周
    1, 2.5 , 2.5
    1周复习上,整理笔记,画脑图
    剩下两本1.5周学习,1周复习+画脑图

熟悉HTML/CSS/HTML5/CSS3/JS/ES6,熟练使用flex布局
熟练掌握promise, async/await
2年electron项目开发经验
2年移动端开发经验
熟练掌握es6
熟练掌握react及redux
了解vue,有vue项目开发经验
了解node,有node简单项目经验