前言
先做个自我介绍,本人之前一直在外包公司做增删改查,做了两年,实在太累了!就想趁着金九银十这个好机会看能不能实现自己的阿里梦,没想到被虐了个干干净净!
不过没关系,通过这次面试,我也认识到自己确实有很多不足的地方,通过这篇文章,和大家分享一下,最后也把我整理的面试资料分享给大家,希望有人替我圆了阿里梦
阿里一面
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.反问
阿里二面
- 自我介绍
- topk问题有哪些思路可以解决
- 数组和链表区别
- 数组和链表是在堆中还是栈中
- JMM模型
- HashMap底层数据结构,jdk1.7和jdk1.8区别
- ConcurrentHashMap和HashTable原理
- volatile原理,底层通过什么实现的(读写屏障),读写屏障底层原理
- 垃圾回收算法
- 老年代用什么收集算法,GC引用链,G1收集器原理
- CPU三级缓存介绍
- 循环依赖的对象怎么回收
- 反转链表实现
- 偏向锁轻量级锁区别
- 多核CPU如何保证同步
- 反问
总结
虽然没有面到最后,但是阿里的面试题总的来说就是围绕着:多线程、spring、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM
这些知识点展开的。所以文章最后为大家分享下我花了2个月的时间整理出的大厂面试资料:
面试资料领取方式:点击这里进群【暗号:CSDN】
面试资料领取方式:点击这里进群【暗号:CSDN】
最后希望大家都能够圆了大厂梦,也请支持下博主给个点赞+收藏,感谢支持!
来源:oschina
链接:https://my.oschina.net/u/4407242/blog/4707922