阿里 蚂蚁 前端面经

凉的透透的,首先问项目,楼主项目是做中台,面试官一直追问平台的商业价值,所以说清楚了项目里的东西(楼主自认为。。)也没能让面试官满意
然后出了题,现在还不会这题,大佬们帮忙看看。之后又问了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
您这是社招吗
点赞 回复 分享
发布于 2022-03-08 15:57
向你推荐字节跳动的 4036 个热招职位:https://job.toutiao.com/campus/m/position?referral_code=JG445W8
点赞 回复 分享
发布于 2022-02-26 21:06
抖音电商了解一下不?
点赞 回复 分享
发布于 2022-02-09 17:41
这道题思考感觉就是手写promise.all,然后返回最后一个结果就可以了。不知对不对
点赞 回复 分享
发布于 2022-02-08 14:49
写法有很多,本质就是sendRequest先都执行了,只是不push结果,后面只要拿到最后一个结果即可
点赞 回复 分享
发布于 2022-02-02 09:06
为了追踪状态变化,action是异步的
点赞 回复 分享
发布于 2022-01-21 15:58
想知道楼主是校招补录么~
点赞 回复 分享
发布于 2022-01-13 17:56
promise这题意思是自己写一个race方法?
点赞 回复 分享
发布于 2022-01-07 19:10
阿里出的题就不能常规一点吗呜呜呜,我前天也是,出了个promise题,做了一个多小时
点赞 回复 分享
发布于 2022-01-06 10:17

相关推荐

04-30 16:49
已编辑
门头沟学院 产品经理
  岗位:技术产品timeline:4.12 投递4.16 邮件约一4.17 一面4.18 电话约二4.21 二面4.23 转hr,邮件通知三面时间4.24 hr面4.30 offer……记录一下hr面的过程,因为主啵是暑期第一次走到hr面(双非鼠落泪),所以面之前有根据自己的情况设想过一些问题,hr面确实也押题中了(蚌1. 自我介绍(给自己挖坑的表达:对CSIG感兴趣,对ima知识库和元宝感兴趣)2. 送命题1:既然喜欢ima和元宝,为什么不直接投总部?> 主啵的回答以及内心OS:1. 3月初投递的总部,但是当时由于实习经历以及能力模型不是特别匹配,所以很遗憾错过了机会(潜台词:有面但没过)2. 在这两个进行了简历上的核心项目产出(潜台词:菜是曾经,现在变强了)3. 同样还是很喜欢腾讯系的AI创新产品,例如ima知识库,元宝(此处为后面挖坑),所以继续投递云智进行尝试(模糊重点:为什么不接着投总部,当然我赌hr不会问)3. 送命题2:为什么选择西安而不是一线城市作为就业地?一线的工作机会和发展更好> 主啵的回答以及内心OS:1. 个人兴趣:喜欢文化历史名城(为后面挖坑+1),对文旅感兴趣,刚好上一段实习在做AI+文旅的方向,很幸运2. 西安的高校教育资源丰富(本来可以说读研很方便的,但是我是就业导向,所以就没延伸了)4. 送命题3:既然喜欢历史文化,北京相较于西安,同样有丰富的历史文化资源,并且更发达,为什么不选北京?> 主啵的回答以及内心OS:(这里实在是被拷打的晕了累了)北京生活成本高,并且我喜欢的鹅在深圳(其实鹅在北京也有,还好hr没有在这个点再追问)5. 送命题4:以后的发展想不想去一线城市?> 主啵的回答以及内心OS:(我是外地人,所以说不想的话有点假)这里把重点模糊在:当前有当前的规划,以后的路怎么走还得看现在的产出→变相强调我对这份实习的强烈意愿6. 然后hr介绍一堆,意思就是有机会推荐人去总部应聘。送命题5:以后想不想去CSIG?> 主啵的回答以及内心OS:我:(当然想啊!)(但是直接说想和不想都不行)假设一个情境,我以后想去CSIG,但是这有一个前提,就是我在云智有很好的产出,积极的工作态度,为团队贡献idea,我认为在这一件事上我们双方是有一个共同点,就是我在这段实习经历中积极投入,所以目前阶段我想做好手头这份工作,至于以后的规划留到以后再看,(话锋一转)但是我是希望能够通过暑期实习转正的,很希望能得到这份工作机会7. 你认为遇到的最困难的事情> 主啵的回答以及内心OS:(相比前面是很简单的问题了,借着困难的事展开讲了自己的能力模型)校园经历和实习经历各说了一个困难     校园:队友摆扛比赛→抗压能力,责任心,新情境学习能力实习:第一次作为产品经理的产出项目 → 独立深入思考架构和复杂功能设计,抗压能力,idea转化能力8. 口头offer> 主啵的回答以及内心OS:没有坐到工位拿到新电脑和入职礼物我是一刻不会安心的 TAT  求顺利落地求不被横向总结:    经过前两轮的考查,业务那边认为你的能力通过了,hr面就是hr考查你作为一个新员工(转正预备役)是否有强烈的意愿以及稳定性的确定    主啵觉得hr面的回答,yes or no的送命题,直接回答的弊端很明显,以及后续继续被送命题拷打的概率都非常高。但是主啵结合实际情况和真实想法打了点太极,但是事后整理面经就发现还是有点滑头。。希望不会影响到主啵的offer落地(跪了orzzzzzzzzzzzzzzzzz    不过确实是很喜欢鹅家产品(ima的产品策划和设计简直太酷了,每次面试都说这个是最喜欢的产品)
查看7道真题和解析
点赞 评论 收藏
分享
评论
4
33
分享

创作者周榜

更多
牛客网
牛客企业服务