大家好,我是鱼皮。
今天分享的是某同学阿里实习一面的面经。阿里毕竟是 Java 大厂,这次的面试重点是以 Java 为主,MySQL+网络为辅。
感觉问的问题还挺多的,面试时长有 1小时+。
问题记录
MySQL
问对哪个项目熟悉,为什么想要用java去写关系型数据库?这个数据库体现了Spring的事务传播机制吗?可重复读,已提交读,这两个隔离级别表现的现象是什么,区别是什么样的?数据管理里,数据文件大体分成哪几种数据文件?日志文件是分成了哪几种?说下MVCC机制的原理?索引的类型有哈希索引,B+树索引,而hash索引的时间复杂度是o1,那为什么我们一般情况下不使用哈希索引,而使用b+树索引呢?对一个慢sql怎么去排查?索引字段是不是建的越多越好?Java
java这一块对框架都是熟悉的吧?MyBatis运用了哪些常见的设计模式?MyBatis中创建了一个Mapper接口,在写一个xml文件,java的接口是要实现的,为什么这没有实现呢?与传统的JDBC相比,MyBatis的优点?还记得JDBC连接数据库的步骤吗?怎么理解SpringIoc?如果让你设计一个SpringIoc,你觉得会从哪些方面考虑这个设计?Spring给我们提供了很多扩展点,这些有了解吗?servlet有写过简单的代码吗?大致了解SpringMVC的处理流程吗?Handlermapping 和 handleradapter有了解吗?SpringAOP主要想解决什么问题SpringAOP的原理了解吗动态代理和静态代理的区别代理模式和适配器模式有什么区别?java线程的生命周期有了解吗?使用多线程要注意哪些问题?保证数据的一致性有哪些方案呢?线程池有了解吗?线程池大概的原理?ArrayList和LinkedList有什么区别对面向对象的理解?网络
http协议的报文的格式有了解吗?http常用的状态码?
其他读书中遇到最难的技术是什么,怎么克服的?有没有什么强项在面试中还没有展现的?反问面试总结
感觉
面试官有引导,大多问的是八股,会的就回答的比较流畅,不熟悉的就磕磕巴巴,面试官给的反馈基础还行,但是深度不够,对刚刚设计模式的对比回答不满意,和mybatis的原理回答也不太满意
不足之处
对框架还是不够熟练,回答不够全面,经常被面试官问还有呢,但就回答不上来了,网络这方面看了就忘。欢迎学编程的朋友们加入鱼皮的,鱼皮会 1 对 1 解决你的问题,直播带你做出项目、为你定制学习计划和求职指导,还能获取海量编程学习资源,和上万名学编程的同学共享知识、交流进步。求职季一起加油!
往期推荐