2019初面试总结
2019-01-09 本文已影响0人
从前慢pearl
1,异步、作用域、闭包
image.png
一般的:
image.png
2,
image.png image.png
1,正则
2,底耦合 高内聚 功能复用
低耦合:
各个模块之间的联系越紧密,耦合性越高
高内聚:
同一个模块内元素彼此结合的紧密程度
功能复用:
组件抽象出来
3,rem和em
rem: 相对于根元素
em: 相对于父元素
4,对象
类的实例
静态信息:有特性、状态的值
动态信息:操作、功能
5,数组顺序打乱( 随机数)
Math.round(Math.random()*10) 0~10的随机数
image.png
6,适配(媒体查询)
栅格系统、百分比、rem、em、媒体查询
7,删格的原理
百分比和媒体查询加结合使用
8,二叉树的时间复杂度
image.png9,评估(自己估量)时间复杂度和空间复杂度
时间复杂度 = 语句执行的次数*执行时间的总和
空间复杂度:不包括算法程序代码和所处理的数据本身占用的空间,而是额外空间的使用字节
学习的资源
10,return 同一种数据类型
11,opcity visibility display 元素不可见的区别
opcity : 0 元素隐藏 占位 有事件
visibility : hidden 元素隐藏 占位 无事件
display : none 元素隐藏 不占位 无事件
12,CDN
内容分发管理
降低流量对服务器的压力,多台服务器之间负载均衡
13,为什么不能跨域
浏览器设置的不能跨域
防止信息被获取,保证页面最基本的安全
同源:同协议、同域名、同端口
image.png
14,xss攻击
反射xss: 需要被害者用户手动触发一个url链接
储存xss: 攻击者将攻击代码写入网页,这些代码一直留在网页
上,之后访问这个网页的人都会受到攻击
目的:偷取用户的信息
解决办法:
1,对用户输入的信息进行转义
2,把用户输入的信息保存起来,前端在使用时把数据进行转义
15,vue传值
1,跨域解决
1)jsonp 回调函数
2)document.domain
3) 挂在到window 对象上
4)window.postMessage
2,vuex
状态变量提升到全局
3, 登录失效的做法
1)前端发送登录请求接口
2)后端返回登录token 前端得到后端返回的token 保存在localst orange 里面 后续请求都携带token
3) 后端判断登录是否过期 如果过期 返回状态码
4) 前端通过状态码 清除localstorage 里面的数据 重定向到登录页
4,二次封装
5,定位flex
6,js的基本数据类型
7,新建对象
8,闭包的特点
函数嵌套、外部使用函数内部的变量、参数和变量不会被垃圾回收机制回收
好处:
避免全局变量污染
坏处:
变量不会被回收,容易内存泄漏
9,网页宽度设置
1000px 其他不设置宽度
10,事件代理
动态添加的元素没有事件
11,rem的原理
等比缩放
12,解决js文件缓存
在js文件上加版本号 发布时间 时间戳
添加meta 属性值(css和js文件有效)
服务器设置强制不缓存
13,变量提升
变量可以先使用再声明
14,vue 的好处
15,null 和undifined 的区别
Null 空对像指针
undifined 变量声明未赋值
16,语义化标签的好处
1)有利于Seo
2)可读性增强