面试——其他篇
询问工作经历,在项目中如何做性能优化的? content方面* 减少HTTP请求:合并文件、CSS精灵、inline Image* 减少DNS查询:DNS查询完成之前浏览器不能从这个主机下载任何任何文件。方法:DNS缓存、将资源分布到恰当数量的主机名,平衡并行下载和DNS查询* 避免重定向:多余的中间访问* 使Ajax可缓存* 非必须组件延迟加载* 未来所需组件预加载* 减少DOM元素数量* 将资源放到不同的域下:浏览器同时从一个域下载资源的数目有限,增加域可以提高并行下载量* 减少iframe数量* 不要404 Server方面* 使用CDN* 添加Expires或者Cache-Control响应头* 对组件使用Gzip压缩* 配置ETag* Flush Buffer Early* Ajax使用GET进行请求* 避免空src的img标签 Cookie方面* 减小cookie大小* 引入资源的域名不要包含cookie css方面* 将样式表放到页面顶部* 不使用CSS表达式* 使用不使用@import* 不使用IE的Filter Javascript方面* 将脚本放到页面...
面试——html篇
DOCTYPE有什么用? 标准模式与兼容模式各有什么区别? DOCTYPE是“document type”的缩写。它是 HTML 中用来区分标准模式和怪异模式的声明,用来告知浏览器使用标准模式渲染页面 标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作。 cookie和seession区别 cookie数据存放在客户的浏览器上,session数据放在服务器上。 cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。 session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE。 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。 所以个人建议:将登陆信息等重要信息存放为SESSION,其他信息如果需要保留,可以放在COOKIE中 cookie 和 token 的区别? token是 服务经过计算发给客户端...
面试——js篇
import 和 require 导入的区别 require 是 AMD规范引入方式;import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法 require是运行时调用,所以require理论上可以运用在代码的任何地方;import是编译时调用,所以必须放在文件开头 本质上,require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量;而import是解构过程,但是目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语***被转码为require; import的原理 简单说就是闭包的运用 为了创建module的内部作用域,会调用一个包装函数 包装函数的返回值也就是module向外公开的api,也就是所有export出去的变量 import也就是拿到module导出变量的引用 commonjs 和 es module区别? commonJs是被加载的时候运行,esModule是编译的时候运行 commonJs输出...
面试——react篇
解释一下 Flux Flux 是一种强制单向数据流的架构模式。它控制派生数据,并使用具有所有数据权限的中心 store 实现多个组件之间的通信。整个应用中的数据更新必须只能在此处进行。 Flux 为应用提供稳定性并减少运行时的错误。 Flux 的最大特点,就是数据的”单向流动”。 过程: 用户访问 View View 发出用户的 Action Dispatcher 收到 Action,要求 Store 进行相应的更新 Store 更新后,发出一个”change”事件 View 收到”change”事件后,更新页面 了解redux么?说一下redux redux 是一个应用数据流框架,主要是解决了组件间状态共享的问题,原理是集中式管理, 主要有三个核心方法,action,store,reducer。 工作流程是 view 调用 store 的 dispatch 接收 action 传入 store,reducer 进行 state 操作,view 通过 store 提供的 getState 获取最新的数据,flux 也是用来进行数据操作的,有四个组成部分 action,di...
面试——vue篇
谈谈你对MVVM、MVC开发模式的理解 MVVM分为Model、View、ViewModel三者。* Model 代表数据模型,数据和业务逻辑都在Model层中定义;* View 代表UI视图,负责数据的展示;* ViewModel 负责监听 Model 中数据的改变并且控制视图的更新,处理用户交互操作; Model 和 View 并无直接关联,而是通过 ViewModel 来进行联系的,Model 和 ViewModel 之间有着双向数据绑定的联系。因此当 Model 中的数据改变时会触发 View 层的刷新,View 中由于用户交互操作而改变的数据也会在 Model 中同步。这种模式实现了 Model 和 View 的数据自动同步,因此开发者只需要专注对数据的维护操作即可,而不需要自己操作 dom。 什么是MVC:* M(modal):是应用程序中处理数据逻辑的部分。* V (view) :是应用程序中数据显示的部分。* C(controller):是应用程序中处理用户交互的地方 简述Vue的响应式原理 当一个Vue实例创建时,vue会遍历data选项的属性,用 O...







