年前准备好,金三银四跳槽涨薪季,拿大厂offer

73 阅读5分钟

前言

跳槽时时刻刻都在发生,没必要局限在金三银四,金九银十。但金银月的确让我学到很多。

今天给大家分享下我刚过不久的金三银四跳槽中整理的Java面试大纲,其中大部分都是面试过程中的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式。

项目介绍

大部分情况,这是一场面试的开门题,面试官问这个问题,主要是考察你的概述能力和全局视野。有的人经常抱怨自己每天在堆业务,但没有成长。事实上,很多情况下确实在堆业务,但并不是没有成长的。并非做中间件或者技术架构才是成长,例如我们的需求分析能力,沟通协作能力,产品思维能力,抽象建模能力等都是一个非常重要的硬实力。

好的,现在进入正文。以下面试题为个人在面试过程中所遇到的,仅供参考!如有错误,望指出。

蚂蚁金服Java岗:

HashMap&ConcurrentHashMap

再谈谈一致hash算法?

乐观锁&悲观锁?

可重入锁&Synchronize?

事务四大特性?

事务的二段提交机制?

聚簇索引&非聚簇索引?

用自己的实践经历说一下索引的使用场景(说一个就要举一个例子)?

当前读&快照读?

类加载过程?

双亲委派机制及使用原因?

说说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拿到手软,喜欢对你有帮助的话记得加个关注不迷路哦

还有关注我私信回复【面试】可以领取到一些个人收集的面试及电子书资料,或许对你有帮助!

《Java学习、面试;文档、视频资源免费获取》