阿里前端岗社招面试经历
电话面
1、一开始让我做了个简单的自我介绍,问我现在在哪里工作,为什么要离职?
2、目前手头上跟的什么项目什么的。然后让我挑一个最近正在做的项目,聊聊技术栈。然后我找了一个我负责构建的项目,然后从项目背景、人员分配、技术栈说起;
3、紧接着问我为什么选择这个技术栈?
4、最后问我有什么问题要问他的?然后我问了一个问题,能介绍下您所在部门的业务吗?
一面
现场编码:
1、第一道题是考察正则匹配的;
2、第二道题是一道操作数组的题目,对数组进行排序去重。这题是对ES6自带API的考察;
function merge(arr) { if (!Array.isArray(arr) || arr.length == 0) return []; var ret = []; for (var i = 0; i < arr.length; i++) { // 或者 ret.indexOf(arr[i] == -1) if (arr.indexOf(arr[i]) == i) { ret.push(arr[i]); } } return ret; }
3、第三道题是实现函数的柯里化;
function composeFunctions() { var args = Array.prototype.slice.apply(arguments); var _func = function() { if (arguments.length === 0) { return func.apply(this, args); } Array.prototype.push.apply(args, arguments); return _func; } return _func; }
1、如何用css来实现水平垂直居中。可以用基于vertical-align配合文字基准线的方案来实现;
2、然后是Promise的用法以及实现原理。
3、接着是前端存储方式,以及它们之间的优缺点。
4、移动端页面适配解决方案,我的回答是淘宝的flexible.js来做屏幕适配,然后面试官询问了它的实现原理,以及浏览器中几种长度单位(rem、em、px)的特点和区别
5、React、Vue之间的区别和实现原理,另外问了下React中Fibber是什么? Fibber应该是调度,可以提升react渲染的效率,然而不太清楚具体的实现原理。
6、JS的Event Loop。
7、三次握手和四次挥手。
8、最后问了我最近最有成就感的项目,并介绍下项目的技术方案,哪些地方让你特有成就感,还有遇到的困难是什么,如何解决的?
二面
1、首先让我做了下自我介绍,自我介绍中粗略地介绍了我目前做的业务,让我挑一个最熟悉的聊聊,具体从技术方案、遇到的问题、解决情况来阐述。
2、紧接着问了几个ts相关的问题;
3、离职的原因是什么?
4、最后就问我还有什么问题吗?
#面经##社招##阿里巴巴##前端工程师#