阿里饿了么前端三面

  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-09-26 15:16 广东
看了一下你的面经,这基础也太扎实了吧
1 回复 分享
发布于 2022-05-06 11:43
今天饿了么一面,面试完面试官给我出了几道笔试手写题,然后给我一个小时手写,他关闭会议了,但是在远程看着我实时写的代码,说有什么问题电话联系他,但是我后面那个在线编辑器刷新了,他留的电话没保存,结果没法联系他了,后面代码写完了就直接退出了,这样有啥问题不😵
点赞 回复 分享
发布于 2023-05-22 22:37 上海
想问一下面试平台是什么?手写是共享屏幕吗?
点赞 回复 分享
发布于 2022-09-05 23:39 北京
第九题第二小问的原因是继承的时候子类的原型指向父类,而constructor是原型的方法,所以会导致子类的comtructor是父类不是子类的构造器了
点赞 回复 分享
发布于 2022-07-17 00:17
大佬,第六题区别是啥
点赞 回复 分享
发布于 2022-07-16 23:58
挺强的
点赞 回复 分享
发布于 2022-05-01 13:00
有点6啊
点赞 回复 分享
发布于 2022-04-21 20:58

相关推荐

08-22 16:24
门头沟学院 Java
2025.8.22&nbsp;百度一面&nbsp;时长1h20min你对java面向对象是怎么理解的,你了解的设计模式是怎么体现面向对象的特性的你对spring的ioc和aop是怎么理解的循环依赖实际遇到的问题怎么解决面试官解答:1注解。2可以从spring的生命周期入手,我觉得应该是用单例去实现消费逻辑。3实现spring提供的接口。你对juc怎么理解的,有用到一些juc工具包吗首先我说了一下对线程安全的理解,然后这里答到了那三个,面试官说还有个map的,脑抽了说成ThreadLocal追:说一下ThreadLocal你项目怎么用的追:然后回到了ConcurrentHashMap,这才意识他问的是这个了解索引吗。说一下实际项目中你是怎么建字段加索引的追:索引失效有哪些MVCC讲一下讲一下redo&nbsp;log,binglogredis数据结构,实际项目你用到了哪些追:zset可以实现延时队列吗中间件你知道哪些怎么理解rag挑一个最近的项目讲一下吧你觉得微服务比单体好在哪里docker了解吧,你们用的什么方法部署镜像算法:计数排序总体体验感无敌,面试官和自己有说有笑的。但是自己实在太紧张了,表达也很糟糕。算法很简单,但是自己写太快了,一直没发现有个地方错了,运行结果错了脑子就下线,debug也没d出来,最后还是面试官直接告诉我。然后还有代码规范性问题,一直强调,没明白什么意思。大概率一轮游,不过知道自己问题在哪里了,好好下去沉淀了
查看17道真题和解析
点赞 评论 收藏
分享
评论
6
57
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务