阿里 蚂蚁 前端面经

凉的透透的,首先问项目,楼主项目是做中台,面试官一直追问平台的商业价值,所以说清楚了项目里的东西(楼主自认为。。)也没能让面试官满意
然后出了题,现在还不会这题,大佬们帮忙看看。之后又问了vuex的设计思路,为什么要用mutation修改状态,为什么不能直接修改state状态(这题感觉也没答好,大佬们赐教)
包装一个高阶函数,
模拟发送请求 ,只取最后一次的结果,前面的promise还没完成的话就取消
function wrap(){
    // your code
}

let count=0;
function sendRequest(){
    return new Promise((resolve)=>{
        setTimeout(()=>{
         resolve(++count)   
        })
    });
}
let newWrap = wrap(sendRequest);
newWrap().then(console.log) 
newWrap().then(console.log) 
newWrap().then(console.log) //输出3


#阿里前端面经##阿里巴巴##面经#
全部评论
试着写了一个,大中午看到这题午睡的时候一直在想,输出是3,不知道思路正不正确 function wrap() {     let req = [...arguments][0];     let promises = [];     function fn() {         let p = req();         promises.push(p);         return new Promise((resolve, reject) => {             promises.forEach((promise, index) => {                 promise.then(res => {                     if (index === promises.length - 1) {                         resolve(res);                     }                 }, err => {                     if (index === promises.length - 1) {                         reject(res);                     }                 })             });         });     }     return fn; } let count = 0; function sendRequest() {     return new Promise((resolve) => {         setTimeout(() => {             resolve(++count)         })     }); } let newWrap = wrap(sendRequest); newWrap().then(console.log); newWrap().then(console.log); newWrap().then(console.log);
3 回复
分享
发布于 2022-01-11 15:09
function wrap(func) { // your code let requestCount = 0; return function () { requestCount++; return new Promise(resolve => { const num = requestCount; func().then(res => { if (num === requestCount){ resolve(res); } }) }) } } 主要思路是保存当前请求次数
2 回复
分享
发布于 2022-02-09 18:18
联易融
校招火热招聘中
官网直投
阿里出的题就不能常规一点吗呜呜呜,我前天也是,出了个promise题,做了一个多小时
点赞 回复
分享
发布于 2022-01-06 10:17
promise这题意思是自己写一个race方法?
点赞 回复
分享
发布于 2022-01-07 19:10
想知道楼主是校招补录么~
点赞 回复
分享
发布于 2022-01-13 17:56
为了追踪状态变化,action是异步的
点赞 回复
分享
发布于 2022-01-21 15:58
写法有很多,本质就是sendRequest先都执行了,只是不push结果,后面只要拿到最后一个结果即可
点赞 回复
分享
发布于 2022-02-02 09:06
这道题思考感觉就是手写promise.all,然后返回最后一个结果就可以了。不知对不对
点赞 回复
分享
发布于 2022-02-08 14:49
抖音电商了解一下不?
点赞 回复
分享
发布于 2022-02-09 17:41
向你推荐字节跳动的 4036 个热招职位:https://job.toutiao.com/campus/m/position?referral_code=JG445W8
点赞 回复
分享
发布于 2022-02-26 21:06
您这是社招吗
点赞 回复
分享
发布于 2022-03-08 15:57

相关推荐

● 自我介绍● 看你写的都是React  ○ 函数式组件有哪些 对应于 类组件的生命周期  ○ 自定义 hook 咋写的,做了哪些处理  ○ VDOM 和 直接操作 DOM 哪个好● CSS  ○  垂直居中    ■ line-height    ■ flex    ■ top 、transform  ○ 对回流和重绘有什么理解  ○ BFC ,如何触发,实际场景,边距重叠的解法 ,多种❌    ■ 触发规则      ● 脱离文档流的定位(positon:absolute / fix)      ● display : float、inline-block 的元素      ●  flex、grid 布局中的子元素      ● overflow 值为:hidden、auto、scroll;    ■ 边距重叠解法(将其中一个触发BFC即可)      ● inline-bolck      ● flex/grid      ● ● JS  ○ 事件循环  ○ 知道哪些异步事件● 项目:实习做过最难的,业务上最难的  ○ 水印,点击穿透 ❌    pointerEvents: 'none',  ○ 监控报警    ■ 如何追查    ■ 监控那些错误  ○ 开发流程  ○ 埋点,有了解过数据发给后端之后到可视化平台的整个链路吗 ❌(反问才知道面试官是数据团队的)● 八卦  ○ 在走哪些公司的流程  ○ 对那些公司有倾向性  ○ 为什么学前端  ○ 大学期间的学习成果,学习方向● 反问  ○ 氛围、业务
点赞 评论 收藏
转发
头像
04-11 11:28
已编辑
四川大学 计算机类
#蚂蚁##蚂蚁二面##基础架构##凉经##基础平台研发工程师实习生#0407 没有考察算法,照例开局自我介绍,然后简历上的项目说一下,二面八股考察少,然后对项目发问较多,此处略。即使是八股,也是从项目技术点往外延申的;面试官问问题也很温和,不过看得出来招的是云原生+java全栈的人,可惜我云原生不太熟,光准备java和基础八股去了。然后问到云原生的时候,我只能说些我知道的知识,对不起已经尽力了然后我赶紧说我下去立马补,面试官笑了下安慰我,说现在才学可来不及了呀  还是实力不足,沉淀一下,秋招再见八股相关:1. 说一下guava的限流实现?分别从API、原理层面说说(项目中用到了guava)2. guava限流有什么局限性?3. 项目是一个集中式还是分布式? 为什么没有考虑做分布式?怎么评估的?后续有想法做成分布式么?4. 做项目有没有考虑用微服务去实现?怎么设计?5. 用Springboot,运行是java -jar,说一下这个命令背后的执行原理?(不会)6. 雪花算法了解么?和UUID的区别?优劣?7. 对微服务有了解?例如dubbo、nacos、zookeeper?说一下?(只了解zookeeper)8. istio有了解过么?什么是服务网格,说一下自己的理解?(不会)反问:(1)技术栈(2)面试建议0409 已回到人才库
点赞 评论 收藏
转发
4 33 评论
分享
牛客网
牛客企业服务