Web大前端面试题-Day12
1、前端需要注意哪些SEO?
合理的title、description、keywords:
搜索对着三项的权重逐个减小,
title值强调重点即可,
重要关键词出现不要超过2次,
而且要靠前,
不同页面title要有所不同;
description把页面内容高度概括,长度合适,
不可过分堆砌关键词,
不同页面description有所不同;
keywords列举出重要关键词即可
语义化的HTML代码,符合W3C规范:语义化代码让搜索引擎容易理解网页
重要内容HTML代码放在最前:搜索引擎抓取HTML顺序是从上到下,
有的搜索引擎对抓取长度有限制,
保证重要内容一定会被抓取
重要内容不要用js输出:爬虫不会执行js获取内容
少用iframe:搜索引擎不会抓取iframe中的内容
非装饰性图片必须加alt
提高网站速度:网站速度是搜索引擎排序的一个重要指标
2、<img>的title和alt有什么区别?
通常当鼠标滑动到元素上的时候显示
alt是<img>的特有属性,是图片内容的等价描述,
用于图片无法加载时显示、
读屏器阅读图片。
可提图片高可访问性,
除了纯装饰图片外都必须设置有意义的值,
搜索引擎会重点分析。
3、HTTP的几种请求方法用途?
1、GET方法
发送一个请求来取得服务器上的某一资源
2、POST方法
向URL指定的资源提交数据或附加新的数据
3、PUT方法
跟POST方法很像,也是想服务器提交数据。
但是,它们之间有不同。
PUT指定了资源在服务器上的位置,
而POST没有
4、HEAD方法
只请求页面的首部
5、DELETE方法
删除服务器上的某资源
6、OPTIONS方法
它用于获取当前URL所支持的方法。如果请求成功,
会有一个Allow的头
包含类似“GET,POST”这样的信息
7、TRACE方法
TRACE方法被用于激发一个远程的,应用层的请求消息回路
8、CONNECT方法
把请求连接转换到透明的TCP/IP通道
4、从浏览器地址栏输入url到显示页面的步骤?
浏览器根据请求的URL交给DNS域名解析,
找到真实IP,
向服务器发起请求;
服务器交给后台处理完成后返回数据,浏览器接收文件(HTML、JS、CSS、图象等);
浏览器对加载到的资源(HTML、JS、CSS等)进行语法解析,建立相应的内部数据结构(如HTML的DOM);
载入解析到的资源文件,渲染页面,完成。
5、如何进行网站性能优化?
content方面
减少HTTP请求:合并文件、CSS精灵、inline Image
减少DNS查询:DNS缓存、将资源分布到恰当数量的主机名
减少DOM元素数量
Server方面
使用CDN
配置ETag
对组件使用Gzip压缩
Cookie方面
减小cookie大小
css方面
将样式表放到页面顶部
不使用CSS表达式
使用<link>不使用@import
Javascript方面
将脚本放到页面底部
将javascript和css从外部引入
压缩javascript和css
删除不需要的脚本
减少DOM访问
图片方面
优化图片:根据实际颜色需要选择色深、压缩
优化css精灵
不要在HTML中拉伸图片
6、语义化的理解?
用正确的标签做正确的事情!
html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;
在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的。
搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,
利于 SEO。
使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解
7、WEB标准以及W3C标准是什么?
标签闭合、标签小写、不乱嵌套、
使用外链css和js、结构行为表现的分离
8、说说你对作用域链的理解?
作用域链的作用是保证执行环境里
有权访问的变量和函数是有序的,
作用域链的变量只能向上访问,
变量访问到window对象即被终止,
作用域链向下访问变量是不被允许的
简单的说,作用域就是变量与函数的可访问范围,
即作用域控制着变量与函数的可见性和生命周期
9、谈谈This对象的理解?
this总是指向函数的直接调用者(而非间接调用者)
如果有new关键字,this指向new出来的那个对象
在事件中,this指向触发这个事件的对象,
特殊的是,
IE中的attachEvent中的this总是指向全局对象Window
10、XML和JSON的区别?
数据体积方面
JSON相对于XML来讲,数据的体积小,传递的速度更快些。
数据交互方面
JSON与JavaScript的交互更加方便,更容易解析处理,更好的数据交互
数据描述方面
JSON对数据的描述性比XML较差
传输速度方面
JSON的速度要远远快于XML