阿里云二面 java研发

 阿里云:
1.EXCEPTION和Error的区别,可以抛出自制的Error嘛,会被捕获嘛(都实现自Throwable)
2.HashMap可以保存null key或者value嘛,
3.ConcurrentHashMap可以存null嘛,为什么不可以
原因:设计者的设计问题,以及二义性
4.Spring中事务的隔离传播方式默认为?
5.两个事务中,一个事务A调用事务B,此时B回滚了,A会不会回滚
6.算法题:字典树
7.   8G的文件,每一行都是数字(可能是long),用2G的内存统计所有重复出现过的数字,以及出现过的次数(次数大于等于2才被统计),没回答好,被提示使用位图(bitmap)。追问,假设很多数字是long类型,bitmap存不了,该怎么办(面试官给我当做课后作业)

阿里云的二面是真滴难,问的都比较引人思考(面试官中途还说,我知道你准备了,但是我们不问八股,就是问深一点)

总之是一份凉经感觉秋招和阿里系都无缘了

非科班找java岗真的受挫啊
全部评论
1、2、3、4其实不难的 哥们 都是八股文的东西
1 回复 分享
发布于 2023-09-20 16:15 天津
兄弟。阿里云总共几轮面试?
1 回复 分享
发布于 2023-09-24 23:49 浙江
所以第8题存储的是long类该怎么办
1 回复 分享
发布于 2023-10-05 13:04 广东
哥们哪个部门呀
点赞 回复 分享
发布于 2023-09-20 13:16 北京
好家伙感觉有点深
点赞 回复 分享
发布于 2023-10-16 20:28 安徽

相关推荐

10-15 21:11
厦门大学 Java
百度麻将笔试 10.15 题解后端卷第一题 贪心n选k 如果选择的数的下一个数没被选,积分+1所以最后一个数一定能拿一分,而在 n/2的转折处1 (2) 3 (4) 5 (6)(n = 6, k = 3) 可以拿三分k = 4 时(1) (2) 3 (4) 5 (6) 仍然可以拿三分,也就是选择了这个1 不会得分但也不会丢分然后注意数字范围取long long while(t --){        long long int n;        long long int k; cin>>n>>k;        //n个数里最多可以得n/2 ……        //1 - n里假如 n 是奇数 1,2,3可以选2两个数        //假如是偶数那可以选        long long int res = 0;        if(n % 2 == 1) res = n/2 + 1;        else res = n/2;        //到这里是最多能拿多少分,之后每选一个还得扣        if(k         else{            long long int tmp = n + 1;            cout        }    }第二题 约瑟夫环问题注意到每一次选择一个数,都能确定下来结果的一位数比如 1 2 3 4第一次1到队尾,我们就能确定2是结果里的第一位,并且每一次都能确定下来一位所以本质是约瑟夫环问题代码就不放了,我是用队列模拟的第三题 麻将想了半天dp想不出来,那就搜索一下试试,刚好过了——————//dp想破头想不出来//试一下搜索//广度优先搜索//每一轮找刻子或者顺子//然后四轮后找雀头//找得到就res ++//数据量应该支持//哈希表记录一下stringunordered_set uset;void dfs(vector &v,int round){    if(round == 4){        for(int i = 0;i if(v[i] >= 2){                v[i] -=2;                string tmp;                for(int j = 0;j                     tmp.push_back(v[j] + '0');                    tmp.push_back(j + '0');                }                v[i] += 2;                uset.insert(tmp);            }        }        return;    }    //dfs    //先搜刻子,再搜顺子    for(int i = 0;i if(v[i] >= 3){            v[i] -= 3;            dfs(v, round + 1);            v[i] += 3;        }    }    for(int i = 1;i  if(v[i-1] >= 1 && v[i] >= 1 && v[i + 1] >= 1){            v[i - 1] --;            v[i] --;            v[i + 1] --;            dfs(v,round + 1);            v[i - 1] ++;            v[i] ++;            v[i + 1] ++;        }    }}int main() {    int n; cin>>n;    if(n     else{        vector vo(n);        fill(vo.begin(),vo.end(),4);        dfs(vo, 0);        cout    }    }
投递百度等公司10个岗位
点赞 评论 收藏
分享
投票
bg学院 实习生 150/day,转正8.5-9k*13薪
点赞 评论 收藏
分享
8 41 评论
分享
牛客网
牛客企业服务