面经整理

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.实现页面的局部刷新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值