=========================================================================
Java 基础部分
基本这些公司都会问到相关基础,所以,一般来说基础的准备是必要并且通用的,所以这部分真的很重要。
-
什么是Java序列化,如何实现Java序列化?
-
Java中的异常有哪几类?分别怎么使用?
-
常用的集合类有哪些?
-
Java有自己的内存回收机制,但为什么还存在内存泄露问题呢?
-
NIO是什么?适用于何种场景?
-
说说HashMap的实现原理,如何保证HashMap的线程安全?
计算机网络
计算机网络部分的题目还是挺容易的,考察的点不会那么深入。
通常来说也就是这些问题:
-
TCP 有哪些状态?
-
TCP的滑动窗口协议有什么用?讲讲原理。
-
详细描述TCP四次挥手过程?
-
三次握手、四次挥手,为啥不是两次?
-
RPC和http的区别?
-
HTTP协议都有哪些方法?
Java虚拟机(JVM)
-
JVM内存模型结构?
-
方法区和直接内存什么时候会oom?
-
JVM收集器G1的内存模型和CMS的内存模型有什么不同?
-
JVM调优用过吗?
-
如何查看Java内存使用情况(jconsole、命令jmap、jstack等等)?
数据库
-
Join(inner、left、right)的区别?
-
Union和union all区别?
-
ACID,具体是啥意思?
-
事务隔离级别?
-
幻读和不可重复读的区别?
-
Mysql和Mongodb有啥区别?
-
,Mysql存储引擎中索引的实现机制;
-
数据库事务的几种粒度;
-
如何解决高并发减库存问题?
-
SQL什么情况下不会使用索引?
-
行锁、表锁,乐观锁、悲观锁,区别分别是什么?
Spring
-
Bean的生命周期?
-
什么是DI、为什么DI、DI的类型(构造器注入、方法注入)?
-
Spring如何解决循环依赖问题?
-
Spring框架中IOC的原理是什么?
-
spring的依赖注入有哪几种方式
-
Spring 如何实现数据库事务?
-
Spring boot和spring的差别,tomcat如何嵌入spring boot的/spring boot中的tomcat是如何启动的?
多线程
-
线程的几种状态,请画出具体的状态流转图?
-
Java wait、sleep的区别?
-
volatile如何实现指令重排序?
-
线程池中的阻塞队列如果满了怎么办(拒绝策略)?
-
Synchronized和AQS异同,AQS公平非公平如何实现?
-
多线程里面对一个整型做加减为啥不能用volatile?
-
voliatile和synchonized有什么区别?synchonized和jdk提供的Lock包又有什么区别?
Redis
列举下你所知道的常用的Redis客户端并发模型?
-
聊下分布式缓存,一致性hash。
-
如何解决缓存单机热点问题?
-
Memcache与Redis的区别?
-
列举一个常用的消息中间件,如果消息要保序如何实现?
-
Zookeeper有哪些功能?
微服务
-
什么是微服务?
-
什么是微服务熔断?什么是服务降级?
-
微服务的优点、缺点分别是什么?
-
你所知道的微服务技术有哪些?列举1-2个案例?
-
SpringCloud和Dubbo 有哪些区别?
算法
-
如何遍历一棵二叉树?
-
二叉树宽度遍历?
-
用Java写一个冒泡排序算法?
-
描述一下链式存储结构。
总结
这份面试题几乎包含了他在一年内遇到的所有面试题以及答案,甚至包括面试中的细节对话以及语录,可谓是细节到极致,甚至简历优化和怎么投简历更容易得到面试机会也包括在内!也包括教你怎么去获得一些大厂,比如阿里,腾讯的内推名额!
某位名人说过成功是靠99%的汗水和1%的机遇得到的,而你想获得那1%的机遇你首先就得付出99%的汗水!你只有朝着你的目标一步一步坚持不懈的走下去你才能有机会获得成功!
成功只会留给那些有准备的人!
容易得到面试机会也包括在内!也包括教你怎么去获得一些大厂,比如阿里,腾讯的内推名额!
某位名人说过成功是靠99%的汗水和1%的机遇得到的,而你想获得那1%的机遇你首先就得付出99%的汗水!你只有朝着你的目标一步一步坚持不懈的走下去你才能有机会获得成功!
成功只会留给那些有准备的人!
[外链图片转存中…(img-F5G4sBu7-1714278388594)]