常见前端面试题集锦

本文章收集了一些常见前端面试题,目的是为面试前端的小伙伴们提供一点小小的帮助,也为了勉励自己~


  1. 什么是HTML?

  2. DOCTYPE的作用?严格模式与混杂模式,如何触发?

  3. HTML语义化,以及好处。

  4. HTML5新增的几个标签,flash和HTML5的优缺点。

  5. ol dl ul 是什么东东?

  6. 对WEB标准的理解。

  7. 什么是web components?

  8. HTTP请求有哪几种方法?HTTP报文理解一下。HTTP握手?


  9. ajax是什么?由哪几种技术组成?ajax的优缺点?服务器怎么判断请求是一个ajax请求?不同浏览器之间创建xhr 差异?

  10. 浏览器的缓存策略,啥是协商缓存?

  11. HTTP状态码,200 302 304 403 404 500….

  12. cookie是什么?如何设置cookie,如何删除cookie,如何设置cookie 的存在时间?cookie优化?session是什么?cookie和session的区别。session的实现原理?如果浏览器禁用了cookie,session怎么实现的?(java中的servlet的生命周期?)

  13. 从用户在浏览器里面输入地址敲击回车到页面完全展示出来经历了哪些过程,越详细越好。

  14. 什么是跨域?跨域的解决方法?

  15. json是什么,用json描述一段话:有一个小男孩,他的名字叫小明,他的头发颜色是黑色的,会弹钢琴,他的好朋友有 小红、小华、小东。

  16. HTML 和 XHTML 、HTML5 简要 谈谈区别。

  17. 块级元素、行内元素,行内块级元素?分别说几个标签。

  18. location.href location.host location.pathname location.search location.hash是什么?

  19. form 的 action target

  20. 是什么?如何遍历form里面的元素?input有哪几种?分别怎么获取值?fmethod有哪几种?如何异步提交form?

  21. 如何延迟加载js?

  22. dom ready 和 window.onload的区别?jq是怎么实现dom ready的?

  23. IE6下如何将突出来的select遮住?IE6常见的几个bug和解决方法?如何让IE6支持position:fixed?zoom是啥?IE6如何设置高为1px 的div?

  24. 如何创建一个元素?如何创建一个script?iframe呢?style呢?tagName tagType nodeName nodeValue是啥子?

  25. css中position、display有哪些?position 中 relative 和 absolute的区别?

  26. 如何动态插入css和js?

  27. window.open是啥?如何在open之后的页面刷新父页面?如何防止浏览器阻止window.open?window.opener是个啥

  28. 如果没有ajax,你将如何异步更新页面呢?

  29. attribute什么? property是什么?jq中的attr 和 prop的区别?

  30. 如何实现一个可编辑的select?

  31. 什么是行为与结构分离?什么是表现与结构分离?前后端分离?

  32. 简述一下MVC是个啥?有啥好处?MVVM是个啥?对backbone angular 了解吗?

  33. 对jq了解多少?jq链式操作的原理?eq 、get的区别?如何获得jq获取到的元素的原生对象?

  34. 什么是异步调用?什么是回调函数?如何解决异步回调函数金字塔?promise?defered?

  35. script标签中 defer是什么?async是什么?区别?

  36. CSS如何实现元素绝对居中呢?如何实现单行文本垂直居中?多行文本垂直居中?未知图片垂直居中。

  37. 简述一下 CSS BFC是什么?

  38. CSS盒子模型?IE盒子和标准盒子的差异?CSS3中的 flex box?

  39. margin负值简单的几个应用?

  40. 如何实现汉字两端对齐?比如 “用户名” 和 “密码” 对齐。

  41. 子元素float 的时候,如何防止高度塌陷?

  42. margin重叠的原理?

  43. querySelector 和 querySelectorAll是什么?区别?

  44. CSS选择器的优先级?简述一下css hack?有哪几种?IE6 IE7等,属性前缀 -webkit- -o- -ms-

  45. CSS3中,实现动画的方式有几种?

  46. HTML5本地存储? 可以用来做什么?

  47. amd cmd 规范?区别?

  48. 模块化开发?CSS模块化开发?

  49. innerHTML,innerText,outerHTML,nodeValue

  50. 简单回答一下box-sizing。

  51. 简单介绍下jquery 的动画队列、jquery的selector原理。jquery extend

  52. 原生js中只有insertBefore,请问insertAfter怎么实现,有的浏览器不支持outerHTML,模拟一个outerHTML。

  53. reapp ionic angular less gulp react vue.js koajs requirejs seajs

  54. 栅格布局

  55. 行内元素如何设置宽高?有几种方法?

  56. 解释下css sprite

  57. 简述一下css hack。


本文会不断完善,也欢迎您提交更多的前端面试题^_^