幸运且光荣的被老大安排了一个任务 - “去整理些前端面试题”。年前确实不是招人的好时候,所以我们前端团队经过了超负荷的运转,终于坚持过了春节。春节以后就开始招人啦,这套题考察的目标就是基础基础再基础,嘿嘿。
事先声明:
◆ 这些题目的来源:面试曾经被问过;工作被别人问过或者遇见过;网上看见过...
◆ 答案真心不给提供,真的是许多问题都需要个人的理解和沉淀,所以还请各位自己动手...前端可以试试自己差不多能回答多少题,哈哈。
◆ 其实很多题我也没有好答案,面试的时候如果遇到牛人我也可以顺便交流交流,反正我也只是一面,不丢人也不怕丢人。
◆ 如果朋友们有好的面试题欢迎提建议,我会其实补充更新的,先谢谢各位了。
HTML相关
1. <!DOCTYPE>标签的定义与用法。
2. 块级元素和行内元素都有哪些?
3. 你真的了解HTML吗? 雅虎面试题 把前面黄底那段拿去搜索下就知道了(曾在某浪公司面试的时候被问到过,确实是很好的问题)。
CSS相关
1. 介绍所知道的CSS hack技巧(如:_, *, +, \9, !important 之类)。
2. 介绍CSS盒模型。
3. CSS层叠是什么?介绍一下。
4. 都知道哪些CSS浏览器兼容性问题。
5. 有时会被问到些刁钻点的题,比如position值都有哪些,CSS3都有哪些新内容...
JavaScript基础相关
1. HTTP协议的状态消息都有哪些?(如200、302对应的描述)
2. AJAX是什么? AJAX的交互模型(流程)? AJAX跨域的解决办法?
3. 同步和异步的区别?
4. 简述JavaScript封装。
5. JavaScript继承有哪两种形式形式,进行描述。
6. 什么是闭包?以下代码点击<p> 会输出什么?为什么?能大概说明白的话继续问能想出几种解决办法。
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <title>闭包演示</title> <style type="text/css"> p {background:gold;} </style> <script type="text/javascript"> function init() { var pAry = document.getElementsByTagName("p"); for( var i=0; i<pAry.length; i++ ) { pAry[i].onclick = function() { alert(i); } } } </script> </head> <body onload="init();"> <p>产品 0</p> <p>产品 1</p> <p>产品 2</p> <p>产品 3</p> <p>产品 4</p> </body> </html>
7. 在JS中this关键字的使用场合和用法(如在构造函数中、setTimeout中等)。
8. 简述下cookie的操作,还有cookie的属性都知道哪些。
9. IE与FF的JS兼容性都知道哪些。
10. DOM操作 - 怎样添加、移除、移动、复制、创建和查找节点(这个问题真心是基础题,一般不会问)。
jQuery相关
1. jQuery源码是否尝试去读过?说说基本的架构或者 jQuery.fn.init 中都做了哪些判断。
2. 都知道哪些不好的jQuery书写方式。
3. Sizzle是否有读过?
其它相关的加分项:
1. 都使用和了解过哪些编辑器?都使用和了解过哪些日常工具?
2. 都知道有哪些浏览器内核?开发过的项目都兼容哪些浏览器?
3. 国内外的JS牛人都知道哪些?
4. 瀑布流布局或者流式布局是否有了解
4. 正则表达式有系统学习过吗(看书或网上教程)?有的话就问问简单点的邮箱验证、URL验证, 或者问问 贪婪匹配与懒惰匹配 的理论知识。
5. Node.js是否有过尝试?到什么程度?说说个人理解的看法?
6. HTML5都有哪些新的JS API?
7. 前端优化知识都知道哪些?
8. 基础算法题(如快速排序,能否一两句说说重要的核心原理或者数组消重等)。
9. 是否有接触过或者了解过重构。
转自:http://developer.51cto.com/art/201202/314618.htm