一面(问了数据结构、jvm、锁等):

  1. 自我介绍和项目
  2. HashMap底层如何实现?
  3. Hash一致算法?
  4. 说说HashMap和ConcurrentHashMap的区别?treemap和HashMap的区别?
  5. java的内存分区?
  6. java对象的回收方式,回收算法?
  7. CMS和G1了解吗?
  8. CMS解决什么问题,说一下回收的过程?
  9. CMS回收停顿了几次?
  10. java栈什么时候会内存溢出,java堆呢,说一种场景?
  11. 集合类如何解决这个问题(软引用和弱引用),讲下这个两个引用的区别?
  12. java里的锁了解哪些?
  13. synchronized锁升级的过程(偏向锁到轻量锁再到重量级锁),分别如何实现的,解决的是哪些问题?
  14. Tomcat的基本架构是什么?
  15. 什么是类加载器?
  16. 说说双亲委派模型机制?
  17. GC的机制是什么?GC算法和回收策略?
  18. 未来的职业规划?

 

二面(线程、数据库、缓存、协议等):

  1. 讲一下项目
  2. 线程池由哪些组件组成?
  3. 有哪些线程池,分别怎么使用?拒绝策略有哪些?
  4. 什么时候多线程会发生死锁,写一个例子?
  5. Redis的数据结构是什么?线程模型说一下?
  6. 讲讲Redis的数据淘汰机制?
  7. 说说Redis的数据一致性问题?
  8. Redis的分布式怎么做?
  9. RPC讲一下?
  10. 三次握手和四次挥手?如果没有三次握手有问题吗?
  11. Http请求过程,DNS解析的过程?
  12. InnoDB支持的四种事务隔离级别名称是什么?有什么区别?说说MySQL隔离级别?
  13. 事务的特性及慢查询?
  14. BTree机制说一下?
  15. 说说MySQL常用的优化方法?

 

三面(分布式,消息队列等):

  1. 自我介绍
  2. cap了解吗,分别指什么?
  3. 强一致性和弱一致性有什么方法来实现的?
  4. 负载均衡怎么实现?为什么这么做?
  5. 缓存雪崩说下?
  6. MySQL主从复制怎么实现的?具体原理是什么?有什么优缺点?
  7. 讲讲分布式事务?
  8. 消息队列,用到什么场景(削峰,限流,异步)?
  9. zk的性能瓶颈怎么克服?
  10. 讲了下kafka,怎么保证数据不丢失?确保消息不会重复消费?
  11. 消息送达确认是怎么实现的?

 

四面(从项目讲起):

  1. 说了自己的项目
  2. 主要用到的架构,做了些什么?
  3. 比较复杂的业务逻辑讲一下?
  4. 遇到很难解决的问题和突破收获
  5. 以后的打算和未来的职业发展,谈谈自己的看法

面试经验总结

一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你 的简历来问的;

能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试 之前好好回顾一下自己所做的项目;

和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是 如何使用的;

建议提前了解一下自己想要面试的公司的价值观,判断一下自己究竟是否适合这个公司。

另外,我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、 丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

以上就是阿里四面题目,以下是总结出来的阿里经典面试题目及答案,(内容涵盖: Java,MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈)

有想获取的朋友:一键三连(点赞+收藏+关注) 后,添加微信:mxm9843 即可免费获取到。