前几天面试了陌陌的前端,这里总结一下。
笔试
来到陌陌的时候首先会先发一套前端的笔试题,很简单。
- 描述一下标准模式和怪异模式的区别;
- 实现一个左边div宽度固定,右边div宽度自适应的布局;
- 在Array的原型链上实现array.prototype.inArray的方法;
- <meta name=“viewport” content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">介绍一下各属性是什么含义;
- display: none 和 visibility: hidden的区别;
还有几道题忘了,总之笔试的题很简单很基础,没什么难度。
一面
- 介绍一下自己的项目经历,可以看着自己的简历介绍(用到的技术 + 遇到的技术难点);
- css的盒模型;
- 宽度未知的div如何实现居中,列举所有能实现的方法;
- let const var的区别;
- 如何实现数组、对象的深拷贝,列举所有方法;
- typeof undefined? typeof null?
- undefined==undefined、undefined===undefined、null==null、null===null、NaN==NaN、NaN===NaN;
- 如何实现类;
- 介绍一下单例模式;
- ES5如何实现单例;
- ES6的class如何实现单例;
- 多个promise如何实现串联;
- promise的all和race的区别;
- 介绍一下async和await;
- 介绍一下fetch;
- 用过axios吗,知道他如何做请求劫持分发吗;
- Vue如何实现双向数据绑定;
- Vue组件之间如何通信(父->子、子->父、兄弟之间);
- Vue如何处理数据流(Vuex,EventBus的$emit和$on);
- Vuex都有哪部分组成(state、mutation、action、getter);
- Vuex中mutation和action哪一个是处理异步操作的(action);
- vue-router如何处理’/xxx/a|b|c|d’这样子的路由(/xxx/:id);
- vue-router‘/xxx/:id’这样子的路由如何获取到id值;
- vue-router如何做路由的跳转(标签&实例方法两种);
- 对工程化有什么了解;
- 数据可视化,用过threejs和echarts吗;
- Nodejs大概会到什么程度;
- Nodejs的res.send和res.json的区别;
- 你有什么问题吗
还有一些问题记不太清了,问的很细,就是css->js基础->es6->框架->工程化相关->nodejs,由于我在公司css写的少所以面试官css和布局也问的比较少;
二面
二面leader说一面面的已经很不错了,二面也没啥要问的了,就聊一聊自己的情况介绍一下这个组的主要工作;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。