阿里Java岗面试题分享(P7)
阿里P7Java研发岗面试真题 ,建议收藏,文末答案获取!
一面(问了数据结构、jvm、锁等):
- 自我介绍和项目
- HashMap底层如何实现?
- Hash一致算法?
- 说说HashMap和ConcurrentHashMap的区别?treemap和HashMap的区别?
- java的内存分区?
- java对象的回收方式,回收算法?
- CMS和G1了解吗?
- CMS解决什么问题,说一下回收的过程?
- CMS回收停顿了几次?
- java栈什么时候会内存溢出,java堆呢,说一种场景?
- 集合类如何解决这个问题(软引用和弱引用),讲下这个两个引用的区别?
- java里的锁了解哪些?
- synchronized锁升级的过程(偏向锁到轻量锁再到重量级锁),分别如何实现的,解决的是哪些问题?
- Tomcat的基本架构是什么?
- 什么是类加载器?
- 说说双亲委派模型机制?
- GC的机制是什么?GC算法和回收策略?
- 未来的职业规划?
二面(线程、数据库、缓存、协议等):
- 讲一下项目
- 线程池由哪些组件组成?
- 有哪些线程池,分别怎么使用?拒绝策略有哪些?
- 什么时候多线程会发生死锁,写一个例子?
- Redis的数据结构是什么?线程模型说一下?
- 讲讲Redis的数据淘汰机制?
- 说说Redis的数据一致性问题?
- Redis的分布式怎么做?
- RPC讲一下?
- 三次握手和四次挥手?如果没有三次握手有问题吗?
- Http请求过程,DNS解析的过程?
- InnoDB支持的四种事务隔离级别名称是什么?有什么却别?说说MySQL隔离级别?
- 事务的特性及慢查询?
- BTree机制说一下?
- 说说MySQL常用的优化方法?
三面(分布式,消息队列等):
- 自我介绍
- cap了解吗,分别指什么?
- 强一致性和弱一致性有什么方法来实现的?
- 负载均衡怎么实现?为什么这么做?
- 缓存雪崩说下?
- MySQL主从复制怎么实现的?具体原理是什么?有什么优缺点?
- 讲讲分布式事务?
- 消息队列,用到什么场景(削峰,限流,异步)?
- zk的性能瓶颈怎么克服?
- 讲了下kafka,怎么保证数据不丢失?确保消息不会重复消费?
- 消息送达确认是怎么实现的?
四面(从项目讲起):
- 说了自己的项目
- 主要用到的架构,做了些什么?
- 比较复杂的业务逻辑讲一下?
- 遇到很难解决的问题和突破收货
- 以后的打算和未来的职业发展,谈谈自己的看法
答案&面试专题分享:
更多笔记分享