前言

首先做个自我介绍,本人之前一直在外包公司做增删改查,做了两年,实在太累了!就想趁着金九银十这个好机会看能不能实现自己的阿里梦,没想到被虐了个干干净净!

不过没关系,通过这次面试,我也认识到自己确实有很多不足的地方,通过这篇文章,和大家分享一下,最后也把我整理的面试资料分享给大家,希望有人替我圆了阿里梦
 


阿里一面

 

1.自我介绍

2.说一下BIO 和NIO

3.你说到多路复用,多路复用什么意思,为什么可以做到多路复用

4.这个select函数你说一下,底层怎么保证效率的,如果请求很多怎么办

5.我看你用到了Zookeeper ,说一下他可以干什么

6.只有一个Zookeeper 行不行?怎么保证他的可用性

7.服务器和客户端连接,多个连接会不会出问题?

8.Zookeeper 如果每次消费都连接,会不会效率太低? 怎么解决?

9.说一下它的底层算法吧,说你知道的

10.我看你实现了这几种序列化机制,都说一下吧

11.为什么hessian,和kyro速度更快呢?

12.了解spring吗? 说一下ioc和aop

13.aop底层怎么实现的

14.说一下spring ioc创建和销毁? (我有点懵,问是不是要回答bean的生命周期,面试官说 不是,然后我就随便说了 )

15.Java的类加载过程

16.了解mysql吗,说一下innodb底层

17.有没有搭过服务器?

18.了解static关键字吗?说一下

19.知道引用吗? 知道threadlocal吗? 说一下(想继续说下去,没给机会)

20.知道JVM吗,说一下结构,threallocal放在哪里?

21.什么时候会gc?

22.反问

 

 

阿里二面

 

  1. 自我介绍
  2. topk问题有哪些思路可以解决
  3. 数组和链表区别
  4. 数组和链表是在堆中还是栈中
  5. JMM模型
  6. HashMap底层数据结构,jdk1.7和jdk1.8区别
  7. ConcurrentHashMap和HashTable原理
  8. volatile原理,底层通过什么实现的(读写屏障),读写屏障底层原理
  9. 垃圾回收算法
  10. 老年代用什么收集算法,GC引用链,G1收集器原理
  11. CPU三级缓存介绍
  12. 循环依赖的对象怎么回收
  13. 反转链表实现
  14. 偏向锁轻量级锁区别
  15. 多核CPU如何保证同步
  16. 反问

总结

虽然没有面到最后,但是阿里的面试题总的来说就是围绕着:多线程、spring、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 

这些知识点展开的。添加微信:msbjy2019即可获取文中对应资料哦!

最后希望大家都能够圆了大厂梦,也请支持下博主给个<stron>,感谢支持!</stron>