
前端学科面试宝典
蔡威
[电子邮件地址]

北京市顺义区京顺路 99 号·黑马程序员 www.itheima.com
第
1
页 共
348
页
HTML5、CSS3
......................................................................................................................
22
1、H5 的新特性有哪些?C3 的新特性有哪些?(必会)
.......................................................
22
2、Localstorage、sessionStorage、cookie 的区别(必会)
........................................................
23
3、H5 的浏览器存储有哪些?(必会)
.....................................................................................
23
4、简述 transform,transition,animation 的作用?(必会)
...................................................
24
5、如何使一个盒子水平垂直居中?(必会)
..........................................................................
24
6、如何垂直居中一个 img?(必会)
........................................................................................
29
7、如何实现双飞翼(圣杯)布局?(必会)
..........................................................................
29
8、CSS 的盒模型?(必会)
......................................................................................................
32
9、什么是渐进增强和优雅降级?它们有什么不同?(必会)
................................................
33
10、哪些是块级元素那些是行内元素,各有什么特点 ?(必会)
......................................
34
11、CSS 中选择器的优先级以及 CSS 权重如何计算?(必会)
..........................................
34
12、CSS 选择器有哪些?哪些属性可以继承?(必会)
............................................................
35
13、HTML5 的离线存储怎么使用,工作原理是什么?(必会)
............................................
35
14、说说你对语义化的理解?列举 5 个语义化的标签?(必会)
........................................
36
15、 列举 5 个以上的 H5 事件?(必会)
................................................................................
37
16、列举 5 个以上的 H5input 元素 type 属性值?(必会)
.....................................................
37
17、用 CSS3 做一个三角形?(必会)
.....................................................................................
38
18、CSS 中哪些属性可继承,哪些不可以?(必会)
............................................................
39
19、CSS 单位中 px、em 和 rem 的区别?(必会)
..................................................................
39
20、rem 适配方法如何计算 HTML 跟字号及适配方案?(必会)
..........................................
40
21、CSS 中 link 和@import 的区别?(必会)
.........................................................................
40
22、Display:none 与 visibility:hidden 的区别?(必会)
......................................................
41
23、Position 的值有哪些,分别有哪些作用?(必会)
..........................................................
41
24、为什么会出现浮动?浮动元素会引起什么问题?如何清除浮动?(必会)
................
42
25、简述弹性盒子 flex 布局及 rem 布局?(必会)
................................................................
42
26、important 的作用?(必会)
................................................................................................
46
27、如何解决 margin“塌陷”?(必会)
................................................................................
46
28、 什么是外边距重叠?重叠的结果是什么?(必会)
......................................................
47
29、HTML5 的 input 增加哪些 type?(必会)
..........................................................................
47
30、雪碧图 ( 精灵图 )?(必会)
......................................................................................
48
31、less 和 Scss 的配置使用以及特点?(必会)
...................................................................
48
32、::before 和::after 中双冒号和单冒号有什么区别、作用?(必会)
.............................
50
33、CSS3 新增伪类,以及伪元素?(必会)
..........................................................................
50
34、 img 的 alt 与 title 的异同,还有实现图片懒加载的原理?(必会)
............................
51
35、BFC 是什么?(高薪常问)
.................................................................................................
51
36、列举 HTML5 移动开发 APP 框架?(了解)
......................................................................
52
37、Style 标签写在 body 后与 body 前有什么区别?(了解)
................................................
52
38、如何区分 HTML 和 HTML5?(了解)
................................................................................
52
39、使用 CSS 预处理器的优缺点有哪些?(了解)
...............................................................
53
40、 Doctype 作用,H5 为什么只需要写<!DOCTYPE HTML>?(了解)
............................
53
41、什么是字体图标?如何避免图片在网页上失真?(了解)
............................................
53

北京市顺义区京顺路 99 号·黑马程序员 www.itheima.com
第
2
页 共
348
页
42、iframe 有哪些优缺点?(了解)
.........................................................................................
54
43、什么是 canvas,基本用法是什么?你使用它做个什么需求?(了解)
........................
54
44、使用 CSS 怎么让 Chrome 支持小于 12px 的文字比如 10px?(了解)
...........................
56
Bootstrap 响应式开发
..........................................................................................................
56
1、 Bootstrap 栅格系统的工作原理?(必会)
.......................................................................
56
2、Bootstrap 优缺点?(必会)
..................................................................................................
58
3、大屏适配方案有哪些?(必会)
..........................................................................................
58
4、对于各类尺寸的设备,Bootstrap 设置的 class 前缀分别是什么?(必会)
....................
64
5、 自己手动封装响应式布局方案?(必会)
........................................................................
64
6、 Bootstrap 引入的 Jquery 是哪个版本?Jquery 版本不同会产生什么影响?(必会)
.....
65
7、Bootstrap 如何设置响应式表格?(必会)
..........................................................................
71
8、使用 Bootstrap 创建垂直表单的基本步骤?(必会)
.........................................................
71
9、使用 Bootstrap 创建水平表单的基本步骤?(必会)
.........................................................
71
10、使用 Bootstrap 如何创建表单控件的帮助文本?(必会)
...............................................
71
11、使用 Bootstrap 激活或禁用按钮要如何操作?(必会)
...................................................
72
12、Bootstrap 有哪些关于<img>的 class?(必会)
...............................................................
72
13、Bootstrap 中有关元素浮动及清除浮动的 class?(必会)
...............................................
72
14、Bootstrap 如何制作下拉菜单?(必会)
............................................................................
72
15、Bootstrap 如何制作按钮组件?以及水平按钮组和垂直按钮组的优先级?(必会)
....
72
16、Bootstrap 如何设置按钮的下拉菜单?(必会)
................................................................
73
17、Bootstrap 中的输入框组如何制作?(必会)
....................................................................
73
18、Bootstrap 中的导航都有哪些?(必会)
............................................................................
73
19、Bootstrap 中设置分页的 class?(必会)
...........................................................................
73
20、Bootstrap 中显示标签的 class?(必会)
...........................................................................
73
21、什么是媒体查询?(必会)
................................................................................................
73
22、Bootstrap 中按钮组件颜色?(必会)
................................................................................
75
23、Bootstrap 常用组件有哪些?(了解)
................................................................................
75
JavaScript 基础
.....................................................................................................................
75
1、 JavaScript 的基本类型有哪些?引用类型有哪些?null 和 undefined 的区别?(必会)
........................................................................................................................................................
75
2、如何判断 JavaScript 的数据类型?(必会) JavaScript 数据类型一共有 7 种:
.......
76
2、 创建对象有几种方法(必会)
............................................................................................
78
4、简述创建函数的几种方式? (必会)
................................................................................
78
5、Javascript 创建对象的几种方式? (必会)
......................................................................
78
6、请指出 JavaScript 宿主对象和原生对象的区别?(必会)
...............................................
80
7、 JavaScript 内置的常用对象有哪些?并列举该对象常用的方法?(必会)
.................
81
8、 === 和 ==的区别?(必会)
..........................................................................................
86
9、 null,undefined 的区别(必会)
..........................................................................................
86
10、JavaScript 中什么情况下会返回 undefined 值?(必会)
.................................................
87
11、如何区分数组和对象?(必会)
........................................................................................
87
12、怎么判断两个对象相等?(必会)
....................................................................................
88

北京市顺义区京顺路 99 号·黑马程序员 www.itheima.com
第
3
页 共
348
页
13、列举三种强制类型转换和两种隐式类型转换?(必会)
................................................
89
14、 JavaScript 中怎么获取当前日期的月份?(必会)
........................................................
89
15、 什么是类数组(伪数组),如何将其转化为真实的数组?(必会)
..........................
90
16、如何遍历对象的属性?(必会)
........................................................................................
91
17、src 和 href 的区别是?(必会)
..........................................................................................
93
18、如何使用原生 JavaScript 给一个按钮绑定两个 onclick 事件?(必会)
........................
93
19、 如何在 JavaScript 中比较两个对象?(必会)
...............................................................
94
20、JavaScript 中的作用域、预解析与变量声明提升? (必会)
.......................................
95
21、变量提升与函数提升的区别?(必会)
............................................................................
97
22、 什么是作用域链?(必会)
..............................................................................................
97
23、如何延长作用域链?(必会)
............................................................................................
98
23、 判断一个值是什么类型有哪些方法?(必会)
..............................................................
98
25、JavaScript 变量按照存储方式区分为哪些类型,并描述其特点?(必会)
..................
99
26、如何实现数组的随机排序?(必会)
................................................................................
99
27、 Function foo() {}和 var foo = function() {}之间 foo 的用法上的区别?(必会)
....
100
28、索引有哪几种类型,有什么区别?(了解)
..................................................................
100
29、简述 Array.form 和 Array.of 的使用及区别?(了解)
..................................................
101
30、根据你的理解,请简述 JavaScript 脚本的执行原理(了解)
.........................................
103
WebAPI
...............................................................................................................................
103
1、 什么是 dom?(必会)
......................................................................................................
103
2、dom 是哪种基本的数据结构?(必会)
............................................................................
103
3、 dom 操作的常用 api 有哪些?(必会)
...........................................................................
103
4、 dom 节点的 Attribute 和 Property 有何区别?(必会)
...................................................
104
5、dom 结构操作怎样添加、移除、移动、复制、创建和查找节点?(必会)
................
104
6、dom 事件的级别?(必会)
................................................................................................
105
7、dom 事件模型?(必会)
....................................................................................................
105
8、dom 事件流?(必会)
........................................................................................................
106
9、什么是事件冒泡,它是如何工作的?如何阻止事件冒泡、默认行为?(必会)
..........
106
10、JavaScript 动画和 CSS3 动画有什么区别?(必会)
......................................................
107
11、event 对象的常见应用?(必会)
....................................................................................
108
12、自定义事件/ 模拟事件?(必会)
.................................................................................
108
13、通用事件绑定/ 编写一个通用的事件监听函数?(必会)
.........................................
108
14、dom 和 bom 的区别(必会)
.............................................................................................
109
15、事件三要素(必会)
..........................................................................................................
110
16、事件执行过程(必会)
......................................................................................................
110
17、获取元素位置(必会)
......................................................................................................
110
18、封装运动函数(必会)
......................................................................................................
111
19、绑定事件和解除事件的区别(必会)
..............................................................................
112
20、谈谈事件委托的理解?(必会)
......................................................................................
113
21、 JavaScript 中的定时器有哪些?他们的区别及用法是什么?(必会)
......................
113
22、比较 attachEvent 和 addEventListener?(必会)
................................................................
113

北京市顺义区京顺路 99 号·黑马程序员 www.itheima.com
第
4
页 共
348
页
23、document.write 和 innerHTML 的区别?(必会)
.............................................................
114
24、 什么是 window 对象?什么是 document 对象?(必会)
............................................
114
25、Js 拖动的原理?(必会)
.................................................................................................
116
26、描述浏览器的渲染过程,DOM 树和渲染树的区别(必会)
.........................................
117
27、dom 树和 render 树之间的关系?(高薪常问)
..............................................................
117
28、获取到页面中所有的 CheckBox 怎么做(不适用第三方框架)?(高薪常问)
........
118
29、 简单说一下页面重绘和回流?(高薪常问)
................................................................
118
30、如何最小化重绘(repaint)和回流(reflow)(高薪常问)
....................................................
118
31、Js 延迟加载的方式有哪些?(了解)
.............................................................................
118
32、IE 与标准事件模型有哪些差别?(了解)
......................................................................
121
js 高级
................................................................................................................................
121
1、typeof 和 instanceof 区别(必会)
......................................................................................
121
2、js 使用 typeof 能得到的哪些类型?(必会)
....................................................................
122
3、解释一下什么是回调函数,并提供一个简单的例子?(必会)
....................................
122
4、什么是闭包?(必会)
........................................................................................................
123
5、什么是内存泄漏(必会)
....................................................................................................
124
6、哪些操作会造成内存泄漏?(必会)
................................................................................
124
7、JS 内存泄漏的解决方式(必会)
.......................................................................................
124
8、说说你对原型(prototype)理解(必会)
.........................................................................
126
9、介绍下原型链(解决的是继承问题吗)(必会)
............................................................
126
10、简单说说 js 中的继承(必会)
.........................................................................................
126
11、介绍 this 各种情况(必会)
..............................................................................................
127
12、数组中的 forEach 和 map 的区别?(必会)
....................................................................
127
13、for in 和 for of 的区别(必会)
........................................................................................
127
14、常见的继承有几种方法(必会)
......................................................................................
127
15、Call 和 apply,bind 的区别(必会)
.................................................................................
128
16、New 操作符具体干了什么呢?(必会)
..........................................................................
128
17、用 JavaScript 实现冒泡排序。数据为 23、45、18、37、92、13、24 (必会)
.....
129
18、用 js 实现随机选取 10–100 之间的 10 个数字,存入一个数组并排序(必会)
.......
129
19、已知数组 var stringArray = [
“
This
”
,
“
is
”
,
“
Baidu
”
,
“
Campus
”
],Alert 出
”
This
is Baidu Campus
”
(必会)
......................................................................................................
130
20、已知有字符串 foo=
”
get-element-by-id
”
,写一个 function 将其转化成驼峰表示
法”getElementById”(必会)
..................................................................................................
130
21、有这样一个 URL: http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e,请写
一段 JS 程序提取 URL 中的各个 GET 参数(参数名和参数个数不确定),将其按 key-value
形式返回到一个 json 结构中,如{a: "1", b: "2", c: "", d: "xxx", e: undefined}(必会)
......................................................................................................................................................
130
22、var numberArray = [3,6,2,4,1,5]; (考察基础 API)(必会)
.................................
131
23、输出今天的日期,以 YYYY-MM-DD 的方式,比如今天是 2014 年 9 月 26 日,则输出
2014-09-26(必会)
................................................................................................................
131
24、把两个数组合并,并删除第二个元素。(必会)
..........................................................
132