JAVA高级-面试题总结
最近面试了一些公司,针对面试中遇到的问题在此记录,提升自己,造福大家
一、java源码相关
ArrayList创建和add等各种api使用原理
HashMap 的创建,put原理,和HashTable的区别,resize的原理
HashMap和HashTable在1.7版本之后的区别,针对创建时和put时处理的方式不同(红黑树,CAS、ABA处理)
各种IO交互(AIO/ NIO/ BIO)
二、 JVM相关
(bookname:深入理解java虚拟机)
jvm分区
java文件加载到gc全流程
gc收集算法(标记计数算法,可达性算法)gc清理逻辑
G1/CMS收集器
堆栈溢出原因,处理
内存分配和回收策略
虚拟机贱虫和故障处理工具
jvm调优
web容器加载器架构实现(tomcat,jetty……)
线程安全,锁优化
三、多线程
线程池的创建有几种方式
submit和excute使用的区别,怎样避免死锁
线程的锁机制(lock和synchronized)
线程调度相关
四、数据库
mysql中innodb myisam 两种引擎区别,是否支持事物,索引实现(B+,Hash)复合索引/二叉树
group by和order by
数据库调优
大量数据下分库分表处理
跨多数据库查询
cap,CAP即,一致性(Consistency), 可用性(Availability), 分区容忍性(Partition tolerance);
redis有什么优点(单线程,分布式,持久化,事务,原子性)
redis的主从 、哨兵的实现原理
redis支持的数据操作类型,发布订阅,计数器
redis作为注册中心的优点,和zk的区别
五、Spring框架相关
ioc实现原理
aop具体实现,动态代理
工厂bean和bean工厂
反射使用
注解实现
六、分布式
dubbo具体调用原理(消费者&服务者)
多注册中心的使用场景
负载均衡策略
注册中心的注册原理(zk和redis注册中心有什么区别)
目前遇到的问题是这些,欢迎各位看官留言补充。BX
JAVA高级-面试题总结的更多相关文章
- Java高级面试题解析(一)
最近,在看一些java高级面试题,我发现我在认真研究一个面试题的时候,我自己的收获是很大的,我们在看看面试题的时候,不仅仅要看这个问题本身,还要看这个问题的衍生问题,一个问题有些时候可能是一个问题群( ...
- Java 高级面试题收集
Java概念题 拆箱装箱的原理 自动装箱时编译器调用valueOf将原始类型值转换成对象,同时自动拆箱时,编译器通过调用类似intValue(),doubleValue()这类的方法将对象转换成原始类 ...
- Java高级面试题积累(二)
简述23种设计 抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口.而无需指定它们详细的类. 适配器模式(Adapter):将一个类的接口转换成客户希望的另外 ...
- Java高级面试题整理(附答案)
这是我收集的10道高级Java面试问题列表.这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题.你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java ...
- Java高级面试题及答案
List和Set比较,各自的子类比较 对比一:Arraylist与LinkedList的比较 1.ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高 ...
- 2018“金三”之一线互联网公司Java高级面试题总结
JVM 1.请介绍一下JVM内存模型??用过什么垃圾回收器都说说呗 2.线上发送频繁full gc如何处理? CPU 使用率过高怎么办? 如何定位问题?如何解决说一下解决思路和处理方法 3.知道字节码 ...
- Java高级面试题
一.基础知识: 1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList:HashSet,TreeSet): 2)HashMap的底层实现,之后会问Co ...
- Java高级面试题解析(二):百度Java面试题前200页(精选)
基本概念 操作系统中 heap 和 stack 的区别 heap是堆,stack是栈,是两种不同的数据结构.堆是队列优先,先进先出:栈是先进后出. 在java多线程中,每个线程都有自己的栈:不同的线程 ...
- java高级面试题汇总(复习)从最基础的往上复习,每天定期更新。
每天搬一点砖,总有一天成为大牛! 看问题的时候请不要立马去翻答案,多想想. 看完答案可以问问为什么,尝试拓展!一起加油吧! 每个答案后面都有一个小彩蛋(一个以上的拓展问题),钻研让你先人一步. jav ...
随机推荐
- Confluence 6 升级中的一些常见问题
升级的时候遇到了问题了吗? 如果你想尝试重新进行升级的话,你需要首先重新恢复老的备份.不要尝试再次对 Confluence 进行升级或者在升级失败后重新启动老的 Confluence. 在升级过程中 ...
- 瀑布流布局(等宽不等高jQuery)
在百度上看见的好多都是引用Masonry插件 ,之后我自己尝试了一个没有使用插件的 <body> <div id="main"> <div cla ...
- hadoop知识点总结
(一).hadoop的内置数据类型都实现了writablecompareable,以便序列化和网络传输及文件存储 a自定义数据类型作为输入 1.实现writable接口 2.如果给数据需要比较大小时, ...
- 调用 CURL 使用正则抓取信息
Class MyCurl{ protected $_pdo; //构造方法 链接数据库 public function __construct(){ $this->_pdo ...
- 10、Typescript-类的基本用法
类就是构造函数的另一写法 以前构造函数的写法: 类的基本用法:
- 中文乱码 URLEncode之后,后台获取仍是乱码问题详解
java中获取到参数的时候,这时候默认使用的是iso8859-1进行解码的,那么就再使用URLEncode的encoe方法对其进行编码一次,编码格式使用iso8859-1,这样我们就获得最初使用utf ...
- Java 中的按值传递
Java 中只有按值传递 "Java 中只有按值传递",初看到这几个字有点不敢相信,无数次通过函数改变过对象,无数次跟同事说 Java 在传对象的时候是按引用传递.后来细细想想,之 ...
- C#或unity中实现正弦函数
C#或unity中实现正弦函数 本类用于第一,需要绘制一条正弦曲线的朋友:第二,需要根据正弦曲线控制物体运动的朋友:里面都有注释,代码如下: unity中使用的代码: public class Cur ...
- Hibernate-----阶段总结
Hibernate -----总结 一.在使用Hibernate的时候 首先我们要导入Hibernate类库,导入Hibernate压缩包中lib文件中required中的包 ...
- [Oracle][DATAGUARD]关于REDO_TRANSPORT_USER参数
大家可能已经知道,在Oracle的DATAGUARD(这里指的是PHYSICAL STANDBY)环境中,Primary端会把生成的REDO传到Standby端,然后由Standby端的MRP进程应用 ...