阿里云初面问题分析

最近有同学找我分享了他的阿里补录面试经验,并和他做了一些技术点的讨论,这里将面试问题分享给大家。大家关于这个面试问题有不了解的,可以先自己Google看下,还是不理解的话可以找我讨论

组件

  1. 问对哪个项目熟悉,为什么想要用java去写关系型数据库?
  2. 可重复读,已提交读,这两个隔离级别表现的现象是什么,区别是什么样的?
  3. 数据管理里,数据文件大体分成哪几种数据文件?
  4. 说下MVCC机制的原理?
  5. 索引的类型有哈希索引,B+树索引,而hash索引的时间复杂度是o1,那为什么我们一般情况下不使用哈希索引,而使用b+树索引呢?
  6. 对一个慢sql怎么去排查?如果是我们接口访问慢了呢,你有哪些排查思路?
  7. 为什么Mysql不用SkipList作为索引数据结构
  8. Redis的主从复制了解吗?会存在数据丢失问题吗?那Mysql就一定能保证数据不丢失?

Java

  1. MyBatis运用了哪些常见的设计模式?
  2. Java的继承思想你觉得在编程中有什么缺陷?
  3. MyBatis中创建了一个Mapper接口,在写一个xml文件,java的接口是要实现的,为什么这没有实现呢?
  4. 与传统的JDBC相比,MyBatis的优点?
  5. 还记得JDBC连接数据库的步骤吗?
  6. 如果让你设计一个SpringIoc,你觉得会从哪些方面考虑这个设计?
  7. Spring给我们提供了很多扩展点,这些有了解吗?
  8. SpringAOP主要想解决什么问题
  9. 代理模式和适配器模式有什么区别?
  10. 使用多线程要注意哪些问题?
  11. 那保证数据的一致性有哪些方案呢?
  12. 线程池有了解吗?线程池大概的原理?

网络

  1. http协议的报文的格式有了解吗?
  2. TCP三次握手有什么问题吗
  3. 那TCP的拥塞控制有什么缺陷吗,如何优化

微服务

  1. 微服务部署理念有什么问题?单体架构一定就不好吗
  2. 在数据的可靠性保障上你有哪些想法?双主写的话会导致什么问题?
  3. ShardingJdbc的客户端和代理模式各自有什么优缺点?

其他

  1. 读书中遇到最难的技术是什么,怎么克服的?
  2. 有没有什么强项在面试中还没有展现的?
  3. 反问

总结

问的还是很全面,有些问题是跟实际开发相关的,如组件中问题6;Java中的问题2、4、5、7、10;微服务中的3。有些问题不是只问概念和原理实现,还会考察在选型、对比以及宏观体系中的作用,看你平时有没有思考和积累,如组件中问题5、7、8;Java中的6;网络中的3;微服务中的1、2。

现在大厂的面试不可能再靠背背八股文就蒙混过关了,大家还是需要多花点时间思考、多参与项目实践

#面经##校招#
全部评论

相关推荐

上周组里招人,我面了六个候选人,回来跟同事吃饭的时候聊起一个让我挺感慨的现象。前三个候选人,算法题写得都不错。第一道二分查找,五分钟之内给出解法,边界条件也处理得干净。第二道动态规划,状态转移方程写对了,空间复杂度也优化了一版。我翻他们的简历,力扣刷题量都在300以上。后三个呢,就有点参差不齐了。有的边界条件没处理好,有的直接说这道题没刷过能不能换个思路讲讲。其中有一个女生,我印象特别深——她拿到题之后没有马上写,而是先问我:“面试官,我能先跟你确认一下我对题目的理解吗?”然后她把自己的思路讲了一遍,虽然最后代码写得不是最优解,但整个沟通过程非常顺畅。这个女生的代码不是最优的,但当我问她“如果这里是线上环境,你会怎么设计’的时候,她给我讲了一套完整的方案——异常怎么处理、日志怎么打、怎么平滑发布。她对这是之前在实习的时候踩过的坑。”我在想LeetCode到底在筛选什么?我自己的经历可能有点代表性。我当年校招的时候,也是刷了三百多道题才敢去面试。那时候大家都刷,你不刷就过不了笔试关。后来工作了,前三年基本没再打开过力扣。真正干活的时候,没人让你写反转链表,也没人让你手撕红黑树。更多的是:这个接口为什么慢了、那个服务为什么OOM了、线上数据对不上了得排查一下。所以后来我当面试官,慢慢调整了自己的评判标准。算法题我还会出,但目的变了。我出算法题,不是想看你能不能背出最优解。而是想看你拿到一个陌生问题的时候,是怎么思考的。你会先理清题意吗?你会主动问边界条件吗?你想不出来的时候会怎么办?你写出来的代码,变量命名乱不乱、结构清不清楚?这些才是工作中真正用得到的能力。LeetCode是一个工具,不是目的。它帮你熟悉数据结构和常见算法思路,这没问题。但如果你刷了三百道题,却说不清楚自己的项目解决了什么问题、遇到了什么困难、你是怎么解决的,那这三百道题可能真的白刷了。所以还要不要刷LeetCode?要刷,但别只刷题。刷题的时候,多问自己几个为什么:为什么用这个数据结构?为什么这个解法比那个好?如果换个条件,解法还成立吗?把刷题当成锻炼思维的方式,而不是背答案的任务。毕竟面试官想看到的,从来不是一台背题机器,而是一个能解决问题的人。
牛客51274894...:意思是光刷力扣还不够卷
AI时代还有必要刷lee...
点赞 评论 收藏
分享
大牛客人1:找到了正确询问简历的方法
点赞 评论 收藏
分享
评论
3
26
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务