前言
最近气温逐渐回暖,几个朋友聚在一起聊天的时候统一发现,新的一波招聘旺季,马上要到来,毕竟年一过就金三银四了,这次的招聘依旧竞争压力山大,作为一个开发人员,你是否面上了自己理想的公司,薪资达到心中理想的高度?
面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责。
今天给大家分享下我整理的各大厂Java架构面试专题及答案(文末见面试答案),其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,不过也希望能对即将找工作的朋友起到一些帮助!
阿里巴巴P6技术四面(中级)
一面(问了数据结构、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,怎么保证数据不丢失?确保消息不会重复消费?
-
消息送达确认是怎么实现的?
四面(从项目讲起):
-
说了自己的项目
-
主要用到的架构,做了些什么?
-
比较复杂的业务逻辑讲一下?
-
遇到很难解决的问题和突破收获
-
以后的打算和未来的职业发展,谈谈自己的看法
阿里高级岗面试题
阿里21年面试题
1. Java 中的自增(i++)是线程安全的嘛?如何实现线程安全的自增?
2. 其他常用的线程安全的类;
concurrentHashMap;
3. ConcurrentHashMap是如何实现线程安全的?
4. Synchronized是否是公平锁;
5. ThreadLocal使用及原理?
6. Jdk8中的stream有用过嘛?stream的并行操作原理?stream并行的线程池从哪里来的?
7. Jdk1.8中的completableFuture有用过嘛?
8. Spring AOP 和原生的aspect AOP有什么区别;
9. Java 代理有几种实现方式?
10. Jvm为什么要增加元空间(matespace);
11. Jvm中如何查看问题,并进行JVM调优?
12. 对G1垃圾收集器有了解么,有什么特点?
13. 服务器硬件配置?
14. 在什么场景下升级配置,什么场景下去扩充集群?
15. 为什么使用RPC框架?什么时候会使用http请求?
16. 什么场景下会使用mq?mq的优势与劣势?什么时候不能用mq?(做不到同步)
17. 为什么不对mysql的所有表都添加索引?
18. Mysql索引为什么不用hash而用B+树?hash底层的时间复杂度是多少?
19. B+树索引可以进行范围查询嘛,比如大于小于;
20. 缓存数据如何同db同步进行更新???!!!(大厂都会问!)
21. 链表:1->2->3->4->5;请写一个程序,将链表反转过来:5->4->3->2->1;