共计 1944 个字符,预计需要花费 5 分钟才能阅读完成。
最近一个敌人跟我说,当初面试太难了,再也不是以前那种轻易背几个面试题而后就能拿到 offer 的时候了。最近敌人筹备换工作面试了阿里,而后和我交换了下他遇到的一些面试题,而后我整顿了一下,而后就分享给有须要的敌人们顺便也查漏补缺一下。
一面
1. 开始是自我介绍;
2.HashMap 的实现原理,什么是 hash 碰撞,怎么解决 hash 碰撞?
3.ConcurrentHashMap 的原理,与 HashTable 的区别?
4.HashSet 和 TreeSet 的区别以及底层实现原理
5.HashMap 中存 key-value,value 有反复然而都是 Comparable 类型可比拟;怎么依据 value 排序此汇合,介绍实现办法
6.ReentrantLock 和 synchronized 关键字有什么区别?
7.synchronized 润饰 static 办法,具体锁的是什么?
8. 工作当中 cpu 和内存异样排查办法;具体阐明剖析过程及定位解决形式
9. 接着是讲我的项目,我的项目里的问题比较简单;
而后就是各种根底,jvm 内存模型,nio,bio,aio,高并发,sychronized 和 volltail,HashMap,数据结构和扩容;
还有一些场景题目,大并发 / 海量数量的状况下,怎么设计零碎。从外面拿出两点来问,一个是零碎解耦,一个是分库分表;
最初一个是编码题,HashMap 里 key 是自定义对象的状况,排序
jvm 问的比拟多,线上发版如何做到分零售的,redis 命令,数据结构,数据库外部锁机制,线上问题解决,sql 优化等等;
二面
1.ClassLoader 的原理, 举出利用场景及工作实例,介绍类加载过程及工作中的利用
2.HashMap 的实现原理,什么是 hash 碰撞,怎么解决 hash 碰撞?
3.ConcurrentHashMap 的原理,与 HashTable 的区别?
4.HashSet 和 TreeSet 的区别以及底层实现原理
5.HashMap 中存 key-value,value 有反复然而都是 Comparable 类型可比拟;怎么依据 value 排序此汇合,介绍实现办法
6.ReentrantLock 和 synchronized 关键字有什么区别?
7.synchronized 润饰 static 办法,具体锁的是什么?
8. 工作当中 cpu 和内存异样排查办法;具体阐明剖析过程及定位解决形式
9。一个 jvm 的原理及优化;
10.sql 的优化;
11. 当初应用的框架原理,比方应用了 dubbo,会问 dubbo 的原理,还有 h5 怎么调用 dubbo 等;
12. 接着是讲我的项目,我的项目里的问题比较简单;
13. 而后就是各种根底,jvm 内存模型,nio,bio,aio,高并发 sychronized 和 volltail,HashMap,数据结构和扩容;
14. 还有一些场景题目,大并发 / 海量数量的状况下,怎么设计零碎。从外面拿出两点来问,一个是零碎解耦,一个是分库分表;
15. 最初一个是编码题,HashMap 里 key 是自定义对象的状况,排序
三面
1、executor service 实现的办法,能够设置的参数;
2、出了个算法提,找出链表中倒数第 n 个节点;
3、还问了 thread 和 runable 的区别;
4、聚簇索引是什么;
5、redis 问了一个理论问题的解决办法,如果 redis 一个 value 特地大,有什么解决方案;
6、redis 内存淘汰机制;
7、mysql 的默认隔离级别;
- 堆排序
- paxos 协定
- 跨机房部署,遇到的问题及解决方案,全年的 9999 率
- MMM 的 DB 架构,主从未齐全同步,master 挂了,未同步的内容会造成什么影响,怎么复原
- ng 和 tomcat 什么区别?是否将两者角色调换。即:tomcat 做反向代理,ng 做服务容器。阐明起因。
- DNS 协定
- volatile 实现原理
- NAT:公网 ip 和局域网 ip 转换
16. 类加载委托机制,锁的利用,我的项目架构
四面:
0、jit,nio,排序算法,hashmap,更多的是我的项目细节~
1、谈谈我的项目里次要负责了什么,负责的我的项目是怎么的架构,本人负责了什么等等;
2、JVM 类加载机制;
3、JVM 内存模型,栈空间都放什么,什么状况下栈内存会溢出等;
4、JVM 调优;
5、JVM 垃圾收集机制;
6、比较关心金融方面的常识是否理解,是否有过金融我的项目开发的教训;
7、jvm 栅栏问题,threadlocal 的应用;
8、JVM
9、多线程
10、List 求交加
11、解决我的项目运行时,CPU 占用过高的问题
12、线程同步几种机制
13、linux 检索 log,匹配某一申请最多的 top10
关注【java 金融】后盾回复「666」支付一份面试材料《Java 面试 BATJ 通关手册》,笼罩了 Java 核心技术、JVM、Java 并发、SSM、微服务、数据库、数据结构简历等等。