阿里饿了么前端三面

  1. 介绍自己都做了什么项目以及背景
  2. 介绍一下项目难点
  3. src是一个普通的url和base64图片的区别?
  4. vue和js有看过什么源码
  • vue双向绑定,全家桶vuex,router都有看过
  • promise的源码也都有看过
  1. 口述promise实现过程(啊,,,差不多讲了8分钟吧,面试官叫停了,说差不多了)
  2. 说说Promise.all,race,any的区别
  • 两个函数返回值的区别
    function func1() {
      return [1, 2, 3]
    }
    function func2() {
      return Promise.resolve([1, 2, 3])
    }
    let res1 = func1()
    let res2 = func2()
  1. 下面两种写法的区别

    console.log(123);   //  直接执行
    setTimeout(() => {
     console.log('123');   //0s后把回调放入队列里面,等主线程空闲取出执行
    }, 0)
  2. 讲讲js的事件循环

  3. es6的class里面的继承)

  • 什么是super
  • 如果不写这个super会怎么样?报错?为什么?从继承和实例的关系想想?我还是不会....
  1. 讲讲prototype__proto__,原型
  2. 讲讲闭包
  • 作用域链下自然的产物
  • 大量引用闭包会增大内存
  • 被引用的变量不会在函数执行完后马上被销毁
  • 匿名函数传参调用实现块级作用域和柯里化函数都利用了闭包
  1. 讲讲ajax,axios,fetch,xmlHttpRequest
  2. 讲了一下axios的拦截器功能
  3. axios请求返回的是一个promise对象,你如何自己利用xmlHttprequst实现一个类似的功能?promise包一下就行
    function myRequest() {
    return new Promise((resolve, reject) => {
        var xmlHttp = new XMLHttpRequest()
        xmlhttp.open('GET', url);
        xmlHttp.onreadyStateChange = function () {
            if (xmlHttp.readyState == 4) {
                if (xmlhttp.status >= 200 && xmlhttp.status < 300 ||
                    xmlhttp.status === 304) {
                    resolve(xmlhttp.responseText)
                }
            } else {
                reject(xmlhttp.status)
            }
        }
    })
    }
  1. 刚刚的onreadyStateChange和onload的区别
  • 状态是4的时候也可以使用onload
  1. vue2和vue3
  • vite
  • defineProperty和proxy
  • watcheffect
  • 引入组合式API的概念
  1. vue2和vue3的domDiff有改动吗?
  • 我不太清楚有没有改动
  • 那你说说domdiff和直接操作dom有什么区别
  1. 说说reflect这个api,为什么proxy要结合reflect进行修改
  • 容错处理更强,会直接返回布尔值
  1. commonJS和esModule的区别
  • 一个是运行时加载,一个是编译时加载,可以做一些优化
  • esModule可以成为浏览器和服务器通用的一个解决方案
  • 那你说nodeJS里面用esmodule引入导出模块需要进行什么配置(???)
  • 我很懵,面试官说可以babel,编译,配置,修改后缀...
  1. 讲讲三次握手的全过程
    经典问题了哈哈哈 ,答得非常教科书,才讲到第一次握手面试官就说嗯嗯,差不多,叫停

  2. http2的新功能

  • 服务端推送,多路复用,头部压缩,二进制
  1. 扩展专业知识
    爬虫,数据可视化,机器学习测试数据集等等

  2. 大数据当中涉及到矩阵相关的计算怎么处理的?(并行进行处理)

  3. 常见的归一化方案,值域的收敛怎么做的(孩子不知道啊..)

  4. 终于到了反问环节QAQ!

  • 问了面试官对目前流行的前端全栈工程师怎么看(答:我不认为全栈是一个特别好的发展方向,该把自己该做的方向做到最好再去考虑后面的,并且不认为nodejs是一个特别有深度的后台技术)
  1. 最后问我的后续规划
  • 继续学react和小程序,typescript这些我还不是很熟的
#阿里面试##实习#
全部评论
看了一下你的面经,这基础也太扎实了吧
1 回复 分享
发布于 2022-05-06 11:43
三面还问这么基础 这么细的吗?
1 回复 分享
发布于 2022-09-26 15:16 广东
有点6啊
点赞 回复 分享
发布于 2022-04-21 20:58
挺强的
点赞 回复 分享
发布于 2022-05-01 13:00
大佬,第六题区别是啥
点赞 回复 分享
发布于 2022-07-16 23:58
第九题第二小问的原因是继承的时候子类的原型指向父类,而constructor是原型的方法,所以会导致子类的comtructor是父类不是子类的构造器了
点赞 回复 分享
发布于 2022-07-17 00:17
想问一下面试平台是什么?手写是共享屏幕吗?
点赞 回复 分享
发布于 2022-09-05 23:39 北京
今天饿了么一面,面试完面试官给我出了几道笔试手写题,然后给我一个小时手写,他关闭会议了,但是在远程看着我实时写的代码,说有什么问题电话联系他,但是我后面那个在线编辑器刷新了,他留的电话没保存,结果没法联系他了,后面代码写完了就直接退出了,这样有啥问题不😵
点赞 回复 分享
发布于 2023-05-22 22:37 上海

相关推荐

某牛奶:一觉醒来全球程序员能力下降200%,小伙成功scanf惊呆在座个人。
点赞 评论 收藏
分享
10-17 10:05
已编辑
北华大学 全栈开发
牛客872465272号:掉头发了哥
点赞 评论 收藏
分享
4 49 评论
分享
牛客网
牛客企业服务