面经整理

https://juejin.im/post/5a7aaf745188257a5a4c9a39  js算法
https://juejin.im/post/5aae076d6fb9a028cc6100a9
https://github.com/paddingme/Front-end-Web-Development-Interview-Question
阿里
1.如何让各种情况下的div居中(绝对定位的div,垂直居中,水平居中)
2. display有哪些值?说明他们的作用
3. css定义的权重
4.谈谈对ES6的理解
5. requirejs实现原理
6. requirejs怎么防止重复加载
7.ES6里头的箭头函数的this对象与其他的有啥区别
箭头函数的 this 始终指向函数定义时的 this,而非执行时。,箭头函数需要记着这句话:“箭头函数中没有 this 绑定,必须通过查找作用域链来决定其值,如果箭头函数被非箭头函数包含,则 this 绑定的是最近一层非箭头函数的 this,否则,this 为 undefined”。
其他函数的this 永远指向最后调用它的那个对象
8.tcp/udp区别
9.tcp三次握手过程
10.xss与csrf的原理与怎么防范
11.mysql与 MongoDB的区别
12.出了个题目让我写设计数据库
13.有没有上传过些什么npm模块

 腾讯
1. w3c事件与IE事件的区别  (当时回答的只想到冒泡跟捕获)

W3C的事件模型优点是BubblingCapturing都支持,并且可以在一个DOM元素上绑定多个事件处理器,各自并不会冲突。并且在处理函数内部,this关键字仍然可以使用只想被绑定的DOM元素。另外function参数列表的第一个位置(不管是否显示调用),都永远是event对象的引用。

首先IE浏览器本身只支持Bubbling不支持Capturing;而且在事件处理的function内部this关键字也无法使用,因为this永远都只想window object这个全局对象。要想得到event对象必须通过window.event方式,最后一点,在别的浏览器中,它显然是无法工作的。

2.IE与W3C怎么阻止事件的冒泡
3.gulp底层实现原理
4.webpack底层实现原理
5.gulp与webpack区别
5.vuejs与angularjs的区别
6.vuex是用来做什么的
7.说下你知道的响应状态码
8.xss与csrf的原理与怎么防范
9.ajax的过程以及 readyState几个状态的含义
10.对nodejs了解多少


4.前端优化你知道哪些
5.webpack是用来干嘛的
6.webpack与gulp的区别
7.es6与es7了解多少
8.说下你知道的响应状态码
9.xss与csrf的原理与怎么防范
10.看过哪些框架的源码

1.遇到过哪些浏览器兼容性问题
2. 清除浮动有哪几种方式,分别说说
3.你知道有哪些跨域方式,分别说说
4. JavaScript有哪几种类型的值
5.js继承
6.js原型链以及特点
7.使用 new操作符时具体是干了些什么
8.tcp/udp区别
9. xss与csrf的原理与怎么防范
10.你平时在写代码时遇到过些哪些困难,都是怎么解决的
11.学习前端的方法以及途径
12.怎么实现两个大整数的相乘说下思路


1.你学过数据结构没,说说你都了解些什么
2.你学过计算机操作系统没,说说你都了解些什么
3.你学过计算机组成原理没,说说你都了解些什么
4.你学过算法没,说说你都了解些什么
5.说下选择排序,冒泡排序的实现思路
6.用过哪些框架
7.让你设计一个前端css框架你怎么做
8.了解哪些设计模式说说看
9.说下你所了解的设计模式的优点
10.vue源码结构
11.状态码
12.浏览器缓存的区别
13.304与200读取缓存的区别
14.http请求头有哪些,说说看你了解哪些
15. xss与csrf的原理与怎么防范
16.js中this的作用
17.js中上下文是什么
18.js有哪些函数能改变上下文
19.你所了解的跨域的方法都说说看你了解的
20.要是让你自己写一个js框架你会用到哪些设计模式
21.平常在项目中用到过哪些设计模式,说说看
    美团
1.一来给了张纸要求写js自定义事件

// 创建事件var evt = document.createEvent('Event');

// 定义事件类型evt.initEvent('customEvent', true, true);

// 在元素上监听事件var obj = document.getElementById('testBox');

obj.addEventListener('customEvent', function(){

console.log('customEvent 事件触发了');

}, false);

2.说下js中this
3.直接出了三道算法题半小时内(楼主算法渣只做出了一道)
4.前端跨域的方法
5.又出了了到js作用域的题


1.前端跨域方法以及说下怎样实现
2.call与apply的区别
3.h5有个api能定位你知道是哪个吗
geolocation

4.vue与angularjs中双向数据绑定是怎样实现的
5.webpack怎样配置
6.nodejs中的文件怎么读写
7.link和@import有什么区别
  • 区别1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。
  • 区别2:link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
  • 区别3:link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
  • 区别4:ink支持使用Javascript控制DOM去改变样式;而@import不支持。

8. cookies,sessionStorage 和 localStorage 的区别
9.说下你所了解的vuex
10.状态码
11.出了道url去参数的题让在纸上写
12.平时是怎么学习知识的
13.看过哪些前端的书

1.position有哪些值,说下各自的作用
2.出了道布局的题说下为什么是这样子的
3.前端跨域问题
4.出了道作用域的题
5.状态码
6.ajax过程
7.让写个从几个li中取下标的闭包代码
1、移动端性能优化
2、lazyload如何实现
3、点透问题
4、前端安全
校招(现场面,一面挂)
1、原生js模板引擎
2、移动端性能优化
3、repaint和reflow区别
4、requirejs如何避免循环依赖
5、盒子模型
6、实现布局:左边一张图片,右边一段文字(不是环绕)
7、前端安全,csrf、xss原理及如何避免
1、window.onload和$(document).ready()的区别,浏览器加载转圈结束时哪个时间点?
2、form表单当前页面无刷新提交  target iframe
3、setTimeout和setInterval区别,如何互相实现?
4、如何避免多重回调—promise,promise简单描述一下,如何在外部进行resolve()
5、margin坍塌?水平方向会不会坍塌
6、伪类和伪元素区别
7、vue如何实现父子组件通信,以及非父子组件通信
8、数组去重
9、使用flex布局实现三等分,左右两个元素分别贴到左边和右边,垂直居中
10、平时如何学前端的,看了哪些书,关注了哪些公众号


1、说下对this的理解
2、实现bind函数



作者:_1900
链接:https://www.jianshu.com/p/d9824676a3f4
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

3、数组和链表区别,分别适合什么数据结构
4、对mvc的理解
5、描述一个印象最深的项目,在其中担任的角色,解决什么问题
6、http状态码。。。401和403区别?
7、描述下二分查找

1、为什么选择前端,如何学习的,看了哪些书,《js高级程序设计》和《你不知道的js》有什么区别,看书,看博客,看公众号三者的时间是如何分配的
2、如何评价bat
3、描述下在实习中做过的一个项目,解决了什么问题,在其中担任了什么角色?这个过程存在什么问题,有什么值得改进的地方
4、如何看待加班,如果有个项目需要连续一个月加班,你怎么看
5、遇到的压力最大的一件事是什么?如何解决的
6、平时有什么爱好
7、自身有待改进的地方
8、n长的数组放入n+1个数,不能重复,找出那个缺失的数
9、手里有什么offer
10、你对于第一份工作最看重的三个方面是什么
11、如何评价现在的前端
12、有什么问题


1、为什么选择前端,移动端性能优化
2、vue的特点?双向数据绑定是如何实现的
Object.defineProperty
3、算法题:数组去重,去除重复两次以上的元素,代码题:嵌套的ul-li结构,根据input中输入的内容,去除相应的li节点,且如果某个嵌套的ul下面的li都被移除,则该ul的父li节点也要被移除
4、印象最深的一个项目
5、页面加载过程
6、浏览器如何实现图片缓存

1.css 盒模型
2.css 布局,左边定宽右边自适应。两种方法,NEC上的用负边距消除宽度,用弹性布局。然后问我有没有第三种。。。
3.冒泡和捕获,事件流哪三个阶段?除了冒泡和捕获,还有目标阶段。他们的先后顺序,先捕获,到了目标,再冒泡。(不要只记概念,要了解是干么用的)
4.实现事件代理。用jquery写了。要求写原生。子元素传递上来的应该是event.target或者e.srcElement。这个强调下IE和W3C的区别,建议写一个封装。
5.原型链。继承的两种方法。原型链继承和类继承。然后类继承只继承了实例属性,没有原型属性。原型链继承可以继承所有。然后用apply和call怎么继承原型链上的共享属性?通过空函数传值。新建一个空函数C。C实例化后C的实例属性就是空,然后用B的apply/call去继承C,相当于继承了C的实例属性。
6. ajax。原生ajax的四个过程。实例化,open,send,onreadystatechange,然后是req,readyState和status。那么问题是通过哪个属性得到data?jquery里是success回调里面的形参。
responseText和responseXML。后者是XML解析了的。
7,闭包。简单说一个闭包的应用。然后闭包的主要作用是什么:封装!

8,其他有一些项目的。简历上写的。

Cookie 是否会被覆盖,localStorage是否会被覆盖。
事件代理js实现
Css实现动画效果
Animation还有哪些其他属性。
Css实现三列布局
Css实现保持长宽比1:1
Css实现两个自适应等宽元素中间空10个像素。
requireJS的原理是什么
如何保持登录状态
浮动的原理以及如何清除浮动
Html的语义化
原生js添加class怎么添加,如果本身已经有class了,会不会覆盖,怎么保留?
Ajax原生
Jsonp的原理。怎么去读取一个script里面的数据。
如果页面初始载入的时候把ajax请求返回的数据存在localStorage里面,然后每次调用的时候去localStorage里面取数,是否可行。(直接说了不能保证数据的实时性,请求和实时性必然会有一方有所牺牲)
平时代码写的多不多。
Nodejs会不会。(demo跑过express,然后做过聊天室)
304是什么意思?有没有方法不请求不经过服务器直接使用缓存。(强缓存和协商缓存的命中和管理)

http请求头有哪些字段
数组去除一个函数。用arr.splice。又问splice返回了什么?应该返回的是去除的元素。
js异步的方法(promise,generator,async)
Cookie跨域请求能不能带上
最近看什么开源项目。
commonJS和AMD。
平时是怎么学习的。
为什么要用translate3d(我回答为了视觉需要,但是会影响css性能)
对象中key-value的value怎么再放一个对象。(直接放也可以,转成json字符串存数,读取再解析)
Get和post的区别

Post一个file的时候file放在哪的?

你对组件的理解
组件的html怎么进行管理
less和sass用过么
nodejs用过么
js的异步加载,promise的三种状态,ES7中的async用过么
js原型链的继承
静态属性怎么继承
jquery和zepto有什么区别
angular的双向绑定原理
angular和react的认识(挖财用这个两个框架,后来问了)
MVVM是什么

你用了移动端的什么库类和框架?
移动端要注意哪些
适配有去考虑么,retina屏幕啊?
rem是什么?em是什么?如果上一层就是根root了,em和rem等价么?
怎么测试的?
会自动化测试么?
网易用什么框架?你觉得优势在哪?
你觉得你什么技术最擅长?
你平时有没有什么技术的沉淀啊(然后对面先吹了一下自己)
单向链表怎么查找有没有环?
最后还问我实验室的项目

其他还有一些忘了。


1.怎么得到一个页面的a标签(就说了getElementByTagName和选择器)
2.怎么在页面里放置一个很简单的图标,不能用img和background-img
(说了canvas,或者一些库有icon库,data-icon).
3.正则表达式判断url(只写了判断是否是http或者https开头)
4.怎么去除字符串前后的空格(正则匹配^\s和\s$并且替代,Jquery的$.trim,string.trim())
5.实现页面的局部刷新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章