阿里巴巴前端面试经验

阿里巴巴面经(新零售事业群-CBU技术部)

笔试

/**
 * 1. 查找落单的数字
 * 描述:给定一个非空的数字数组,数组有且只有一个非重复项,实现一个方法获取落单项
 * 示例:
 *  getSingleNumber([1, 2, 1, 2, 0]); // 0
 *  getSingleNumber([0, 1, 0, 0]); // 1
 *  getSingleNumber([1, 2, 3, 1, 2]); // 3
 */
function getSingleNumber(numbers) {
    let result=null;
    numbers.forEach((item,index) =>{
        if(numbers.indexOf(item) === numbers.lastIndexOf(item)){
          result = item
        }
    })
    return result;
}
/**
 * 2. 找出数组中第k大和第m大的数字相加之和
 * 说明:实现一个方法,找出数组中第k大的和第m大的数字相加之和
 * 示例:
 *   let arr = [1,2,4,4,3,5], k = 2, m = 4
 *   findTopSum(arr, k, m); // 第2大的数是4,出现2次,第4大的是2,出现1次,所以结果为10
 */
function findTopSum(arr, k, m) {
    if(arr.length < k || arr.length < m) return null
    let newArr = [...new Set(arr)].sort((a,b) =>a-b)
    let result = null
    //确定重复次数
    let firstValue = newArr[newArr.length-k]
    let lastValue = newArr[newArr.length-m]
    //保存最大数,最后结果应减去重复的一次
    let firstTemp = firstValue
    let lastTemp = lastValue
    arr.forEach(res =>{
        if(res === firstValue){
          firstValue = firstValue+res
        }
        if(res === lastValue){
          lastValue = lastValue+res
        }
    })
    result = firstValue-firstTemp+lastValue-lastTemp
    return result
}

2.26 一面(电话面)

  1. 为什么选择前端学习,不选择物联网专业课学习
  2. 学习前端的方式
  3. 技术含量最高的项目
  4. 事件委托机制
  5. bind,call,apply用法及区别
  6. 数组的原生方法
  7. slice会改变原始数组吗
  8. element 的buttun组件采用的是原生元素实现还是div(可能会再次问起)
  9. vue2.0和vue3.0的区别
  10. 深拷贝和浅拷贝
  11. Object.assigned方法属于深拷贝还是浅拷贝(没答上来,这里既不属于深拷贝也不属于浅拷贝,关键在于对象的属性是否又为一个对象)
  12. 快速排序算法
  13. 前端跨域 (讲了jsonp,和Access-Control-Allow-Origin,iframe和domain)
  14. webpack工作原理 (给自己挖坑了,主动问了下面试官)

3.5 二面(电话面)

  1. 项目相关

  2. 实习相关

  3. CSRF,XSS攻击及防范

  4. 正则表达式 正整数表示

    • 正整数表示 / [1-9][0-9]* /
    • *和*?的区别
    • 正则的贪婪,惰性
    • \w \s 意义
  5. splice参数问题

  6. 谈了下自身的优势

3.18 三面(电话面)

  1. 最体现自己技术价值的项目
  2. 最具有开发意义的项目
  3. 项目来源
  4. 智慧AI酒店业务难点
  5. 站在一个CTO的角度,这个项目的难点
  6. 自身的优点以及缺点
  7. 前后端联合开发所遇到的问题
  8. 团队组建及角色

3.29 四面(电话面)

  1. 项目分工
  2. 微信小程序watch监听实现方式与场景
  3. 学习前端的方式
  4. 最近学习到的印象最深刻的东西
  5. 技术上解决最难的问题

4.1 HR面 (电话面)

  1. 实习经历,项目经历
  2. 团队成长经历及角色担当
  3. 团队负责人的优势
  4. 团队变化
  5. 团队技术总结及报告
  6. 评价自己在团队中的技术影响力
  7. 技术差异的来源
  8. 怎么看待物联网专业
  9. 物联网专业的核心课程
  10. 物联网带来的核心价值在哪儿及具体实例
  11. 前端学习方式及渠道
  12. 聊聊自己满意的项目
  13. 项目开发背景
  14. 选择公司的判断及条件

阿里巴巴面经(大文娱事业群-业务技术部)

4.14 电话面(杭州) 不知道算几面了,她把我前面所有的面试记录拿着的

  1. 自我介绍
  2. 为什么选择物联网专业
  3. 介绍一下IOT及应用特点
  4. 介绍项目
  5. 团队规划及组成
  6. 布局方式,常用的布局
  7. DOM文档流,详细介绍position的各个定位属性
  8. 如何实现一个左边固定宽带,右边自适应的布局(我是答的用flex进行设置)
  9. 团队开发流程
  10. 前端工具的流程化管理 (面试官应该是想问模块化,webpack相关。我全部答git去了)
  11. 谈一谈微信小程序项目
  12. 微信小程序开发和常见H5开发区别
  13. 微信小程序可以直接操作DOM吗,可以直接用jquery操作吗?
  14. vue中组件通信的方式 (props,$emit,vuex)
  15. 如何实现订阅者-发布者模式 (观察者模式)

4.15 电话面(北京) 部门总监面

  1. 大学学科有哪些计算机专业的学科
  2. 聊一下堆栈数据结构
  3. 后进先出的数据结构是谁 (我懵了,不就是栈嘛)
  4. 聊一下链表的数据结构
  5. 描述一下网络的五层模型
  6. 那再聊一下OSI七层模型
  7. 说一下快速排序吧
  8. DOM content loaded时间之前页面的渲染状态
  9. reflow,repaint 是在DOM树和CSS规则树合并之前还是之后
  10. 聊一聊JavaScript里面的event loop
  11. css 选择器的优先级
  12. js里面的null和undifined的理解
  13. null == undifined 为什么? 为什么为true?
  14. null === undifined 为什么为false?
  15. JavaScript中this的作用域的特点以及使用上的注意事项
  16. canvas标签用来做什么的
  17. 页面平滑滚动的实现方式
  18. 如何理解vant-webapp 框架的优缺点
  19. 微信小程序的原生开发方式是如何实现的(我裂了)
  20. display的flex属性是如何实现的 (我又裂了)
  21. 花了许多时间解决的问题

4.23 HR面 (钉钉视频面)

兄弟们,这个实在是记不住了,视频没办法回溯,就是常规的一些HR面试问题,大多与项目相关,还有就是大学经历,注意一点就是为什么选择这个公司。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一般阿里社招都是招3-5年的P6+高级工程师,当初自己一年经验也没有想过有这个面试机会。 虽然没想着换工作,但是经...
    王钰峰阅读 3,456评论 1 3
  • 一般阿里社招都是招3-5年的P6+高级工程师,当初自己一年经验也没有想过有这个面试机会。 虽然没想着换工作,但是经...
    王钰峰阅读 5,083评论 1 8
  • 这两天我一句都不想和某人说,有些说出口的话经不住回想,一回想起来心如针扎,胸口里好大的闷气堵在心里面,挥之不去的阴...
    爱生活的雪阅读 1,508评论 2 3
  • 2018年 至自己重续梦想 在平凡的日子里留下足迹 与老公一起托起家园 共同养育儿女成长 风雨同舟患难与共 心心相...
    玉妮阅读 1,826评论 0 4
  • 文/ 痞儿君 现在正直江南梅雨季节,天气说变就变,有时绵雨一整天,扰乱了本该有的平静。空中的雨就和人心一样,湿透,...
    安痞儿阅读 2,166评论 0 1