阿里 蚂蚁 前端面经

凉的透透的,首先问项目,楼主项目是做中台,面试官一直追问平台的商业价值,所以说清楚了项目里的东西(楼主自认为。。)也没能让面试官满意
然后出了题,现在还不会这题,大佬们帮忙看看。之后又问了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

相关推荐

4 33 评论
分享
牛客网
牛客企业服务