前端面试题总结(2018-7-19)包括京东、科大讯飞、软通动力一些公司。。。。。。


前端面试总结(红色题为必考,其他为常考

一、关于css面试题

1、css垂直居中的集中方式?

答案:html结构:

1

2

3

<div class="box">

        <div>垂直居中</div>

</div>

方法1display: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;

        }

方法3translate

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;

        }

方法4table-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、对于移动端的布局方式?
答:1.【采用display:flex布局兼容ie10+(推荐地址http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
  2.采用百分比布局;
  3.采用rem、em、或者vh vw来写宽高布局
3、对于 移动端使用rem,em、px、vw/vh区别 
4css3的兼容问题(一般简单的答一些常用的兼容问题就好,不常用的就说碰到了百度解决的)

 5、盒子模型(标准盒子模型、ie盒子模型)
答: 盒子模型由 html元素 的内容content+内边距padding+边框border+外边距margin组成 ,标准盒子模型(box-sizing:content-box)元素的所设宽度 就是内容content宽度 而ie盒子模型(box-sizing:border-box) 所设宽度 由content+padding+border组成

二、关于html5css3面试题

1、html5的新属性有哪些?(列举一些新增常用的语义化标签,以及input新增属性,以及媒体标签,canvas,本地存储,websocket以及实现原理 这些就好 顺带可以谈谈seo优化的事情)

2、Localstoragesessionstoragecookie三者各个的区别,及特点,优点,本地存储使用场景具体怎么用?
3css3新增属性以及动画?

 

三、关于js/jq面试题
1http请求过程有哪些?

  1. 对网址进行DNS域名解析,得到对应的IP地址
  2. 根据这个IP,找到对应的服务器,发起TCP的三次握手
  3. 建立TCP连接后发起HTTP请求
  4. 服务器响应HTTP请求,浏览器得到html代码
  5. 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等)(先得到html代码,才能去找这些资源)
  6. 浏览器对页面进行渲染呈现给用户
  7. 服务器关闭关闭TCP连接


2、原生ajax请求过程?

//第一步,创建XMLHttpRequest对象
var xmlHttp = new XMLHttpRequest();
//第二步,注册回调函数
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4)
if (xmlHttp.status == 200) {
  //取得返回的数据
  var data = xmlHttp.responseText;
}
}
//第三步,配置请求信息,open(),get
//get请求下参数加在url后,.ashx?methodName = GetAllComment&str1=str1&str2=str2
xmlHttp.open("post", "/ashx/myzhuye/Detail.ashx?methodName=GetAllComment", true);
//post请求下需要配置请求头信息
//xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//第四步,发送请求,post请求下,要传递的参数放这
xmlHttp.send("methodName = GetAllComment&str1=str1&str2=str2");//"

3、post请求以及get请求的优缺点?

4、array数组处理以及string处理的一些常用方法?
5、如何遍历一个数组里的每个数据,(主要考遍历的一些方法 for循环,forEach()map()方法)

6、怎样进行深拷贝及浅拷贝?他们的区别?

(推荐地址:https://www.cnblogs.com/chenhuichao/p/9121353.html
7、关于this指向问题,在不同的场景下this的指向?
(推荐地址:https://www.cnblogs.com/chenhuichao/p/9351754.html

8、关于闭包,如何创建闭包,闭包的用处及缺点?
(推荐地址:https://www.cnblogs.com/chenhuichao/p/8568486.html

9、怎样理解原型、原型链?
答:每个对象都会在其内部初始化一个属性,就是prototype(原型),当我们访问一个对象的属性时,如果这个对象内部不存在这个属性,那么他就会去prototype里找这个属性,这个prototype又会有自己的prototype,于是就这样一直找下去,也就是我们平时所说的原型链的概念。关系:instance.constructor.prototype = instance.__proto__ 特点: JavaScript对象是通过引用来传递的,我们创建的每个新对象实体中并没有一份属于自己的原型副本。当我们修改原型时,与之相关的对象也会继承这一改变。

10、数组去重的方法?
(推荐地址:https://www.cnblogs.com/chenhuichao/p/9121404.html

 11、为什么会有跨域、跨域的几种解决方式?
答:(从同源策略 方面进行回答、 跨域方式 jsonp,设置请求头,nginx代理 vul-cli的proxyTable反向代理解决跨域)

四、关于vue面试题

1Vue的生命周期有哪些,分别有哪些特性?
2、父子组件,以及非父子关系组件的通信是怎么实现的?
(父传子通过
props,子传父通过$emit,促发父组件自定义函数,vuex状态管理进行通信,$eventBus进行通信,provide / inject等)
3、vuex包含哪些内容?实现原理?使用场景及优缺点?
(推荐地址:https://www.cnblogs.com/chenhuichao/p/9261769.html)

4vue路由的设置,及路由守卫的实现?
5、vue2及以前版本的实现原理,vue3.0的实现原理?
答:js
通过Object.defineProperty修改属性的get, set方法,从而达到数据改变的目的。3.0将使用 ES2015 Proxy的 observer 实现 作为其观察者机制,它可以提供覆盖语言 (JavaScript——译注) 全范围的响应式能力,这消除了以前存在的警告,使速度加倍,并节省了一半的内存开销。

 

五、关于es6面试题

1es6常用的一些命令,方法,api
(例如 letconstimportexport、箭头函数、promise对象、async函数,class,解构赋值 推荐学习地址:http://es6.ruanyifeng.com/)

六、所用工具的问题
1、代码管理使用的工具,svn,git(常用命令说几个)。
2、nginx使用场景,命令。

3、webpack有用过没,使用场景,以及原理。


七、主观题
1.mvc,mvvm的区别?
2、说下你以前项目中遇到的问题,你是怎么解决的?
3、项目中你有哪些优化项目的方案?

3、平时学习方法有哪些,你是怎么进行学习的,对新知识是否有洞察力,以及团队相处。

4、第二轮面试一般都是问你的兴趣爱好,学习能力,性格特点,团队协作能力,提前想好一些话题,跟面试官交心,交朋友的心态交流 事半功倍

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM