2018年5月前端面试题

在上家公司裸辞之后,经过一段时间休整,5月中下旬面试了一些公司,由于本人框架使用的是vue,所以面试题涉及到框架的都是vue,现将面试题整理一下:

es6

列举常用的es6特性。
let,const,var的区别。
箭头函数this的指向。
手写es6 class继承。
promise的状态,链式调用,同步异步流程,唯一性。
set去重。
设置属性默认值。

js基础

闭包,作用域,向上提升,隐式转换(这几个几乎是必考题,基础中的基础)
列举常用的5个字符串操作方法。
列举常用的5个数组操作方法。
浅拷贝和深拷贝区别,描述或者手写深拷贝。
call和apply的用法和区别。
继承的几种方法。
事件冒泡以及事件捕获。
json,string,array的互相转换。

css

清除浮动的方式。
过渡动画。
左边固定,右边自适应布局。
左右固定,中间 自适应布局。
flex布局以及常用属性。
盒模型(box-sizing)。
选择器和伪类。
position的几种属性。
less的一些优势。
重绘和回流的描述及优化方案。

Jquery

jquery的优点。
jquery的常用选择器。
juqery事件绑定(on)
链式调用的原理。
常用的几种方法。
常用插件。
$冲突如何解决。
jsonp的原理。

vue

钩子函数及生命周期。
双向绑定的原理。
父子组件以及兄弟组件的传值。
vue数组添加属性,渲染失败原因及解决方案。
computed和methods的区别。
nextTick使用场景。
vue-router传参。
vuex的几种属性。
Mutation和Action的区别。

其他

前端分页和后端分页优缺点。
http常用状态码。
301和302区别。
输入url到页面出现的流程。(包括浏览器渲染流程)
cookie,sessionStorage,localStorage区别及使用场景。
懒加载实现。
cdn原理。
常用的跨域解决方案(以及原理)。
webpack加载器顺序。
webpack本地代理。
webpack打包压缩实现。
移动端适配解决方案。
说出几种性能优化方案。
一些兼容性、BUG问题。

程序设计

冒泡排序,快速排序。
数组去重。
将url参数转成json(键值对)。
获取字符串中出现次数最多的字符。
手写正则:身份证,电话,邮箱。
tree包含多个子节点及孙节点,遍历tree。
去除json中一些指定字符。
json中name属性按照英文字母排序。(sort)
json中age属性按照数字大小排序。(sort)
去掉字符串中的所有空格。

    原文作者:KissDuo
    原文地址: https://segmentfault.com/a/1190000015092975
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞