前端面试总结(红色题为必考,其他为常考)
一、关于css面试题
1、css垂直居中的集中方式?
答案:html结构:
1 2 3 |
<div class="box"> <div>垂直居中</div> </div> |
方法1:display:flex
1 2 3 4 5 |
.box{ display: flex; justify-content:center; align-items:Center; } |
方法2:绝对定位和负边距
.box{position:relative;}
.box div{
position: absolute;
width:100px;
height: 50px;
top:50%;
left:50%;
margin-left:-50px;
margin-top:-25px;
text-align: center;
}
方法3:translate
1 2 3 4 5 6 7 8 |
.box childdiv{ position: absolute; top:50%; left:50%; width:100%; transform:translate(-50%,-50%); text-align: center; } |
方法4:table-cell
1 2 3 4 5 |
.box{ display: table-cell; vertical-align: middle; text-align: center; } |
方法5:偏移量0+margin:auto
父元素设置相对或绝对定位;要居中的子元素设置绝对定位,所有偏移量为0,外边距为auto:
.wrap{
positon:relative;
}
.center{
positon:absolute;
top:0;bottom:0;left:0;right:0;
margin:auto;
}
2、对于移动端的布局方式?(采用display:flex 以及rem,em、px区别 )
3、css3的兼容问题(一般简单的答一些常用的兼容问题就好,不常用的就说碰到了百度解决的)
二、关于html5、css3面试题
1、html5的新属性有哪些?(列举一些新增常用的语义化标签,以及input新增属性,以及媒体标签,canvas,本地存储 这些就好)
2、Localstorage、sessionstorage、cookie三者各个的区别,及特点,优点,本地存储使用场景具体怎么用?
3、css3新增属性以及动画?
三、关于js/jq面试题
1、http请求过程有哪些?
2、原声ajax请求过程?
3、post请求以及get请求的优缺点?
4、对array数组处理以及string处理的一些常用方法?
5、如何遍历一个数组里的每个数据,(主要考遍历的一些方法 for循环,forEach(),map()方法)
6、怎样进行深拷贝及浅拷贝?他们的区别?
(推荐地址:https://www.cnblogs.com/chenhuichao/p/9121353.html)
7、关于this指向问题,在不同的场景下this的指向?
8、关于闭包,如何创建闭包,闭包的用处及缺点?
(推荐地址:https://www.cnblogs.com/chenhuichao/p/8568486.html)
9、怎样理解原型链?
10、数组去重的方法?
(推荐地址:https://www.cnblogs.com/chenhuichao/p/9121404.html)
四、关于vue面试题
1、Vue的生命周期有哪些,分别有哪些特性?
2、父子组件的通信是怎么实现的?(父传子通过props,子传父通过$emit,促发父组件自定义函数,vuex状态管理进行通信)
3、vue路由的设置,及路由守卫的实现?
五、关于es6面试题
1、es6常用的一些命令,方法,api 。
(例如 let、const、import、export、箭头函数、promise对象、async函数 推荐学习地址:http://es6.ruanyifeng.com/)
六、主观题
1、说下你以前项目中遇到的问题,你是怎么解决的?
2、平时学习方法有哪些,你是怎么进行学习的,对新知识是否有洞察力,以及团队相处。
3、第二轮面试一般都是问你的兴趣爱好,学习能力,性格特点,团队协作能力,提前想好一些话题,跟面试官交心,交朋友的心态交流 事半功倍