HTML
- 对 DIV, Table 布局的理解
- 语义化的HTML理解
- 对HTML5的理解
- 对doctype的理解
…
其他都很简单,我主要说说对doctype的理解,之前熟悉个大概,但是自己感觉没有表达清楚。
<!DOCTYPE>
处于<html>
标签之前,此标签可告知浏览器文档使用哪种HTML
或XHTML
规范。
该标签可声明三种DTD类型,分别表示严格版本、过渡版本以及基于框架的HTML版本(假如文档中的标记不遵循doctype声明所指定的DTD,这个文档除了不能通过代码校验之外,还有可能无法在浏览器中正确显示。)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
解析:在上面的声明中,声明了文档的根元素是 html,它在公共标识符被定义为 “-//W3C//DTD XHTML 1.0 Strict//EN”
的 DTD
中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。
- : 表示组织名称未注册。Internet 工程任务组(IETF)和万维网协会(W3C)并非注册的 ISO 组织。+为默认,表示组织名称已注册。
- DTD : 指定公开文本类,即所引用的对象类型。 默认为DTD(document type definition)。
- HTML:指定公开文本描述,即对所引用的公开文本的唯一描述性名称。后面可附带版本号。默认为HTML。
- URL:指定所引用对象的位置。
- Strict:排除所有 W3C 专家希望逐步淘汰的代表性属性和元素。
三种HTML文档类型
HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset
-
Strict:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd">
如果需要干净的标记,免于表现层的混乱,用HTML Strict DTD类型。
-
Transitional:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd">
Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素. 如果用户使用了不支持层叠样式表(CSS)的浏览器以至于你不得不使用 HTML 的呈现特性时,用 Transitional DTD 类型
-
Frameset:
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" " http://www.w3.org/TR/html4/frameset.dtd">
Frameset DTD 被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD
三种 XML 文档类型:
- Strict
- Transitional
- Frameset
XHTML 1就是HTML 4.01的XML化,是一种不向前兼容的格式。 - 最新的 HTML5的doctype 不需要对DTD引用。
CSS
- 盒子模型的理解
- box-sizing的理解
- positon的理解
- 如何清除浮动
- 选择器的权重
- 实现上下作用居中的几种方法
- css的解析顺序,link 引入 与import引入的区别
…
我主要说一下最后一个问题。
css的解析顺序 是从右往左的,这点非常重要,可以主导你写出快速选择的高效的css选择器。
link引入的按照顺序同步加载的而@import引入的css需要等待页面加载完成才会加载,是异步的。
JS
js问的问题比较多,我只能回忆一些部分内容
- 闭包的理解,及运用的一些问题
- 原型链理解
- 事件冒泡理解
- 函数声明,变量提升一些问题
- 正则表达式的运用
- 实现深拷贝的功能。有很多方法,最简单的是Object.create()。其他方法参见之前的博客
- 用原生js实现Jquery的链式操作。最简单的方式在每个方法里return this,其他的可参照Jquery,underscore的实现方法。
- Cookie, SessionStorage, Localstorage区别及运用
- 多种方法实现继承。(红宝书里有详细说明,最经典的实现方式是原型,然后还有组合继承,寄生式继承,寄生组合式继承)
- 轮询,长连接,实时通讯的理解
其他
- SEO了解吗
- img 的 alt 跟 title区别(alt是当图片不存在时的替代文字,爬虫读的属性;title是对图片的描述与进一步说明,也就是鼠标移动上去显示的文字)
-HTTP 的头部了解(我只能说出大概,有时间买呗HTTP的书籍好好研究研究) - 前端如何优化(雅虎36条军规)
- 一些状态码了解
- XSS,CSRF了解吗,如何防范
- 对前端工程化的了解
- 对当前流行的MVVM框架原理了解吗
- 算法数据结构熟悉吗
总结
总之很多面试考察的都是基础,总体面试还不错,关于 HTTP 以及 算法,MVVM的原理,正则等这些问题还要好好学习研究