⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 cnblogs.com/chopper-poet/p/10805442.html 「踩刀诗人」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

想去阿里的同学可以过来看看了,我经历过一次阿里的面试,怪自己水平有限,止步于第三轮面试。

从深夜的一次电话面试开始说起

具体时间我记不太清了,只记得是在一个工作日跟一位HR约了晚上电话面试。本打算早点忙完回家做准备的,结果正好赶上那天加班,所以下班稍微晚了一点,心里暗暗窃喜,幸好今天没打电话过来,要不然还没时间接电话。悲剧的是在离家还有几分钟路程的时候电话打过来了,没办法就硬着头皮接了。说来也傻,其实当时跟人说明情况,让人家等个几分钟应该也是可以理解的吧。就这样,我大冬天的找了一个风小的墙角猫在那里开始我的第一轮电话面试,给我冻的呀,不过幸好结果是好的,也不枉我冻一场。HR问的都是java基础相关的问题,不是很难,我应该答了80%左右,下面是一面的题目,我根据记忆贴一下,大家查漏补缺吧。

  • String,StringBuilder,StringBuffer的区别
  • ArrayList,LinkedList的区别和使用场景
  • HashMap原理,怎么解决hash碰撞的,HashMap在多线程情况下会有什么问题
  • ConcurrentHashmap使用过吗
  • jdk1.8对并发方面的优化你知道吗
  • CAS知道是什么吗
  • MySql存储引擎有哪些,区别
  • 怎么定位慢查询
  • explain输出结果有哪些
  • 线程池底层原理,调度丢弃策略有哪些 ,线程池有哪些参数
  • jvm垃圾收集算法说说,GC roots有哪些

数据结构是硬伤

二面依然是电话面试,约的一点,不过一直等到了一点四十才打电话过来,先是一个简短的自我介绍,然后就抛了几个数据结构相关的题目给我做,这块一直是自己的短板,被虐的体无完肤。这里多说一句,面试的这哥们态度相当不错,不是一棒子把你打死,你答不出来也会慢慢的引导你。看我前几个题答的不好,最后又回到了java相关的问题上。

  • 给定一个集合,求集合的子集
  • 求两个树的共同子树
  • 如何判断一个树是另一个树的子树
  • 自旋锁是什么,用过吗
  • 如果希望既有顺序,又可以快速访问,你会选择什么数据结构
  • TreeMap的原理说一下

细节决定成败

三面是二面后的第二天,接到电话以后我还挺意外的,二面答的不好,居然还有第三次机会。三面主要会问一些项目细节相关的东西,也会和你聊业务,会穿插的和你聊一些技术细节,对自己使用过的框架、中间件等一定不要只是停留在使用层面,还是要了解一些原理的。

  • 请你简单说说你们公司现在的业务,会问你一些你的看法,是否看好等等
  • 是否用过消息中间件,你们的用途是什么,你知道消费者组的概念吗
  • 说说你用过的RPC框架,假如让你实现RPC框架的序列化部分你会怎么做
  • 使用java实现tps统计,聊聊你的思路
  • 说说LinkedHashMap

还有一些问题记不起来了,总体来说答的不是特别好,对于项目细节没有一个全面的认识,对业务理解也不深入。

总结

面试虽然失败了,但收获还是不小,要想让自己提高一个层次,不能只局限于自己手头的一亩三分地,要对做过的业务有深入的理解,技术方面,不要老是追求一些高大上的技术,像数据结构、网络这种基础知识更是不能停止学习。

文章目录
  1. 1. 从深夜的一次电话面试开始说起
  2. 2. 数据结构是硬伤
  3. 3. 细节决定成败
  4. 4. 总结