阿里暑期实习生前端一面面经
3月22日晚17:00开始面试,整个过程持续一个半小时左右,面试小哥人很nice,也聊了一些校园中的经历,整个过程比较轻松
- 上来给五道题目
【问题1】有序数组合并后保证元素唯一并且还是有序
const array1 = [1,3,4,5];
const array2 = [2,3,6];
mergeArray(array1, array2) => [1,2,3,4,5,6]【问题2】DOM节点统计
DOM 的体积过大会影响页面性能,假如你想在用户关闭页面时统计(计算并反馈给服务器)当前页面中元素节点的数量总和、元素节点的最大嵌套深度以及最大子元素个数,请用 JS 配合原生 DOM API 实现该需求(不用考虑陈旧浏览器以及在现代浏览器中的兼容性,可以使用任意浏览器的最新特性;不用考虑 shadow DOM)。【问题3】实现 Promise.all 方法
【问题4】开发中有时需要监控浏览器的resize事件,改事件在窗口缩放时会频繁触发,请写出简化版的优化代码?
【问题5】用css使得文字在容器内水平垂直居中(考虑单行和多行文本)
- 自我介绍一下
- 聊一聊项目
- 项目中可视化图表用了e-charts,使用过canvas画过图表吗?(没有)
- 刚才提到了跨域,跨域还知道几种方式?(JSONP,postmessage,CORS,代理)
- 前端的模块化,CommonJS,AMD,CMD,ES6Module,这些了解吗?(知道的,大概巴拉巴拉了一通)
- React看你简历里有提到,说说生命周期?(没说出来,主要技术栈是VUE)
- 那说说VUE的生命周期吧
- VUE的双向绑定原理了解吗?
- 聊一聊你对前端未来发展的看法
- 你觉得前端发展的下一个重大突破口会是什么?
- 做项目过程中如何与甲方沟通,如何协调好项目组组员的工作?(因为提到项目中自己有担任类似PM的角色)
- 前端的学习过程,平时有参加过开源代码的完善吗,有自己的博客吗?
- 反问环节