前端面试题目

Posted by monkey-yu on December 28, 2018 | 浏览量: -

前端面试第一讲

正文

前端需要注意哪些SEO

  1. 合理的title、description、keywords:搜索对这三项的权重逐个减小。title值强调重点即可,重要关键词出现不超过2次,要靠前,不同页面title要有所不同;description把页面内容高度概括,长度合适;keywords列举出重要关键词即可。
  2. 语义化的html代码,符合w3c规范,语义化让搜索引擎容易理解网页。
  3. 重要内容HTML代码放在最前。搜索引擎抓取HTML顺序是从上到下,且长度有限制。
  4. 重要内容不要用js输出:爬虫不会执行js获取内容。
  5. 提高网站速度:网站速度是搜索引擎排序的一个重要指标。

web开发中会话跟踪的方法有哪些

cookie 、session 、url重写 、隐藏input、ip地址

从浏览器地址栏输入url到显示页面的步骤(以http为例)

  1. 在浏览器地址输入url;
  2. 浏览器查看缓存,如果请求资源在缓存中并新鲜,跳转到转码步骤
    1. 如果资源未缓存,发起新请求
    2. 如果已缓存,检查是否足够新鲜,足够新鲜直接提供给客户端,否则与服务器进行验证。
    3. 检查新鲜通常有两个http头进行控制Expires 和Cache-Control:
      1. HTTP1.0提供Expires,值为一个绝对时间表示缓存新鲜日期
      2. HTTP1.1增加了Cache-Control:max-age=,值为以秒为单位的最大新鲜时间
  3. 浏览器解析URL获取协议,主机,端口,path
  4. 浏览器组装一个HTTP(GET)请求报文
  5. 浏览器获取主机IP地址,过程如下:
    1. 浏览器缓存
    2. 本机缓存
    3. hosts文件
    4. 路由器缓存
    5. ISP DNS缓存
    6. DNS递归查询
  6. 打开一个socket与目标IP地址,端口建立TCP链接,三次握手
  7. TCP链接建立后发送HTTP请求
  8. 服务器接受请求并解析,将请求转发到服务程序
  9. 服务器检查HTTP请求头是否包含缓存验证信息如果验证缓存新鲜,返回304等对应状态码
  10. 服务器将响应报文通过TCP连接发送回浏览器
  11. 如果资源可缓存,进行缓存
  12. 对响应进行解码
  13. 解析HTML文档,构件DOM树,下载资源,构造CSSOM树,执行js脚本
  14. 显示页面(HTML解析过程中会逐步显示页面)

如何进行网站性能优化

  • 内容方面:
    1. 减少http请求
    2. 减少DNS查询
    3. 避免重定向
    4. 非必须组件延迟加载
    5. 未来所需组件预加载
    6. 使ajax可缓存
  • server方面:
    1. 使用CDN
    2. 添加Expires 或者Cache-Control响应头
    3. 对组件进行Gzip压缩
    4. 配置ETag
    5. 避免空src的img标签
  • Cookie方面:
    1. 减小cookie大小
    2. 引入资源的域名不要包含cookie
  • Javascript方面:
    1. 将脚本放到页面底部
    2. 压缩js和css
    3. 减少DOM访问
    4. 合理设计事件监听器
  • 图片方面:
    1. 优化图片
    2. 不要在html中拉伸图片
    3. 保证favicon.ico小并且可缓存