前端面试题搜集

内容列表

  1. 基本题目
  2. HTML题目
  3. CSS题目
  4. javascript题目
  5. javascript题目

开始

基本问题

  • 你昨天或者这个星期都学习了什么知识?
  • 是什么让你对编程编程感兴趣,并且激励你继续干下去?
  • 最近你有没有遇到具有挑战的项目,那你是如何解决的?
  • 谈谈你喜欢的开发环境。

HTML

  • 有几种doctype,它的作用是什么?
  • 说说怪异模式(Quirks mode)、接近标准模式(Almost standards mode)、以及标准模式(Standards mode)之间有什么不同
  • HTML和XHTML之间有什么不同
  • 如果页面使用 'application/xhtml+xml' 会有什么问题吗?
  • html5中data-属性是干什么的?
  • 描述一下cookiesessionStorageLocalStorage之间的不同点。
  • 描述一下<script><script async><script defer>之间的区别。
  • 为什么要将CSS<link>放在<head><head>之间,JS<script>凡在</body>之前。
  • 你之前有没有用过HTML模板引擎?
  • 移动端适配,rem+媒体查询、meta头设置。

CSS

  • 在css中idclass有什么区别?
  • CSS Normalize 和 CSS Reset 有什么区别,你会选择哪个?为什么?
  • 描述一下浮动及其原理。
  • 描述下z-index如何进行层叠。
  • 你最喜欢的图片代替技术是什么,什么情况下回应用它?
  • 解释下什么是css精灵,如何将它运用到站点上。
  • 解释下BFC(Block Formatting Context),以及他如何运作。
  • 你是如何优化网页打印样式的?
  • * { box-sizing: border-box; }的作用是什么?有什么优点?
  • 列出你记得的display属性的值。
  • 说说inlineinline-block有什么不同。
  • 说书position属性的relative、fixed、 absolute 和 statically有什么区别。
  • 目前你用过哪些css框架到你的项目,你是如何改进它们的。
  • 响应式设计和自适应设计有什么不同?
  • 描述下伪类,讨论下它们的用处。
  • 你有没有用过栅格系统,如果用过的话,你喜欢那个?
  • 你有没有玩过Flexbox布局 or Grid 布局?
  • 你熟悉svg吗?

Javascript

  • 解释下js事件委托(事件代理)。
  • 解释下事件冒泡。
  • 解释下js中this的工作原理。
  • 解释下原型继承的原理。
  • 谈谈你对 AMD vs CommonJS的理解
  • 编写函数使他运行:

duplicate([1,2,3,4,5]); // [1,2,3,4,5,1,2,3,4,5]

  • "use strict" 是什么?使用它有什么优点和缺点。
  • 什么事Javascript Hoisting(变量提升)?
  • =====有什么不同?
  • 你使用什么工具和技术调试js代码?
  • 单页面如何做SEO?
  • =====有什么不同?
  •  document.loadDOMContentLoaded的区别?
  • 什么时候你会用document.write()
  • 解释下JSONP的工作原理。
  • javascript 作为一门编程语言有什么优缺点?
  • 解释一下function foo() {}var foo = function() {}的区别
  • 手动写继承类。
  • 手动写数组去重。
  • 如何遍历对象的属性。
  • new关键字的过程。
  • 判断遍历类型,如何判断变量是函数?
  • 如何判断一个变量是数组?
  • call和apply的作用,区别。
  • 手写jsop实现,发送和回调接受。
  • js实现css的:hover效果。
  • 解释事件代理,事件流模型。
  • 数据统计,比ajax更简单的方法。
  • 手写once函数,传入函数参数只执行一次(闭包)。
  • 手写debouce函数。

其它

  • gulp-conect原理?
  • 为什么要跨域,跨域是什么,有哪些方法?
  • 是否了解viewport?
  • unicode,utf8,gbk编码的了解,乱码的解决。
  • 分域名请求图片的原因和好处。
  • css动画和js动画的区别。