前端面试总结(红色题为必考,其余为常考)css
1、关于css面试题html
一、css垂直居中的集中方式?前端
答案:html结构:vue
1html5 2webpack 3css3 |
<div class="box">nginx <div>垂直居中</div>git </div>es6 |
方法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; } |
父元素设置相对或绝对定位;要居中的子元素设置绝对定位,全部偏移量为0,外边距为auto:
.wrap{
positon:relative;
}
.center{
positon:absolute;
top:0;bottom:0;left:0;right:0;
margin:auto;
}
二、对于移动端的布局方式?(采用display:flex 以及rem,em、px区别 )
3、css3的兼容问题(通常简单的答一些经常使用的兼容问题就好,不经常使用的就说碰到了百度解决的)
2、关于html5、css3面试题
一、html5的新属性有哪些?(列举一些新增经常使用的语义化标签,以及input新增属性,以及媒体标签,canvas,本地存储,websocket以及实现原理 这些就好)
二、Localstorage、sessionstorage、cookie三者各个的区别,及特色,优势,本地存储使用场景具体怎么用?
3、css3新增属性以及动画?
3、关于js/jq面试题
1、http请求过程有哪些?
2、原声ajax请求过程?
三、post请求以及get请求的优缺点?
四、对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)
十一、为何会有跨域、跨域的几种解决方式?
答:(从同源策略 方面进行回答、 跨域方式 jsonp,设置请求头,nginx代理 vul-cli的proxyTable反向代理解决跨域)
4、关于vue面试题
1、Vue的生命周期有哪些,分别有哪些特性?
2、父子组件,以及非父子关系组件的通讯是怎么实现的?(父传子经过props,子传父经过$emit,促发父组件自定义函数,vuex状态管理进行通讯,$eventBus进行通讯)
三、vuex包含哪些内容?实现原理?使用场景及优缺点?
4、vue路由的设置,及路由守卫的实现?
五、vue2及之前版本的实现原理,vue3.0的实现原理?
答:js经过Object.defineProperty修改属性的get, set方法,从而达到数据改变的目的。3.0将使用 ES2015 Proxy的 observer 实现 做为其观察者机制,它能够提供覆盖语言 (JavaScript——译注) 全范围的响应式能力,这消除了之前存在的警告,使速度加倍,并节省了一半的内存开销。
5、关于es6面试题
1、es6经常使用的一些命令,方法,api 。
(例如 let、const、import、export、箭头函数、promise对象、async函数,class,解构赋值 推荐学习地址:http://es6.ruanyifeng.com/)
6、所用工具的问题
一、代码管理使用的工具,svn,git(经常使用命令说几个)。
二、nginx使用场景,命令。
三、webpack有用过没,使用场景,以及原理。
7、主观题
1、说下你之前项目中遇到的问题,你是怎么解决的?
二、项目中你有哪些优化项目的方案?
3、平时学习方法有哪些,你是怎么进行学习的,对新知识是否有洞察力,以及团队相处。
4、第二轮面试通常都是问你的兴趣爱好,学习能力,性格特色,团队协做能力,提早想好一些话题,跟面试官交心,交朋友的心态交流 事半功倍