硬核干货!备战阿里,字节,腾讯 2020最新Java最常见面试题汇总,

​

 

Java

Java 基础这部分一些简单的问题就直接没有放上来。

基础:

Java 反射?反射有什么缺点?你是怎么理解反射的(为什么框架需要反射)?

谈谈对 Java 注解的理解,解决了什么问题?

内部类了解吗?匿名内部类了解吗?

BIO和NIO区别,4核cpu,100个http连接,用BIO和NIO分别需要多少个线程

HashMap的负载因子。

​

 

jvm:

jvm 内存结构

jvm 调优参数

什么是类加载?

何时类加载?

java的类加载流程?

知道哪些类加载器。类加载器之间的关系?

类加载器之间的关系?

类加载器的双亲委派(结合tomcat说一下双亲委派)

为什么需要双亲委派

Java内存模型

栈中存放什么数据,堆中呢?

大对象放在哪个内存区域

堆区如何分类

垃圾回收有哪些算法

GC的全流程

GC中老年代用什么回收方法?

​

JVM面试题解析

​

 

多线程:

Java线程池有哪些参数?阻塞队列有几种?拒绝策略有几种?

死锁

​

多线程面试题解析

设计模式:

阅读Spring源码的时候什么设计模式最让你影响深刻?如何使用?

单例模式,单例模式的使用场景

观察者模式,观察者模式的使用场景

​

设计模式解析

​

 

spring

spring boot和spring的区别

ioc 和 aop(ioc流程、aop实现原理)、spring aop异常处理、当一段代码被try catch后再发生异常时,aop的异常通知是否执行,为什么?

spring bean的生命周期说一下

spring data jpa底层是什么?

hibernate和mybatis区别

spring boot 过滤器

spring boot 拦截器

Spring动态代理默认用哪一种

写出spring jdk动态代理的实现。

画出spring boot处理一个http请求的全过程

 

​

spring 面试题解析

推荐

手写实现Spring核心功能: github.com/jinzzzzz/sp…

权限认证

认证 (Authentication) 和授权 (Authorization)的区别是什么?

什么是Cookie ? Cookie的作用是什么?如何在服务端使用 Cookie ?

Cookie 和 Session 有什么区别?如何使用Session进行身份验证?

如果没有Cookie的话Session还能用吗?

为什么Cookie 无法防止CSRF攻击,而token可以?

什么是 Token?什么是 JWT?如何基于Token进行身份验证?

什么是OAuth 2.0?

什么是SSO(单点登录)

 

​

 

微服务/分布式

为什么要网关?

限流的算法有哪些?

为什么要分布式 id ?分布式 id 生成策略有哪些?

了解RPC吗?有哪些常见的 RPC 框架?

如果让你自己设计 RPC 框架你会如何设计?

Dubbo 了解吗?Spring Cloud 了解吗?

​

微服务/分布式面试题解析

​

 

数据库

非关系型数据库和关系型数据库的区别?

事务的四大特性

MySQL 事务隔离级别?默认是什么级别?

乐观锁与悲观锁的区别

数据库两种存储引擎的区别

最左前缀匹配原则及它的原因

大表优化的思路

where和having的区别

分库分表

explain 命令

​

数据库面试题解析

索引

如何加快数据库查询速度

聚集索引和非聚集索引的区别

什么时候不该使用索引?

索引底层的数据结构?

B+树做索引比红黑树好在哪里?

​

数据库索引面试题解析

Redis:

项目中 redis 是怎么用的?解决了什么问题?

说一下有缓存情况下查询的流程以及有缓存情况下修改的流程。

redis有哪些数据结构

redis内存满了怎么办

redis内存淘汰算法除了lru还有哪些

分布式缓存可能出现的问题

缓存穿透问题

网络

计算机网络的一些常见状态码

ping 所使用的协议

TCP的三次握手与四次挥手的内容

TCP为什么连接是三次握手而断开是四次握手

TCP与UDP的区别及使用场景

一次完整的HTTP请求所经的步骤

http 如何保存登录信息(没太搞懂意思)

Cookie 和 Session的关系

​

网络面试题解析

算法和数据结构

算法

LRU 算法了解吗?你能实现一个吗?

写排序算法(快排、堆排)

数据结构

布隆过滤器了解吗?

 

​

算法与数据结构面试解析

设计题

假如有10亿个数,只有一个重复,内存只能放下5亿个数,怎么找到这个重复的数字?

如何设计一个秒杀系统(服务端、数据库、分布式)?分布式系统的设计?

有一个服务器专门接收大量请求,怎么设计?

如果让你自己设计 RPC 框架你会如何设计?

怎么快速出现一个stackoverflow错误?

其他问题

自我介绍。

说说你的项目中的亮点有哪些。

画一下你的项目的架构图。

Restful 了解吗?简单说一下自己对它的认识,如果我要返回一个 boolean 类型的数据怎么办?

经验总结

多面试,不要害怕失败,多总结经验。

尽早准备,不论是找工作前、面试前还是面试后。

熟悉自己的简历。

电话和视频面试很平常,面试前提前准备一下。

坚持!offer 虽然可能会迟到,但是只要不放弃,就一定不会缺席。

 

这些面试题的答案,我已经整理成为一份Java面试文档中了

Java面试文档

​

Java面试文档

每个章节下面都有一个详细的知识点,有需要只需要你给我一点支持即可免费获取道该文档

 

​

posted @ 2020-10-14 09:46  Java架构师简乐  阅读(266)  评论(0)    收藏  举报