一、HTML
H1 | 简述编写HTML需要注意哪些事项? | ☆ | DOCTYPE、charset、viewport、语义化、CSS与JS的位置、DOM层级、结构样式行为的分离、模板等。依据回答的正确度、全面性、详细度区分级别。 |
H2 | DOCTYPE | ☆ | 考察DOCTYPE的意义、HTML标准、HTML的标准模式与quirk模式,以及不同模式下的区别。依据回答的正确度、全面性、详细度区分级别。 |
H3 | DOM元素的显示(渲染)类型以及区别? | ☆ | 重点考察区别,依据 “区别" 回答的正确度、全面性、详细度区分级别。 |
H4 | 列举一些HTM(包括HTML5)元素,并说明元素的语义 | ☆ | 考察HTML元素的语义。 |
H5 | HTML5元素的兼容问题?如何自定义元素? | ☆☆ | 考察前端知识面,是否知道或用过html5shiv、modernizr、Custom Element,并且认识深刻(T5以上)。 |
二、CSS
C1 | 介绍一下CSS选择器优先级 | ☆ | 权重计算方式、!important、内联样式,同等权重样式处理... |
C2 | 介绍一下CSS选择器及其相应API?class操作的API classList?是否了解过Sizzle,甚至阅读过源代码? | ☆ | 依据回答的正确度、全面性、详细度区分级别。 |
C3 | CSS中position有哪几种取值,以及每种取值的含义? | ☆ | 依据回答的正确度、全面性、详细度区分级别。 |
C4 | CSS 中的float的作用及其用法、带来的副作用? | 依据对float的认识深刻程度区分级别。 | |
C5 | 代码实现三列布局? | 依据代码质量区分级别。 | |
C6 | 如何水平居中一个元素?垂直居中一个元素呢? | 依据回答的正确度、全面性、详细度区分级别。如果能对各种情况分类回答,大于或等于T5 | |
C7 | 拿到一个PSD图后,你是如何开始工作的? | 重点考察前端开发流程 | |
C8 | (有几种类型的图片格式?你如何选择图片格式?)如何优化一个页面上的图片? | ||
C9 | 介绍CSS布局的固定布局、流动布局、弹性布局?用过哪些布局框架?布局框架的原理?响应式设计? | T5级以上 | 大于或等于T5 |
C10 | 了解或使用过哪种(些)CSS预处理器及其工具库?简要介绍CSS预处理器及其工具库的功能点?使用CSS预处理器时要避免那些东西?是否写个或总结过CSS工具库? | 回答”使用CSS预处理器时要避免那些东西“比较好或建设过CSS工具库(T5以上) |
三、JavaScript
J1 | JS的数据类型及其判断? | ||
J2 | 作用域链原理? | ☆ | |
J3 | 闭包原理?写个闭包demo?闭包的意义及其副作用?如何规避副作用? | T5级以上 | |
J4 | this的含义?改变this指向的方法? | ||
J5 | 原型链原理?如何利用原型链实现继承?prototype与__proto__的区别?代码写出 | T5级以上 | |
J6 | 常用的DOM、BOM操作? | ||
J7 | 请说出每个维度的含义?https://msdn.microsoft.com/en-us/library/ie/hh781509(v=vs.85).aspx | T5级以上 | |
J8 | 用过哪些HTML5功能?应用场景是什么?如何解决的兼容性? | ||
J9 | 是否了解过ES(ECMAScript)标准?请介绍下ES5 ES6 或ES7? | T5级以上 | |
J10 | 前端实现动画的方法?你如何抉择哪种动画实现方法? | T5级以上 | |
J11 | 什么是事件、事件对象、事件发生的三个阶段、事件委托,事件的绑定与解除的几种方法?如何阻止事件冒泡、事件的默认行为?如何自定义事件? | ||
J12 | 什么预加载、延迟加载、同步加载、异步加载?各如何实现?应用场景是?Deferred对象与Promise对象? | ||
J13 | 什么是reflow、repaint?会引发什么问题?如何避免? | ||
J14 | 本地存储有几种实现方式?如何理解每种方式?区别是? | ||
J15 | 什么是ajax,ajax的各个阶段(整个过程)?ajax相关的方法(API)? | ||
J16 | 前端跨域的方法? | ||
J17 | 了解过哪些前端安全问题? |
四、网络、HTTP协议
W1 | HTTP协议的请求头和响应头?尤其是缓存相关的头信息 | ☆ | |
W2 | 有哪些常见的HTTP响应码,其含义是什么? | ☆ | |
W3 | HTTP有哪些动作?GET方法和POST方法的区别? | ☆ | |
W4 | 请介绍在浏览器地址栏中输入url回车后,下面会发生什么? | ☆ | |
W5 | 前后端如何通信?跨页面如何通信? |
五、基本算法
A1 | 简要叙述一些常见排序算法的实现原理。 | ☆ | 快排等 |
A2 | 如何生成100个互不重复的5位字符串(全部由数字构成)。 | ☆ | |
A3 | 用JS来实现一个有序数组的二分查找算法。 | ||
A4 | 如何给数据添加千分位、例如12345.67格式化为12,345.67 | ||
A5 | 模拟一个HashTable类,包含有add、remove、contains、length方法 |
六、项目
P1 | 解决浏览器兼容问题的实践总结? | ||
P2 | 了解或实践过哪些前端性能优化?为什么要这样优化(原理)? | T5级以上 | |
P3 | 对AMC laoder 或 commandJS loader的认识与使用情况? | ||
P4 | 对MVC的认识与使用情况? | ||
P5 | 什么是SPA(单页面应用),是什么支撑了这里的“单页”? | ||
P6 | 做过最有挑战性的项目是哪个?解决了什么问题?取得了什么成果? | ☆☆ | SMART面试法 |
P7 | 开发过什么项目,前端架构是什么样的?前后端有没有分离? | ☆ | |
P8 | 用过哪些前端开发框架? | ||
P9 | 如何有效实现版本管理?如果有CDN呢? | ||
P10 | 对前端工程自动化的实践情况?尤其是构建(build) | T5级以上 | shell、ant、make、grunt、gulp、fis、edp等 |
P11 | NodeJS掌握或项目情况?或其他服务端语言的掌握情况? | T5级以上 | |
P12 | 若你应聘成功,你会给团队带来什么? | T5级以上 |