就在我还在为618刷淘宝清购物车的时候,群里忽然弹出一条消息引起了我的注意:之前去了阿里的学长,在群里说要内推,我就迫不及待的问了下:具体的岗位需求是什么样的?
然后就有了接下来的聊天内容
当然看了看职位要求,再看看自己,觉得自己还是太菜了!对不起,我不配,还是安心搬砖吧。
不过最后,我还是厚颜无耻的让学长帮忙总结了下阿里的面试题以及复习资料,这里分享给大家!
常考的JVM面试题
1、JVM内存模型
2、JVM垃圾回收算法
3、JVM运行内存的分类
4、Java内存堆和栈区别
5、JVM垃圾收集器有哪些?以及优劣势比较?
6、GC回收机制
7、GC 标记对象的死活
8、MinorGC&FullGC
9、内存分配与回收策略
10、Java类加载机制
常考的多线程面试题
1、进程和线程的区别
2、线程安全的定义、线程的状态
3、多线程的实现方式(Runnable和Callable的区别)、start/run方法的区别
4、wait()/notify()/sleep()/yield()/join()几个方法的意义
5、notifyall()这块涉及到资源池和锁池,可以加深理解下
6、线程池的创建方式,7大参数、阻塞队列、拒绝策略、大小如何设置
7、锁机制:乐观锁CAS、悲观锁synchronized和ReentrantLock、实现原理以及区别,非常重要,基本每次必问,可以多掌握一些,看到源码层面,每次这块我都能给面试官说五到十分钟不停。
8、锁优化:偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁消除、锁粗化等
9、Java内存模型和volatile的原理,以及volatile和synchronized区别
10、ThreadLocal线程本地存储原理,源码层面
11、内存泄漏问题
12、AQS同步队列器原理,CLH队列
13、AQS组件:ReentrantReadWriteLock、CountDownLatch、CyclicBarrier、Semaphore原理掌握
14、JUC原子类,原理:CAS+volatile + native方法来保证操作的原子性
15、集合框架的多线程实现类:CopyOnWriteArrayList、CopyOnWriteArraySet、ConcurrentHashMap、ConcurrentSkipListMap、ConcurrentSkipListSet、ArrayBlockingQueue、LinkedBlockingQueue、ConcurrentLinkedQueue、ConcurrentLinkedDeque
如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧!**
[JAVA进阶群]群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的JAVA交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
常考的数据库MySQL
1、手撕SQL语句
2、数据库事务、隔离级别、Innodb和Myisam的区别
3、锁机制(悲观锁、乐观锁、行锁表锁、独占锁共享锁等等)
4、MVCC、NK-Lock
5、索引的数据结构(B+树)、索引优缺点
6、最左前缀原则、索引优化
7、聚簇索引、覆盖索引
8、数据库三大范式
9、主从复制、主从一致、分库分表等等问题
常考的Redis缓存和MQ消息队列
1、Redis为什么要作为缓存? 高性能和高并发
2、redis和memcached的区别
3、redis常用数据结构、以及数据结构底层,常考到跳表的结构
4、定期删除、惰性删除
5、内存淘汰机制
6、持久化机制
7、缓存雪崩、缓存穿透、缓存击穿
8、并发竞争key问题
9、缓存和数据库双写时的数据一致性
10、为什么单线程还那么快?(非阻塞多路IO复用)
11、select、poll、epoll区别
12、五种IO模型
13、redis集群、哨兵机制
14、分布式锁
常问的是spring面试题
1.什么是Spring框架?Spring框架有哪些主要模块?
2.使用Spring框架有什么好处?
3.什么是控制反转(IOC)?什么是依赖注入?
4.请解释下Spring中的IOC?
5.BeanFactory和ApplicationContext有什么区别?
6.将Spring配置到你的应用中共有几种方法?
7.什么基于XML的配置?
8.什么基Java的配置?
9.怎样用注解的方式配置Spring?
10.描述Spring Bean的生命周期?
11.描述Spring中各种Bean的范围?
12.什么是Spring的嵌入beans?
13.Spring框架中的单例bean是否是线程安全的?
14.请举例说明如何用Spring注入一个Java的集合类?
15.请举例说明如何在Spring的Bean中注入一个java.util.Properties?
16.请解释Spring的Bean的自动生成原理?
17.请辨析自动生成Bean之间模块的区别?
17.如何开启基于基于注解的自动写入?
常考的 MQ
消息中间件
什么是消息中间件?
消息发布时的权衡
消息的消费
消息的拒绝
常考的Rabbit MQ 、Rocket MQ、Kafka
1.描述下RabbitMQ概念里的channel, exchange 和queue这些概念及作用?
2.RabbitMQ」t的一个queue中存放的message是否有数量限制?
3.kafka中的zookeeper 起到什么作用,可以不用zookeeper么?
4.kafka follower如何与leader同步数据
5.有几百万消息持续积压几小时怎么解决?
6.为什么Kafka不支持读写分离?
7.RocketMQ与kafka的区别是啥? rocketMQ 与kafka的主要使用场景? rocketMQ
8.的部署架构是啥样的?对数据要求较高的场景,rocketMQ 主从复制和刷盘策略如何配置?
最后
当然整理的面试题还有很多,文章中就不多做分析,我特意建了群,把文档资料上传到了群文件和网盘
最后
这次的面试分享就到这里了,不敢很确定地说对大家帮助有多大,但是多多少少都是有些帮助的。
我觉得氛围真的很影响一个人,之前在小公司的时候,不管是工作氛围,还是身边的人,给我传达的氛围就是消极的,让我没有动力去提升自己,哪怕自己有想法,也会很拖延。如果你正处于这种氛围,一定要跳脱出来,然后持续地去努力,你会发现其实进入大厂真没那么难。
原创不易,大家能坚持学习到最后也很棒,所以一键三连再走呀,寻找博主不迷路
获取方式: 只需你**点赞+关注**后,完整资料点击领取 哦-!