阿里钉钉-JAVA研发工程师-一面
八股文(30min)
- 面试官给了一段十行的代码,让我说一下运行结果,然后问我代码存在什么问题,然后问我整个Main方法从启动到结束内存是怎么变化的,执行到每一行内存分别有什么变化。总体来说考察的知识点有 JVM内存区域、缓冲池、JMM、String、Integer/Long的自动拆箱和缓冲池
- Object类里有哪些方法
- 为什么需要同时重写HashCode和equals方法?以HashMap为例,只重写HashCode会出现什么问题?只重写equals会有什么问题?
- 只有HashMap会用到HashCode吗?HashSet和HashMap有什么区别?HashSet底层怎么实现的?有什么特点?
- 发生哈希冲突怎么办?有哪些解决办法
- 一道XML的SQL题,写分页查询的动态SQL(太久没写#的位置搞忘了)
- 这条SQL的执行流程是怎么样的?
- server层和engine 层怎么交互的?
- 走哪棵索引树?
- 需要查询多少次?
- 需要回表多少次?
- B+树为什么效率高?
- 在磁盘具体是怎么存储的?
- 非叶子节点里到底有什么?
- 为什么要加order by?
- order by排序原理是怎么样的?在哪里排序的?怎么优化?
- 依据上面说的,深度分页应该怎么优化?(问得非常非常细,还好我是MySQL大佬)
实习经历(30min)
面试官让我挑一个项目讲,我挑的比较熟悉的网页音视频项目,面试官笑呵呵的说那我就不问那个,你聊实习项目吧😂😂😂
反复拷打实习项目,需求怎么样的?怎么做的技术方案?这种实现有没有什么问题?还有没有可以优化的地方?有没有反思为什么你们的系统会这么设计?有没有质疑过你们系统设计的合理性?....面试官说了很多很多,让我收获良多😍😍😍。
实习经历过程中涉及到的八股文:
- 死信队列是什么?
- Kafka如何保证高可用?如何保证“消息至少被消费一次”的特性
- Redis持久化机制?如何保证数据可靠?主从和哨兵...
项目(5min)
- 聊了聊分布式锁的演进和优化以及Redisson的实现(赞美黑马点评!)
- Redis的热点key和大key怎么处理?
场景(5min)
- 大型Excel上传解析到服务器的系统设计(懂车帝也出过这个)
总结
面试官人很好,循循善诱,从场景题和实习的细节出发,问得很细。面试官还夸我基础很扎实,脑子里有很多知识,很多回答超出了他的预期,笔试和测评成绩也很好。也指出了我一些不足,比如回答问题没有总分或者总分总的结构,总是上来就哐哐123的输出;还有即使不会的也要把自己的思路说出来,面试不是考试,不要怕出错,重要的是有思考;还有一些比较具体的建议我就不写了;反正就是很好面试官,感谢他!
#阿里##钉钉##暑期#实习面试经验 文章被收录于专栏
找实习过程中的面经