08 2016
8

作为web前端面试官准备的一面题目
2016年08月08日

百度外卖web前端一面基础面试题目。

HTTP:

  1. POST、GET区别
  2. application/x-www-form-urlencoded,multipart/formdata区别

HTML:

  1. 行内元素有哪些?块级元素有哪些?
  2. 标签上title与alt属性的区别是什么?
  3. 表单控件标签都有哪些?
  4. 为何要写DOCTYPE以及各类meta标签?

CSS:

  1. 盒子模型
  2. 有哪些方式实现动画?
  3. 水平、垂直居中有哪些方法?
  4. float不会撑开父元素的高度,有什么解决方法?
  5. px、pt、em、rem、vh、vw等都是什么有什么区别?
  6. 不用JS如何实现一个宽度100%的方形div?

JS:

  1. 描述一下JS中变量的作用域
  2. 描述一下JS中如何面向对象以及函数调用中的this到底是什么
  3. 为何我们常常把 <script> 放在html的最后?
  4. AJAX什么样的情况算跨域?有哪些解决方法?
  5. 描述一下JSONP的原理
  6. Promise
  7. WebSocket、Long Polling、Server Sent Event
  8. es6主要都有哪些语法特性?stage-0/1/2/3又是什么?

React:

  1. 生命周期函数都有哪些?
  2. es6的class写法与es5的createClass都有哪些区别?
  3. key有什么作用,不设置会有什么问题?
  4. context有什么作用,如何使用?

Webpack:

  1. loaders和plugins都是什么有什么区别?
  2. 如何设置babel-loader,使其不会编译node_modules下的文件?
  3. 如何设置单个/多个入口文件?

其他工具:

  1. AngularJS,VueJS
  2. less、sass、stylus
  3. FIS、Gulp、Grunt
  4. GIT、SVN

Coding:

  1. 用JS实现一个用于存储字符串的LRU Cache
  2. 将数字1~500,平均且随机地分配给5个数组(每个数组100个数字),不能使用sort