史上被吊打得最尴尬的阿里一面
阿里一面(35 min)
请问哪里能找到比我被吊打得更惨的选手?
- 自我介绍一下
- 自我介绍:....平时我学习也有深入源码去分析,我对 Java 并发编程比较熟悉(这句劝退警告)....
- 讲讲 hashmap
- balabala
- 停,说说为什么链化阈值是 6 ,树化阈值是 8?
- 经验吧...
- 经验?(笑)肯定不是,6 和 8 怎么算的?
- emm...沉默(1 分钟)
- 链表时间复杂度多少?红黑树时间复杂度多少?
- O(n) / O(logn)
- 那到底怎么算的还不会么?
- emm...沉默(1 分钟)
- 链表平均时间杂度多少?
- 还是 O(n) 啊...
- 不是,平均是 O(n/2),还不会算么?
- 是啊,那不还是 O(n),那到底要怎么算...?
- emm....沉默(1 分钟)
- (笑)你这个学的不行啊,balabala 解释,什么时候红黑树效率高于链表之类的...明白了么?
- 哦,明白了
- volatile 知道么?
- 解释作用、原理、底层汇编...
- 停,这个工作内存是什么,为什么要复制变量?跟计算机哪一个对应?
- (这里我纯属作死,很早之前复习忘了),解释错了对应关系,被怼
- (笑)是这样么?你别说那么一大堆,就说工作内存对应哪个,为什么要复制,问题你得说重点啊
- emm...沉默 1 分钟
- (笑)你这样不行啊
- emm... 沉默 1 分钟
- 下一个问题吧,线程池了解过么?
- 嗯
- 讲讲核心参数
- balabala
- 那这个 core 和 maximum 要怎么设的?关系是什么?
- 不就是 maximum 大于或等于 core ...?
- 那肯定不对啊,这样吧,假如一分钟内要写 1 万个 1M 的文件到磁盘,core 和 maximum 怎么设?
- emm...沉默 1 分钟
- 500 和 1000 ?
- 你这个理由是啥?
- 随便说说的...因为太多会 OOME
- (笑)你这样不行啊,怎么是随便设的,线程一点资源哪里会 OOME 啊?(被怼 balabala...)
- emm...沉默 1 分钟
- 磁盘 IO 过程也会产生对象,太多也会 OOME 啊
- (笑)那一点资源怎么可能,再想想怎么设这两个参数?
- emm...沉默 1 分钟
- emm... 那不如这样,再给你一道题,提示一下吧,你结合回答一下
- (神他妈再来一道题提示...)嗯?
- 我现在要对一个数 0 加到一亿,要怎么设 core 和 maxim?
- emm...沉默 1 分钟
- 算了,你知道并发的作用是啥么?
- 并发工作,更快达到工作目标
- 那你想一下,如果 CPU 只有四核,那你设 500 core 和 1000 maximum 不都是让更多线程处于线程切换的损耗么?
- (联系并行,有点理解了)哦,那 core 如果是四核就得设置 4 个
- 对,那 maximum 怎么设?
- (感觉怎么设都是一样啊...)
- emm...沉默 1 分钟
- 算了,你想想,假设是四核,你 IO 那个场景是不是大部分 CPU 都没怎么用,大部分瓶颈在 IO 上,所以直接设置为 1 万个 maximum 就好对不对?如果是加法操作,CPU 利用率高,是不是四个线程和四个 maximum 足以执行,为了减少上下文切换,明白了没有?
- 嗯,懂了,明白了...
- 数据库学过么?
- 嗯,学过 MySQL 和 SQLServer
- 那你讲讲 MySQL 的锁
- 乐观锁、悲观锁、表锁、行锁,balabala
- 那你讲讲行锁实现原理
- (WTF ?)
- emm...沉默 1 分钟
- (笑)不是,就跟 Java 里面一样,锁,总得锁一个对象啊,行锁锁哪个对象?行锁实现原理了解过么?
- emm...沉默 1 分钟
- 不好意思,面试官,我对 MySQL 锁没有理解那么深
- 好的,我这边对你了解已经够了,今天就先到这里了
总结
总结一下,大概是 2020 届(不说阿里其他的面试)就说一面,应该我是吊打的最惨的那个了
也发现一些问题:
- 遗忘:先前复习的忘了,还是需要多看看
- 深度:考虑的时候,的确没有考虑很多,利用,行锁的确没深入底层了解
度小满笔试,选择题写到第二道就打过来,响了好久,想了一下阿里的劝退笔试,估计这是唯一一次机会面阿里了,于是就接吧,度小满直接挂掉
阿里的面试是默认常规的原理套路,你全都懂了。并且你所理解的原理不是阿里定义的原理。常规应付面试的套路对阿里没用的,就算懂 volatile 那一套,汇编代码怎么搞又如何?这只是第一步入门,而真正要做的是要综合计算机所有知识,深入掌握各种原理,学东西不能只看表面,要真正学以致用
的确,学东西 = 广度 + 深度,这波吊打,第二次沉默我就感觉凉凉了,但还要继续被吊打沉默。不过一方面感觉面试官职业素质是在线的,即使是菜鸡,也强忍着面你个 30 分钟,这是个双方都蛋疼的
难受的同时,也刻骨铭心:学以致用,看懂源码没用,要联系真正的使用
#阿里巴巴##秋招##面经##Java工程师#