WEB前端常见面试问题

1、请描述一下 cookies,sessionStorage 和 localStorage 的区别?

2、CSS优先级算法如何计算?

3、页面导入样式时,使用link和@import有什么区别?

1
2
3
4
5
1)link属于XHTML标签,除了加载CSS外,还能用于定义RSS, 定义rel连接属性等作用;
@import是CSS提供的,只能用于加载CSS;
2)页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;
3)import是CSS2.1 提出的,只在IE5以上才能被识别,而link是XHTML标签,无兼容问题;
4)link支持使用js控制DOM去改变样式,而@import不支持;

4、display有哪些值?说明他们的作用。

1
2
3
4
5
6
7
block           块类型。默认宽度为父元素宽度,可设置宽高,换行显示。
none 元素不显示,并从文档流中移除。
inline 行内元素类型。默认宽度为内容宽度,不可设置宽高,同行显示。
inline-block 默认宽度为内容宽度,可以设置宽高,同行显示。
list-item 象块类型元素一样显示,并添加样式列表标记。
table 此元素会作为块级表格来显示。
inherit 规定应该从父元素继承 display 属性的值。

5、HTML&CSS:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1)对Web标准的理解(结构、表现、行为)
2)浏览器内核
3)渲染原理
4)依赖管理
5)兼容性
6)CSS语法
7)层次关系,常用属性
8)布局
9)选择器
10)权重
11)盒模型
12)Hack
13)CSS预处理器
14)CSS3
15)Flexbox
16)CSS Modules
17)Document flow
18)BFC
19)HTML5(离线 & 存储、Histoy,多媒体、WebGL\SVG\Canvas)

6、JavaScript:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1)数据类型
2)运算
3)对象
4)Function
5)继承
6)闭包
7)作用域
8)事件
9)Prototype
10)RegExp
11)JSON
12)Ajax
13)DOM
14)BOM
15)内存泄漏
16)跨域
17)异步请求
18)模板引擎
19)模块化
20)Flux
21)同构
22)算法
23)ECMAScript6
24)Nodejs
25)HTTP

7、其他:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1)主流MVVM框架(React\Vue\Angular)
2)Hybrid App\React Native\Weex
3)TypeScript
4)RESTFul
5)WEB安全
6)前端工程化
7)依赖管理
8)性能优化
9)重构
10)团队协作
11)可维护
12)易用性
13)SEO
14)UED
15)前端技术选型
16)快速学习能力

版权所有,如有侵权请联系我