阿里 蚂蚁 前端面经

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

相关推荐

不愿透露姓名的神秘牛友
2024-12-18 15:35
程序员牛肉:完全是在胡写简历。 我很好奇你干嘛要在教育经历里面写你是软件二班的班长?你写它的目的是什么?我觉得真的就是很突兀。给我第一感觉就是:你真的是一个心智健全的成年人吗? 另外我也很好奇你是怎么做到参加了这么多所谓的计算机比赛,完事儿一个拿得出手的项目都没有。 自己的项目经历还是图书馆管理系统这种垃圾东西……我的的建议是你都不如大幅度删减一下自己的水奖项,看着真的给人一种又水又学傻了的感觉。 计算机不看奖项,看院校和个人能力。 计算机是强工科,你要投后端的你就应该明白,人家招你进去是指望你干活儿的。那你觉得你这份简历有展示出你的后端水平吗? 你动动你的脑子想一想,人家面试官要想通过你的简历看出你的项目开发能力,最重要的板块就是两个,第一个是你的实习,第二个是你的项目。你没有实习,是不是就应该在项目上好好琢磨琢磨? 你自己看看你项目写的什么描述,你作为一个要后端岗位的应届生,你对你自己项目的描述还仅仅停留在使用mySQL,使用JAVA,使用spring boot框架。给人一眼感觉就感觉完全就是你做的玩具。可能就是你哪一个学期做的课设。 对于应届生来讲,在项目板块要尽量突出自己的技术能力,因为谈业务你肯定也不懂。简单来讲,你的项目要清晰准确的表达:你用哪种技术解决了现有的哪种技术问题,带来了多少的效益提升? 所有关于项目的描述都围绕我说的这种表达方式去写。不要自己自嗨式的写一堆垃圾上去 你既没有实习项目,又没有一个比较好一点的项目,而且院校也比较差,所以找工作会异常的难找。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
01-20 15:00
24届毕业生, 计算机专业,因为公司强制安排去了人力,氛围不好,没人教我,又一堆活要给我,领导和稀泥,做不完的表格,每天都笑不出来,真的感觉要崩溃了,想离职,但是还没找到下家,上班的意义到底是什么呢?
在思考的熊熊很讨厌吃香菜:不舒服的环境,工作下去也只是对身心不益。我们肯定是有得选的,不要放弃。我也是24届,已经找到第三份java的工作了,26号入职领电脑,薪资还整整增加了50%。
点赞 评论 收藏
分享
评论
4
33
分享

创作者周榜

更多
牛客网
牛客企业服务