文章预览
Java
Java 基础这部分一些简单的问题就直接没有放上来。
需要资料的朋友麻烦一键三连之后点此免费获取!
基础:
-
Java 反射?反射有什么缺点?你是怎么理解反射的(为什么框架需要反射)?
-
谈谈对 Java 注解的理解,解决了什么问题?
-
内部类了解吗?匿名内部类了解吗?
-
BIO和NIO区别,4核cpu,100个http连接,用BIO和NIO分别需要多少个线程
-
HashMap的负载因子。
jvm:
-
jvm 内存结构
-
jvm 调优参数
-
什么是类加载?
-
何时类加载?
-
java的类加载流程?
-
知道哪些类加载器。类加载器之间的关系?
-
类加载器之间的关系?
-
类加载器的双亲委派
(结合tomcat说一下双亲委派)
-
为什么需要双亲委派
-
Java内存模型
-
栈中存放什么数据,堆中呢?
-
大对象放在哪个内存区域
-
堆区如何分类
-
垃圾回收有哪些算法
-
GC的全流程
-
GC中老年代用什么回收方法?
需要资料的朋友麻烦一键三连之后点此免费获取!
多线程:
-
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面试文档
每个章节下面都有一个详细的知识点
………………………………