前端面试题01

  1. 谈谈输完网址按下回车到看到网页这个过程发生了什么?

    1. 域名解析
    2. 发起TCP三次握手
    3. 建立TCP连接后发起http请求
    4. 服务器端响应http请求,浏览器得到html代码
    5. 浏览器解析html代码,并请求html代码中的资源
      6.浏览器对页面惊醒渲染呈现给用户
  2. 谈谈你对前端性能优化的理解

    1. 请求数量:合并脚本和样式表,CSS Sprites,拆分初始化负载,划分主域
    2. 请求带宽:开启GZip,精简javascript,移除重复脚本,图像优化,将icon做成字体
    3. 缓存利用:使用CDN,使用外部javascript和css,添加Expires头,减少DNS查找,配置ETag,是Ajax可缓存
    4. 页面结构: 将样式表放在顶部,将脚本放在底部,尽早刷新文档的输出
    5. 代码校验: 避免css表达式,避免重定向
  3. 前端MV*框架的意义?

    1. 页面型产品,页面中的javascript代码,处理交互远远超过处理模型。使用jquery这类库比较好
      2.应用产品类的需要
  1. 请谈谈Cookie的利弊?

    1. 每个域名下最多生成的cookie的个数是有限的
    2. IE和Opera会清理近期最少使用的cookie,Firefox会随机清理cookie
    3. cookie的最大空间为4096个字节,为了兼容性,一般不超过4095个字节
    4. 安全性问题。如果cookie被人拦截了,那人就可以获取所有session信息。
  2. 谈谈本地存储

    1.HTMl5中提供sessionStorage和localStorage。

    1. sessionStorage用于本地存储一个session中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之消失,是会话级别的存储。
    2. localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。