前端面试题

一、css

1.如何实现文字环绕图片?

答:把图片设置为浮动

2.如何使用css图片精灵图?

答:使用background-image和background-position结合使用

3.position有哪些属性,他们区别?

答:relative: 参考系是元素本身原来的位置,不脱离文档流,取值和绝对定位一样

        absolute: 参考系是整个屏幕,如果祖先元素是定位流,那么参考系就是这个祖先元素,多个的话遵从就近原则,脱离文档流,层次比浮动高

        fixed: 特性与决对定位基本一致,不同的是始终相对整个文档进行定位

4.一个块级元素垂直居中方法有哪些?

答: 1.margin:auto;left:50%;top:50%;margin-left:-width*0.5; margin-top:-width*0.5;

         2. margin:auto;left:50%;top:50%;transform:translate(-50%,-50%);

         3. position:absolute; left:0; right:0; top:0; bottom:0; margin:auto;

5.flex

6.前端响应式布局?

7.meta标签,里面的属性

二、js

1.jQuery原理?

答:采用构造函数模式进行开发的,jQuery是一个类, 用的方法都是定义在jQuery.prototype上,只有jQuery的实例才能使用这些方法。

2.cookie,sessionStorage和localStorage的区别?

答:1.ookie在浏览器和服务器间来回传递,而sessionStorage和localStorage不会自动把数据发送给服务器,仅在本地保存;

        2. cookie数据不能超过4K,sessionStorage和localStorage可以达到5M或更大;

        3. essionStorage:仅在当前浏览器窗口关闭之前有效;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;                        cookie:只在设置的cookie过期时间之前有效,即使窗口关闭或浏览器关闭 ;

       4. 作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localstorage在所有同源窗口中都是共享的;cookie

           也是在所有同源窗口中都是共享的 。

           sessionStorage.getItem(key) 获取 sessionStorage.setItem(key,value) 添加

           sessionStorage.removeItem(key) 删除key这个数据 sessionStorage.clear() 删除所有数据

3.迭代器方法有哪些?

4.闭包应用场景:1.函数作为返回值 2.函数作为参数来传递。

5.js继承和原型链怎么用?

6.js运行机制?

7.for in和for of区别?

答:for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值;

        for in会遍历所有的可枚举属性,包括原型,而for of遍历的只是数组内的元素。

8.怎么给数组去重?包含es6方法

9.js异步编程?

三、ajax、跨域

1.ajax原理?步骤?

2.jsonp原理?

3.跨域有哪些方法解决?包括vue项目中

4.不借助后台怎么实现跨域?

答:window.name

5.get和post区别?

答:get一般用于获取信息,使用url传递参数,发送信息的数量一般在2kb;post一般用于修改服务器上的资源,传递参数是有服务器内部发送,

        安全性更好,发送信息的数量无限制。

6.promise与ajax的区别有什么?好在哪里?

四、框架(主要是vue)

2.如何实现下拉刷新,不用vue怎么实现页面跳转?

4.vue的源码有没有读过?简单说说下

5.v-model原理

7.Vuecli怎么搭建?

8.三大js框架区别有哪些?

9.vue中有哪些带$的方法?

10.vue中什么时候调用destory钩子函数?延伸到每个钩子函数的应用场景,要清楚

11.vuex的原理?有哪些属性,各是什么应用场景?

12.data为什么要return返回来?

答:因为使用return包裹后数据中变量只在当前组件中生效,不会影响其他组件

13.vuex有哪些属性,各什么作用?

五、浏览器兼容性,不同手机的兼容性,性能优化,打包工具,代码管理工具

1.安卓苹果手机兼容问题,举个例子

答:比如时间格式统一使用2018/09/02格式

2.git和svn有哪些区别?

3.webpack配置里有哪些loader,各代表什么意思?

4.遇到果什么浏览器兼容问题?怎么解决?

5.前端页面性能优化有哪些方法?

浏览器的缓存机制

http和https的区别

继承方法

事件循坏机制

js运行机制

BFC

跨域(cors,jsonp等等)

浏览器同域名请求的最大并发限制

keep-alive缺陷

defindproperty缺点

import和require有什么区别

数组的下标为啥是从0开始?   

先是看简历上写的项目经验,问一上些项目上的问题,比如如何编写 js-sdk, 如何去修改 weui 库,遇到最大的难题是什么及如何去解决的。

数组去重的方法有哪些?

如何判断左右小括号是否全部匹配。如 ( ( ))()((((()))))

JS 的事件机制

如何劫持 XMLHttpRequest 的 send() 方法,调用他的时候,把参数输出到控制台。

git 和svn 的区别,git 的本地仓库有什么用呢?

react 和 vue 的区别

为什么简单的项目选择使用 jQuery 而不用 vue 。

跨域解决方案有哪些?jsonp 的原理及缺点?及如何判断 JS 加载完成了?IE7不支持 script.onload 事件怎么办?

浏览器的渲染机制?

浏览器最大并发量限制是多少个?及如何去突破这个限制?

缓存机制?

内存泄漏,及如何主动的去发现是否存在内存泄漏?

你们平时项目的 JS 异常有做上报处理吗?是什么实现的?

xss 攻击的原理和预防?

eslint 是怎么使用的?

webpac打包性能优化,如何分块打包,及 HMR 的实现原理。

React的虚拟dom是什么?及 diff 算法原理?

SSR(服务端渲染)的作用,及它有什么缺点???

六、其他

1.项目中遇到什么问题,怎么解决?

你可能感兴趣的:(前端面试题)