前端面试整理

HTML

  1. Doctype作用?HTML5为什么只需要写<!DOCTYPE HTML>?
  2. 行内元素有哪些?块级元素有哪些?
  3. 页面导入样式的时候,link和@import有什么区别?
  4. 介绍一下你对浏览器内核的理解?
  5. html5有哪些新特性、移除了哪些元素?
  6. 简述一下你对HTML语义化是怎么理解的?
  7. HTML5的离线存储怎么使用,工作原理能不能解释一下?
  8. iframe有哪些缺点?
  9. Label的作用是什么?是怎么使用的?
  10. 如何实现浏览器内多个标签页之前的通信?
  11. 页面可见性(Page Visibility)API 可以有哪些用途?

CSS

  1. 介绍一下标准的CSS盒子模型?低版本的IE的盒子模型有什么不同?
  2. CSS的选择符有哪些?哪些属性可以继承?
  3. CSS优先级算法如何计算?
  4. CSS3新增伪类有哪些?
  5. 如何给一个固定宽高的div上下左右居中?如何给一个不固定宽高的div居中?
  6. display有哪些值?说明他们的作用。
  7. position有哪些值?说明他们的作用。
  8. 用纯CSS3创建一个三角形
  9. li与li之间有看不见的空白间隔是什么原因引起的?有什么解决办法?
  10. 为什么要初始化CSS样式?
  11. 对BFC规范(块级格式化上下文:block formatting context)的理解?
  12. 请解释一下为什么会出现浮动和什么时候需要清除浮动?清除浮动的方式
  13. 移动端的布局用过媒体查询吗?
  14. 使用 CSS 预处理器吗?有什么相同点和不同点?
  15. CSS优化、提高性能的方法有哪些?
  16. 浏览器是怎样解析CSS选择器的?
  17. 抽离样式模块怎么写,说出思路,有无实践经验?
  18. 元素竖向的百分比设定是相对于容器的高度吗?
  19. 全屏滚动的原理是什么?用到了CSS的那些属性?
  20. 什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?
  21. 视差滚动效果,如何给每页做不同的动画?
  22. 设置元素浮动后,该元素的display值是多少?
  23. 怎么让Chrome支持小于12px 的文字?
  24. 如果需要手动写动画,你认为最小时间间隔是多久,为什么?

JavaScript

  1. 介绍JavaScript的基本数据类型。
  2. 说说写JavaScript的基本规范?
  3. JavaScript原型,原型链 ? 有什么特点?
  4. JavaScript有几种类型的值?(堆:原始数据类型和 栈:引用数据类型),你能画一下他们的内存图吗?
  5. Javascript如何实现继承?
  6. Javascript创建对象的几种方式?
  7. Javascript作用链域?
  8. 谈谈This对象的理解。
  9. eval是做什么的?
  10. 什么是window对象? 什么是document对象?
  11. null,undefined的区别?
  12. 写一个通用的事件侦听器函数(机试题)。
  13. [“1”, “2”, “3”].map(parseInt) 答案是多少?
  14. 关于事件,IE与火狐的事件机制有什么区别? 如何阻止冒泡?
  15. 什么是闭包(closure),为什么要用它?
  16. javascript 代码中的”use strict”;是什么意思 ? 使用它区别是什么?
  17. 如何判断一个对象是否属于某个类?
  18. new操作符具体干了什么呢?
  19. 用原生JavaScript的实现过什么功能吗?
  20. Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?
  21. 对JSON的了解?
  22. js延迟加载的方式有哪些?
  23. Ajax 是什么? 如何创建一个Ajax?
  24. 同步和异步的区别?
  25. 如何解决跨域问题?
  26. 页面编码和被请求的资源编码如果不一致如何处理?
  27. 模块化开发怎么做?
  28. AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)规范区别?
  29. requireJS的核心原理是什么?(如何动态加载的?如何避免多次加载的?如何 缓存的?)
  30. 让你自己设计实现一个requireJS,你会怎么做?
  31. 谈一谈你对ECMAScript6的了解?
  32. ECMAScript6 怎么写class么,为什么会出现class这种东西?
  33. 异步加载的方式有哪些?
  34. documen.write和 innerHTML的区别?
  35. DOM操作——怎样添加、移除、移动、复制、创建和查找节点?
  36. .call() 和 .apply() 的含义和区别?
  37. 数组和对象有哪些原生方法,列举一下?
  38. JS 怎么实现一个类。怎么实例化这个类
  39. JavaScript中的作用域与变量声明提升?
  40. 如何编写高性能的Javascript?
  41. 那些操作会造成内存泄漏?
  42. JQuery的源码看过吗?能不能简单概况一下它的实现原理?
  43. jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?
  44. jquery中如何将数组转化为json字符串,然后再转化回来?
  45. jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?
  46. jquery.extend 与 jquery.fn.extend的区别?
  47. jQuery 的队列是如何实现的?队列可以用在哪些地方?
  48. 谈一下Jquery中的bind(),live(),delegate(),on()的区别?
  49. JQuery一个对象可以同时绑定多个事件,这是如何实现的?
  50. 是否知道自定义事件。jQuery里的fire函数是什么意思,什么时候用?
  51. jQuery 是通过哪个方法和 Sizzle 选择器结合的?(jQuery.fn.find()进入Sizzle)
  52. 针对 jQuery性能的优化方法?
  53. Jquery与jQuery UI有啥区别?
  54. JQuery的源码看过吗?能不能简单说一下它的实现原理?
  55. jquery 中如何将数组转化为json字符串,然后再转化回来?
  56. jQuery和Zepto的区别?各自的使用场景?
  57. 针对 jQuery 的优化方法?
  58. Zepto的点透问题如何解决?
  59. jQueryUI如何自定义组件?
  60. 需求:实现一个页面操作不会整页刷新的网站,并且能在浏览器前进、后退时正确响应。给出你的技术实现方案?
  61. 如何判断当前脚本运行在浏览器还是node环境中?(阿里)
  62. 移动端最小触控区域是多大?
  63. jQuery 的 slideUp动画 ,如果目标元素是被外部事件驱动, 当鼠标快速地连续触发外部元素事件, 动画会滞后的反复执行,该如何处理呢?
  64. 把 Script 标签 放在页面的最底部的body封闭之前 和封闭之后有什么区别?浏览器会如何解析它们?
  65. 移动端的点击事件的有延迟,时间是多久,为什么会有? 怎么解决这个延时?(click 有 300ms 延迟,为了实现safari的双击事件的设计,浏览器要知道你是不是要双击操作。)
  66. 知道各种JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)么? 能讲出他们各自的优点和缺点么?
  67. Underscore 对哪些 JS 原生对象进行了扩展以及提供了哪些好用的函数方法?
  68. 解释JavaScript中的作用域与变量声明提升?
  69. 那些操作会造成内存泄漏?
  70. JQuery一个对象可以同时绑定多个事件,这是如何实现的?
  71. Node.js的适用场景?
  72. (如果会用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?
  73. 解释一下 Backbone 的 MVC 实现方式?
  74. 什么是“前端路由”?什么时候适合使用“前端路由”? “前端路由”有哪些优点和缺点?
  75. 知道什么是webkit么? 知道怎么用浏览器的各种工具来调试和debug代码么?
  76. 如何测试前端代码么? 知道BDD, TDD, Unit Test么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
  77. 前端templating(Mustache, underscore, handlebars)是干嘛的, 怎么用?
  78. 简述一下 Handlebars 的基本用法?
  79. 简述一下 Handlerbars 的对模板的基本处理流程, 如何编译的?如何缓存的?
  80. 用js实现千位分隔符?(来源:前端农民工,提示:正则+replace)
  81. 检测浏览器版本版本有哪些方式?
  82. 我们给一个dom同时绑定两个点击事件,一个用捕获,一个用冒泡,你来说下会执行几次事件,然后会先执行冒泡还是捕获
关于作者
姓名:王东杰
昵称:隔壁老王
爱好:撸猫
简介:一枚喜欢撸猫的web前端开发
热门文章