1、**Doctype作用?严格模式与混杂模式如何区分?它们有何意义?
    答:
    1)<!Doctype>放置于文档中最前面,处于标签之前。告知当前浏览器的解析器以什么文档类型规范来解析该文档。
    2)严格模式,又称标准模式,指浏览器按照W3C标准解析代码。
    混杂模式,又称怪异模式或者兼容模式,指浏览器用自己的方式解析代码。
    区分:浏览器解析时到底使用严格模式还是混杂模式,与网页中的 DTD 直接相关。
    1、如果文档包含严格的 DOCTYPE ,那么它一般以严格模式呈现。
    (严格 DTD ——严格模式)
    2、包含过渡 DTD 和 URI 的 DOCTYPE ,也以严格模式呈现,但有过渡 DTD 而没有 URI (统一资源标识符,就是声明最后的地址)会导致页面以混杂模式呈现。
    (有 URI 的过渡 DTD ——严格模式;没有 URI 的过渡 DTD ——混杂模式)
    3、DOCTYPE 不存在或形式不正确会导致文档以混杂模式呈现。
    (DTD不存在或者格式不正确——混杂模式)
    4、HTML5 没有 DTD ,因此也就没有严格模式与混杂模式的区别,HTML5 有相对宽松的语法,实现时,已经尽可能大的实现了向后兼容。
    ( HTML5 没有严格和混杂之分)
    3)
    意义:**严格模式与混杂模式存在的意义与其来源密切相关,如果说只存在严格模式,那么许多旧网站必然受到影响,如果只存在混杂模式,那么会回到当时浏览器大战时的混乱,每个浏览器都有自己的解析模式。(资料来源 : 吴秋彤的博客

    2、**HTML5 为什么只需要写<!DOCTYPE HTML> ?**
    答:HTML5不基于SGML,因此不需要引用DTD,但是需要doctype来规范浏览器的行为(按照他们应该的方式来解析当前文档),而HTML4.01基于SGML,需要对DTD进行引用,才能告知浏览器当前文档的解析类型。

    3、**行内元素有哪些?块级元素有哪些? 空(void)元素有那些?**
    答:行内元素:a、b、span、img、input、strong、select、label、em、button、textarea;
    块级元素:div、 ul、 li、 dl、 dt、dd、p、 h1-h6、 blockquote;
    空元素:没有内容的HTML元素,eg: br、meta、hr、link、input、img;

    4、**页面导入样式时,使用link和@import有什么区别?**
    答:外部引入样式的另一种方式:

    1.历史差别。link属于XHTML标签,而@import完全是CSS提供的一种方式。link标签除了可以加载CSS外,还可以做很多其它的事情,比如定义RSS,定义rel连接属性等,@import就只能加载CSS了。   
    2.加载顺序的差别。当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而@import引用的CSS 会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式(就是闪烁),网速慢的时候还挺明显(梦之都加载CSS 的方式就是使用@import,一边下载一边浏览梦之都网页时,就会出现上述问题)。   
    3.兼容性的差别。由于@import是CSS2.1提出的所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题。   
    4.使用dom控制样式时的差别。当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。(资料来源:luuu7的博客)

    5、**介绍一下你对浏览器内核的理解?**常见的浏览器内核有哪些?
    答:1)主要分为渲染引擎和JS引擎。

    • 渲染引擎:负责取得网页的内容(html,xml和图像等),整理讯息(例如假如css),以及计算网页的显示方式,然后输出到显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不同。所有网页浏览器、电子邮件客户端以及它需要编辑、显示网络内容的应用程序都需要内核。

    • JS引擎:解析和执行JavaScript来实现网页的动态效果。

    2)常见的浏览器内核:

    • Trident内核:IE,360,搜狗浏览器;

    • Gecko内核:Netscape6及以上版本;

    • Presto内核:Opera;

    • Blink内核:Opera;

    • Webkit内核:Safari,Chrome;

    (资料来源:程序员的程

    6、**html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?**
    答:1)

    • 新特性:自行查找

    • 移除的元素:

    拖拽释放(Drag and drop) API
    语义化更好的内容标签(header,nav,footer,aside,article,section)
    音频、视频API(audio,video)
    画布(Canvas) API
    地理(Geolocation) API
    本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;
    sessionStorage 的数据在浏览器关闭后自动删除
    表单控件,calendar、date、time、email、url、search
    新的技术webworker, websocket, Geolocation

    2)支持HTML5新标签: IE8/IE7/IE6支持通过 document.createElement 方法产生的标签,可以利用这一特性让这些浏览器支持 HTML5 新标签,浏览器支持新标签后,还需要添加标签默认的样式(当然最好的方式是直接使用成熟的框架、使用最多的是html5shim框架):

    <!--[if lt IE 9]>

    <script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script>

    <![endif]-->

    3)区分:
    DOCTYPE声明新增的结构元素、功能元素