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

Web大前端面试题-Day12的更多相关文章

  1. Web大前端面试题-Day7

    1. 你能描述一下渐进增强和优雅降级之间的不同吗? 定义: 优雅降级(graceful degradation): 一开始就构建站点的完整功能, 然后针对浏览器测试和修复 渐进增强(progressi ...

  2. Web大前端面试题-Day6

    1.请说明ECMAScript, JavaScript, Jscript之间的关系? ECMAScript提供脚本语言必须遵守的规则. 细节和准则,是脚本语言的规范. 比如:ES5,ES6就是具体的一 ...

  3. Web大前端面试题-Day4

    1. 如何实现瀑布流? 瀑布流布局的原理:1) 瀑布流布局要求要进行布置的元素等宽,   然后计算元素的宽度,   与浏览器宽度之比,得到需要布置的列数;2) 创建一个数组,长度为列数,   里面的值 ...

  4. Web大前端面试题-Day11

    86.如何获得高效的数据库逻辑结构? 从关系数据库的表中 删除冗余信息的过程 称为数据规范化, 是得到高效的关系型数据库表的逻辑结构 最好和最容易的方法. 规范化数据时应执行以下操作: 1.将数据库的 ...

  5. Web大前端面试题-Day10

    1. px和em的区别? px和em都是长度单位; 区别是: px的值是固定的,指定是多少就是多少, 计算比较容易. em得值不是固定的,并且em会继承父级元素的字体大小. 浏览器的默认字体高都是16 ...

  6. Web大前端面试题-Day8

    1. 说说你对作用域链的理解? 作用域链的作用是保证执行环境里 有权访问的变量和函数是有序的, 作用域链的变量只能向上访问, 变量访问到window对象即被终止, 作用域链向下访问变量是不被允许的; ...

  7. Web大前端面试题-Day1

    1. var的变量提升的底层原理是什么? JS引擎的工作方式是:1) 先解析代码,获取所有被声明的变量:2)然后在运行.也就是说分为预处理和执行两个阶段. 变量提升:所有变量的声明语句都会被提升到代码 ...

  8. Web大前端面试题-Day9

    1. 请用至少3中方式实现数组去重? 方法一: indexOfvar arr1=[1,2,3,4,5,4,3,2,1];  function repeat1(arr){    for(var i=0, ...

  9. Web大前端面试题-Day5

    1.写一个深度克隆方法(es5)? /** *  深拷贝 * @param {object}fromObj 拷贝的对象 * @param {object}toObj  目标对象 */ function ...

随机推荐

  1. python3爬虫二

    1.获取列表页文章url集合: scrapy shell http://blog.jobbole.com/all-posts/ response.css('div.post-meta a.archiv ...

  2. UML和模式应用4:初始阶段(3)--需求制品之用例模型

    1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...

  3. springboot系列十二、springboot集成RestTemplate及常见用法

    一.背景介绍 在微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Apache的Http Client.N ...

  4. 利用navcat为mysql数据库单独的表赋权限及表结构同步

    为mysql数据库单独的表赋权限 场景:考勤系统需要拿OA数据库td_oa中的flow_run和flow_run_data表中的数据做考勤计算 考勤系统只需要读取这两张表的数据,所以只需要开通一个单独 ...

  5. gitlab代码仓库迁移

    有的时候我们需要对gitlab上的代码进行迁移,希望在迁移后能保持原有的branch.tag.commit记录等.可以使用以下方式: 1.clone代码到本地. 2.修改remote仓库的地址,添加新 ...

  6. 轻松读懂MSIL

    原文:http://www.cnblogs.com/brookshi/p/5225801.html

  7. webpack 4.0.0-beta.0 新特性介绍

    webpack 可以看做是模块打包机.它做的事情是:分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式 ...

  8. hdu4768二分答案

    /* 如果发的传单是偶数,那么所有人都收到双数张. 仅考虑发了单数张传单,二分答案x,如果x左边是偶数,那么答案在右侧,如果x左边是奇数,那么答案在左侧 */ #include<iostream ...

  9. python接口自动化测试二十:函数写接口测试

    # coding:utf-8import requestsimport refrom bs4 import BeautifulSoup # s = requests.session() # 全局的s ...

  10. 用switch语句判断月份,打印出当前月份所在的季节

    var today=new Date(); var abc=today.getMonth(); switch (abc) { case 0: case 1: case 2: document.writ ...