跳槽时时刻刻都在发生,不必局限在金三银四,金九银十。但金银月的确让我学到不少。java
今天给你们分享下我刚过不久的金三银四跳槽中整理的Java面试大纲,其中大部分都是面试过程当中的面试题,能够对照这查漏补缺,固然了,这里所列的确定不可能覆盖所有方式。面试
大部分状况,这是一场面试的开门题,面试官问这个问题,主要是考察你的概述能力和全局视野。有的人常常抱怨本身天天在堆业务,但没有成长。事实上,不少状况下确实在堆业务,但并非没有成长的。并不是作中间件或者技术架构才是成长,例如咱们的需求分析能力,沟通协做能力,产品思惟能力,抽象建模能力等都是一个很是重要的硬实力。算法
好的,如今进入正文。如下面试题为我的在面试过程当中所遇到的,仅供参考!若有错误,望指出。sql
HashMap&ConcurrentHashMapdocker
再谈谈一致hash算法?数据库
乐观锁&悲观锁?设计模式
可重入锁&Synchronize?tomcat
事务四大特性?安全
事务的二段提交机制?数据结构
聚簇索引&非聚簇索引?
用本身的实践经历说一下索引的使用场景(说一个就要举一个例子)?
当前读&快照读?
类加载过程?
双亲委派机制及使用缘由?
说说GC算法?
Http&Https的区别
Https的加密方式
线程池的核心参数和基本原理
线程池的调优策略
说说本身参与的项目,技术难度在哪里?
Collections.sort底层排序方式?
排序稳定性?
具体场景的排序策略?
Http请求过程,DNS解析过程
三次握手四次挥手
简述线程池和并发工具的使用?
数据库索引原理
频繁老年代回收怎么分析解决
Spring IOC、AOP?
讲讲SpringBoot/SpringCloud的一些应用?
阻塞队列不用java提供的本身怎么实现,condition和wait不能用
拥塞窗口讲一讲,为何要用慢启动算法
负载均衡的原理?
Redis的数据一致性问题(分布式多节点环境 & 单机环境)?
讲讲docker容器?
如何实现何高并发下的削峰,限流?
你有什么职业规划(每一个面试官都要问这个问题,三面也是)
java经常使用的数据结构有哪些?哪些是线程安全的?是怎么保证线程安全的?
Redis中的Lua有没有使用过? 能够用来作什么? 为何能够这么用?
线程池内部工做原理能够说一下么?
死锁是什么意思,造成条件是什么?出现死锁是能够经过什么方式去排查。
在交易过程当中如何放在用户在支付时的重复支付(交叉支付),请写出你了解的方案或使用的过的方案。
数据库索引有哪几种,他们之间的区别。
程序开发时经过开发工具DeBug调试时,控制台显示的内容都包含什么?哪些内容能够帮助你发现问题和解决问题。
RPC通讯过程当中,假设A系统提供了一个方法入参是一个JavaBean,出参也是一个JavaBean。另外两个系统B系统、C系统调用接口,调用方B想让提供方A增长一个返回参数,假设服务提供方A增长了返回参数,请问C系统调用方须要作什么处理?
了解哪些设计模式,用伪代码实现一个你熟悉的设计模式。
讲一下怎么使用分布式锁。
说说HashMap的原理, 以及HashMap如何扩充bucket的大小。
Redis的Pipeline是用来干什么的?
Mysql索引的分类(Btree, hash),各自使用什么状况 。
说说Myisam, Innodb区别。
知道哪些负载均衡算法。
说一下Btree的查找原理。
简述三次握手,若是c端发起握手请求,s端没法马上创建链接应该回应什么?
http和https的区别,https原理,http2.0与1.0的区别。
Java的垃圾回收机制,Java文件加载机制,tomcat类加载机制,锁机制,jvm原理及线上调优,jvm内存模型。
多线程,有哪些能够保持进程同步的方法,建立线程的几种方法,对i++多线程访问你会怎么作。
Java的设计模式,单例有什么模式,懒汉为何加volotile,volotile的内存屏障,如何避免死锁。
考虑单例模式的编写,要线程安全且内存消耗小(剑指offer原题)。
String、StringBuilder、StringBuffer区别;String类能被继承吗?为何?
在白纸上手写二分法排序算法(lintcode上原题);二分查找的思想。
查找单链表中倒数第k个节点的算法,手写(lintcode上原题);最多见的排序算法你见过哪些,快排的基本思想及时间复杂度。
常见的数据结构有哪些。
hashmap、hashcode同样,不equals怎么处理 ;hashcode实现原理,currentHashMap原理,实现细节,怎么实现同步的;类为何要有hascode方法,是否是主要在集合类中都要实现hashcode方法;equals方法怎么实现;两个不一样的对象可能有相同的hashcode值吗;经常使用集合有哪些。
tcp三次握手,四次挥手协议。
架构设计一个开发性问题,设计一个Nginx管理的中间件,怎么设计。
全部的类都继承与object,你用过object类的直接子类有哪些,object类经常使用的方法有哪些。
Java会出现内存泄漏吗,若是回,在哪一种状况下?
抽象类和接口的区别。
平时怎么扩展本身的专业知识水平。
最后祝你们大厂offer拿到手软,喜欢对你有帮助的话记得加个关注不迷路哦
还有关注我私信回复【面试】能够领取到一些我的收集的面试及电子书资料,或许对你有帮助!