- 前端存储
- 缓存策略 http://www.cnblogs.com/vajoy/p/5341664.html
- 异步编程方案
- 负载均衡
- 性能优化
- throttle和debounce的实现
- 图片预加载
- 前端路由的实现
- webscoket(见之前的文章)
- ?webpack-dev-server热加载更新的原理
- 箭头函数的this
- (算法)寻找最大的k个数
- js模块化
- 常见兼容性
- url长度为什么受限制
- xhr 的过程
- 组件通信
- web前端安全
- 闭包的应用场景
深入闭包 -
http/1.x客户端需要多个连接才能实现并发和缩短延迟;http1.x不会压缩请求和响应标头,从而导致不必要的网络流量;http1.x不支持有效的资源优先级,致使底层tcp连接的利用率低下
http2通过支持标头字段压缩和在同一连接上进行多个并发交换,让应用更有效地利用网络资源,减少感知的延迟时间;还允许为请求设置优先级,让更重要的请求更快速地完成,从而进一步提升性能;可以使用更少的tcp连接
http2更快、更稳定、更简单
http2所有性能增强的核心在于新的二进制分帧层 - substr、substring、slice的区别
- cooke和storage
- restful???
- git创建分支的 命令
- bom和dom的区别
- margin-collapse
- 伪元素的用法
- js中proto和prototype的区别和关系?
- indexDB
- 用于客户端存储大量结构化数据,使用索引来实现对该数据的高性能搜索
- webstorage 对于存储少量数据很有用,但对于存储大量的结构化数据就不好用
- call、apply、bind
- 实现继承的方式
- 设计模式
- web语义化
根据内容的结构化,选择合适的标签,便于开发者阅读和写出更优雅的代码的同时,让浏览器的爬虫和机器更好的解析
- 逐步输出1-10
- ?vue双向绑定的实现
- 跨域的方法
- http和https的区别
-
xss:跨站脚本攻击;CSRF:跨站请求伪造
- xss一般是代码注入,影响用户的正常体验。对于这种攻击要注意对用户的输入进行转义
- CSRF:冒充用户之手。伪造请求,冒充用户在站内的正常操作,危害比xss大得多。其中一种手段是XSS,但却不止一种,img的src属性中也能发送请求。被伪造的请求可以是任何来源,而非一定是站内。对于这种攻击,所以我们唯有一条路可行,就是过滤请求的处理者。其中一种有效的手段就是‘请求令牌’。
- 请求令牌:首先服务器端要以某种策略生成随机字符串,作为令牌(token),保存在 Session 里。然后在发出请求的页面,把该令牌以隐藏域一类的形式,与其他信息一并发出。在接收请求的页面,把接收到的信息中的令牌与 Session 中的令牌比较,只有一致的时候才处理请求,否则返回 HTTP 403 拒绝请求或者要求用户重新登录验证身份
-
用户选择记住登录状态的时候,将sessionID、用户名以及加密后的密码都存在cookie中。下次再登录的时候,直接发送sessionID给服务器,就能找到服务器上对应的session,从而直接登录;顺便记住用户名和密码是因为,服务器上的session会定期清除,清除之后,即使客户端发送sessionId给服务器,服务器也找不到对应的登录信息,此时就需要重新发送用户名和密码进行登录。
- react中的diff 算法
- 虚拟dom
- 排序算法
- 懒加载和预加载
- 优化首屏加载时间
- 三次握手和四次挥手
- DNS递归查询和迭代查询的区别
递归查询,dns服务器一直向下请求,直到获得最终的ip地址才 返回
迭代查询,每次请求都会返回一个结果,如果返回的不是目的ip地址,则继续发送请求向返回的服务器地址查询 - js获取屏幕宽度和高度
- jq如何实现选择器
- pc端和移动端开发的区别
- 300ms延迟的解决办法
- 各数据类型所占字节数
- sizeof计算大小的方法
MVVM是为了解决什么问题
MVVM的出现主要是为了解决在开发过程中Controller越来越庞大的问题,变得难以维护,所以MVVM把数据加工的任务从Controller中解放了出来,使得Controller只需要专注于数据调配的工作,ViewModel则去负责数据加工并通过通知机制让View响应ViewModel的改变。
- MVC、MVP、MVVM的区别
- BOM和DOM
- http的请求方法
- 单向数据流和双向数据流的优缺点
cors跨域请求
access-control-allow-origin
- 继承的实现方式
- http报文格式
面试知识点
最新推荐文章于 2021-03-22 22:41:22 发布