前端面试题及答案
- 1 Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?
 - 2 行内元素有哪些?块级元素有哪些?
 - 3 link 和@import 的区别是?
 - 4 浏览器的内核分别是什么?
 - 5 HTML5有哪些新特性?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
 - 6 对语义化如何理解?
 - 7 HTML5的离线储存有几种方式?
 - 8 iframe有那些缺点?
 - 9 请描述一下 cookies,sessionStorage 和 localStorage 的区别
 - 10 CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有那些?
 - 11 CSS3新增伪类举例:
 - 12 如何居中div?如何居中一个浮动元素
 - 13 为什么要初始化CSS样式?
 - 14 css定义的权重
 - 15 CSS3有哪些新特性?
 - 16 介绍一下CSS的盒子模型?
 - 17 对WEB标准以及W3C的理解与认识?
 - 18 XHTML和HTML有什么区别?
 - 19 Doctype?严格模式与混杂模式如何触发这两种模式,区分它们有何意义?
 - 20 行内元素有哪些?块级元素有哪些?CSS的盒模型?
 - 21 CSS引入的方式有哪些? link和@import的区别是?
 - 22 CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?
 - 23 前端页面有哪三层构成,分别是什么?作用是什么?
 - 24 CSS的基本语句构成是?
 - 25.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?
 - 26 写出几种IE6 BUG的解决方法
 - 27 img标签上title与alt属性的区别是什么
 - 28 描述css reset的作用和用途。
 - 29 解释css sprites,如何使用。
 - 30 浏览器标准模式和怪异模式之间的区别是什么?
 - 31 你如何对网站的文件和资源进行优化?期待的解决方案包括:
 - 32 什么是语义化的HTML?
 - 33 清除浮动的几种方式,各自的优缺点
 - 34 javascript的typeof返回哪些数据类型
 - 35 例举3种强制类型转换和2种隐式类型转换?
 - 36 split() join() 的区别
 - 37 数组方法pop() push() unshift() shift()
 - 38 事件绑定和普通事件有什么区别
 - 39 IE和DOM事件流的区别
 - 40 IE和标准下有哪些兼容性的写法
 - 41 ajax请求的时候get 和post方式的区别
 - 42 call和apply的区别
 - 43 ajax请求时,如何解释json数据
 - 44 闭包是什么,有什么特性,对页面有什么影响
 - 45 如何阻止事件冒泡和默认事件
 - 46 添加 删除 替换 插入到某个接点的方法
 - 47 解释jsonp的原理,以及为什么不是真正的ajax
 - 48 javascript的本地对象,内置对象和宿主对象
 - 49 document load 和document ready的区别
 - 50 ”==”和“===”的不同
 - 51 javascript的同源策略
 - 52 编写一个数组去重的方法
 - 53 你认为最常遇到的兼容Bug有哪些?有哪些问题是你认为解决起来最麻烦的?
 - 54 CSS定位方式有哪些?position属性的值有哪些?他们之间的区别是什么?
 - 55 函数的几种定义方法
 - 56 对象的定义方法?
 - 57 类的定义方法(prototype)(继承)
 - 58 this 关键字的指向
 - 59 异步ajax的优缺点都有什么?
 - 60 介绍js的基本数据类型。
 - 61 Javascript如何实现继承?
 - 62 如何创建一个对象? (画出此对象的内存图)
 - 63 谈谈This对象的理解。
 - 64 事件是什么?IE与火狐的事件机制有什么区别? 如何阻止冒泡
 - 65 如何判断一个对象是否属于某个类?
 - 66 Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是
 - 67 对JSON 的了解?
 - 68 简述一下src与href的区别
 - 69 简述同步和异步的区别
 - 70 px和em的区别
 - 71 什么叫优雅降级和渐进增强?
 - 72 浏览器的内核分别是什么?
 - 73 如何消除一个数组里面重复的元素?
 - 74 在Javascript中什么是伪数组?如何将伪数组转化为标准数组?
 - 75 Javascript中callee和caller的作用?
 - 76 请描述一下cookies,sessionStorage和localStorage的区别
 - 77 手写数组快速排序
 - 78 统计字符串”aaaabbbccccddfgh”中字母个数或统计最多字母数
 - 79 一次完整的HTTP事务是怎样的一个过程?
 - 80 对前端工程师这个职位你是怎么样理解的?
 
前端面试题及答案
2018 BAT最新《前端必考面试题》
1 Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?
(1)、 声明位于文档中的最前面,处于 标签之前。告知浏览器的解析器,用什么文档类型 规范来解析这个文档。 (2)、严格模式的排版和 JS 运作模式是 以该浏览器支持的最高标准运行。 (3)、在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。 (4)、DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。
2 行内元素有哪些?块级元素有哪些?
(1)CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,  比如div默认display属性值为“block”,成为“块级”元素;  span默认display属性值为“inline”,是“行内”元素。
(2)行内元素有:a b span img input select strong(强调的语气)  块级元素有:div ul ol li dl dt dd h1 h2 h3 h4…p
3 link 和@import 的区别是?
(1)link属于XHTML标签,而@import是CSS提供的; (2)页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载; (3)import只在IE5以上才能识别,而link是XHTML标签,无兼容问题; (4)link方式的样式的权重 高于@import的权重.
4 浏览器的内核分别是什么?
IE浏览器的内核Trident、Mozilla的Gecko、Chrome的Blink(WebKit的分支)、Opera内核原为Presto,现为Blink;
5 HTML5有哪些新特性?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加。 绘画 canvas 用于媒介回放的 video 和 audio 元素 本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失; sessionStorage 的数据在浏览器关闭后自动删除 语意化更好的内容元素,比如 article、footer、header、nav、section 表单控件,calendar、date、time、email、url、search 新的技术webworker, websockt, Geolocation
6 对语义化如何理解?
用正确的标签做正确的事情! HTML语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;在没有样式CCS情况下也以一种文档格式显示,并且是容易阅读的。搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于 SEO。使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。
7 HTML5的离线储存有几种方式?
localStorage长期存储数据,浏览器关闭后数据不丢失;sessionStorage 数据在浏览器关闭后自动删除。