感谢牛客陪伴,奉上面经(前端)
拿到一些offer, 虽然没有BAT大厂但也还算满意,感觉是时候分享一波面经了,当然有些问题已经想不起来,大家凑合看吧。
一、百度作业帮
1.js继承方式有哪些
2.原型链终点在哪里,引擎是如何遍历原型链从而找到某个节点的
3.instanceof 和原型链的关系
4.封装组件或模块如何考虑利他性
5.url输入到页面呈现,详细分析过程
6.水平垂直居中方式有哪些,transform和position相比,前者有哪些地方提升了性能,为什么
7.如何开启3d动画加速
8.封装一个Slider要考虑哪些要点,如何保证过渡的平滑性,移动端如何检测手势是左滑还是右滑
9.封装一个Dialog,你会怎么考虑
10.前后端分离时,模板如何工作,如何去渲染到后端的数据,如果是基于js的模板引擎,cdn上这个引擎挂了怎么办。
11.数据双向绑定有哪些弊端
12.cookie,session区别有哪些,cookie,webStorage区别
用cookie和session做登陆保持时的各自特点,他俩各自的缺点是什么,如何权衡和改善
13.面对棘手问题会通过什么渠道解决
14.三列布局想让中间列先出现在页面怎么做
15.对移动端了解多少
16.纯CSS实现一个hover气泡用在不同地方
17.Promise解决了什么问题
18.let,var区别
19.浏览器缓存如何控制,如何工作
20.对于max-age特别大的缓存,如何让浏览器拉取最新资源而不是走缓存
21.如何实现一个自动监听,来让浏览器在页面遭到攻击篡改以后通知到服务端报警
22.前端模版和后端模版的区别,分别如何工作
二、好未来
1.对组件理解,Vue组件通信
2.根据触摸手势实时画出轨迹
3.浏览器如何做垃圾回收的,对于循环引用,有没有自动解除机制,还是需要手工
4.跳台阶问题
三、腾讯
1.如何在上传之前将图片压缩
2.富文本编辑器实现思路
3.跨域问题
4.Vue兄弟组件怎么通信
5.virtual dom的diff算法时间复杂度
6.聊项目细节
7.读过哪些源码,有没有参与过大型开源项目
四、58集团
1.实现一颗二叉树
2.对一棵二叉树重新排序,结构不变,要求根<左节点<右节点,子树也按这个规则调整
3.上述过程如果要求不能改变原来的树,如何做,用深拷贝会有哪些问题
4.画一下项目模型,从最底层到上层api的依赖关系,分析一下哪里还有优化的余地
5.js为何是单线程的
6.如何跨域
7.数据库操作原子性
五、360
1.写一个匹配手机号码的正则
2.项目中做过哪些优化
3.webpack是怎么用的
4.说几个http状态码,越多越好
5.git如何回滚
6.最大连续子数组和
7.讲一下TCP握手
8.Vue的生命周期,父子组件通信
六、便利蜂
1.如何跨域
2.用过哪些ES6特性
3.处理this时,箭头函数和bind哪个优先级高
4.项目中数据如何在不同组件中传送的,有什么弊端吗
5.node中间件转发请求存在跨域问题吗
七、吉比特
1.如何给原型方法增加功能
2.举例说明什么情况会发生内存泄漏
3.工作中写js和css的比例
4.jquery4种绑定事件方式的区别
八、百度外卖
1.循环绑定事件
2.ES6新特性
3.Vue双向绑定原理
4.Babel原理
5.如何跨域
6.封装一个分页组件思路,入口需要哪些参数,要暴露哪些参数给外面
7.实现一个圆,并绕固定点旋转,纯CSS实现
8.git冲突如何解决
九、小米
1.谈一下对jquery/vue理解
2.virtual dom怎么做优化的
3.new Function字符串返回什么
4.webpack 中loader和plugin区别
5.get和post最本质的区别是什么
6.git pull相当于哪两个命令
7.git rebase,git stash分别做什么用
8.Node中有几种流,哪些模块实现了readable,哪些模块实现了writable
9.数据流读取速度过快情况怎么处理
10.websocket相关,与http区别
11.实现一个$函数,完成jquery的链式调用操作
12.实现一个动画函数,参数是移动目标,终点位置信息和时间
13.写一个bodyParser的中间件
14.斐波那契数列递归方式如何优化
15.一个input集合,互相之间val数据有映射关系,当一个input改变时候,如何通知其他input的val改变,应该用什么数据结构来组织这样的关系,事件要怎么绑定,要注意什么问题
16.实现一个中间件,过滤状态码是400的返回信息,只提供客户端200的响应信息
17.Vue兄弟组件通信
18.熟悉哪些设计模式,讲一下工厂和发布订阅
19.双向链表删除一个节点
十、尚德机构
1.如何保证组件的稳定性,不被意外破坏
2.实现一个数组map方法
3.将异步请求封装成promise
4.const和let适用场景和区别
5.箭头函数和普通函数的差别
6.模块之间的解耦会怎么去考虑
7.Vue双向绑定,自动更新原理
8.http头部字段,响应状态码,尽量多说一些
9.js实现继承的方式
10.聊一下webpack中的pluggin和loader,用过哪些,JSX是怎么处理的
11.前后端分离mock数据如何最大化的模拟线上场景
12.http.request转发请求是否存在跨域问题
13.实现两个弹出框分别位于左上和右下,并可以互相传送数据,要如何考虑
14.如何以捕获的方式去实现事件绑定
15.flex布局中涉及的属性,意义,尽量多说
16.本地联调页面如果需要登陆,该采取什么策略
17.js数据类型有哪些
18.gulp用来做什么事,和webpack有什么区别
19.是否有博客和github,关注了哪些前端方面的资讯