精选 2021 互联网大厂 Java 核心面试题库(金三银四面试必备)
前言
今日博主听闻,现在很多培训出来的应届生薪资都赶上了摸爬滚打两三年的朋友,讲道理,这说不过去啊[我想静静]
作为同行来说,这个行业发展很快,技术更新很快,淘汰也很快,千万不要再找借口了,想吃这碗饭不如好好思考如何提升自己的技术,提高自己的核心竞争力。
下面博主给大家分享一波 2 月份精选的互联网大厂 Java 核心面试题,透过面试题来分析自己所掌握的技术栈与大厂所需的差距,判断面试难易程度,从而进一步明确自己学习的方向。
Tips:精选核心面试题完整内容以及答案可以添加小助理 vx:mxzFAFAFA 即可!!
这些面试题你都会了吗?(精选 97 道 Java 核心面试题)
常量池有哪些,数据结构,自己设计一个常量池
String 为啥设计为 final,好处是啥,其中的 equals 方法如何实现的
jdk 序列化怎么实现,有测试过他的性能吗,serialVersionUID 的作用是什么,用过一些其他序列化方式没,为什么需要序列化这个技术
hashmap1.7 和 1.8 的区别 hashmap 怎么解决 hash 冲突的 查询时间复杂度 数据结构
hashmap 的加载因子为什么是 0.75 好处有没有去思考过 还有为什么初始化容量是 16 为什么就不是 15 put 的死循环
LinkedHashMap 和 hashmap 的区别 数据结构 怎么实现 LRU
TreeMap 的底层排序算法用的什么 说下快排和堆排
ConcurrentHashMap1.7 1.8 的区别 size 方法可以保证一致性吗 知道缓存行吗,里面用到的缓存行填充技术是为了解决什么 put 方法和 hashmap 的 put 的区别有哪些
jdk 的 @Contented 原理说一下
jvm 和 jmm 区别说一下 说一下 jvm 内存模型
oom 了解不,说一下可能发生 oom 的内存区域,堆外内存可以发生 oom 不,会不会被垃圾回收 堆外内存一般在什么地方会用到
回收算法 分别优缺点
CMS 和 G1 的区别 分别说一下数据结构
CMS 和 G1 分别的使用场景 G1 最后一步操作是什么 为什么用户可以自己设置回收内存 jdk 这样设计的好处是什么
说一下项目中调优经验
说一下 MAT 的最长引用链功能 MAT 一般用来分析什么比较快
一般你怎么分析一个 OOM
gc 日志里面可以看到垃圾回收器吗
看内存使用情况用什么命令
看程序里面有多少个线程在运行怎么看
线程的状态怎么分析 如果 BLOCKING 和 WAITING 状态的线程很多 会出现什么情况 说一下 BLOCKING 和 WAITING 的区别
如何排查 CPU 过高的情况
深堆和浅堆
jinfo 的作用是什么
STW 是什么意思 CMS 和 G1 分别在哪些时期发生的 STW 有没有可能避免 STW 的情况
并行和并发的区别
说一下 sync 锁和 lock 锁的区别 他们都是为了保证什么 除了这两种方式还可以怎么优雅的保证程序运行正常
sync 锁的底层原理
为什么轻量级锁就比重量级锁要快
程运行到一半,cpu 切换到另一个线程,之后再切换回来执行,是怎么保证在上一次执行点执行的
sync 锁的锁升级和 lock 锁的锁降级的区别
lock 锁的锁降级的优化点是什么,为什么不可以锁升级呢 要是发生了锁升级会导致什么
aqs 的数据结构 为什么要用 single 而不是 singalall
state 变量的作用是什么 用在哪些地方
cas 是不是一定就比使用 sync 锁要好 什么情况下用 sync 锁好一点
cas 怎么解决的 aba 问题
longadrr 原理是什么 是对什么的优化
vaolitale 为什么不能保证原子性 是怎么导致重排序失效的
线程池原理 参数介绍 平时怎么用的线程池 怎么优雅的监控线程池的关闭
并发工具类有哪些 平时杂用的 原理 区别
disruptor 的原理 对于阻塞队列优化点在哪 平时杂用的
arraynlocingqueqe 和 linkedbloikingqueue 的区别
hanppen befor 语义 多线程下重排序的问题 解决方法
forkjoin 思想
设计模式 策略的几种实现 代理 uml 图 自己项目里面怎么用的 如果一个 if else 很多的情况下 是不是一定要用策略去改造 这样改造后的优缺点
单例里面的静态内部类的实现
建造者和工厂的区别
继承和内包含的区别
spring 里面用到设计模式
说下 spring 你看过的源码流程
aop 的的通知方法内部执行流程
一个事务中包含多个子事务 怎么解决
springboot 的 spi 机制
springboot 的内嵌 tomcat 实现原理
springboot 的自动装配原理
mysql 的索引原理 有哪些索引 为什么尽量建复合索引 最左侧索引原理 为什么违反就会导致索引失效
索引的数据结构 B+ B 树的区别 为啥 B+树更快
hash 索引的场景 是不是都用 B+树
如果是一个查询操作很慢你从整体架构到细节怎么排查
redis 的主从 哨兵 集群分别解决什么问题
主从同步原理 怎么实现的
redis 可以做哪些事情
redis 的 gossip 协议
redis 的 hash 算法 一致性 hash 算法原理
一致性 hash 算法可以解决负载均衡问题么
linux 的 io 模型 indot 是什么
bio 的原理
netty 项目中的使用 netty 中的管道是什么 每条消息的传递原理
netty 的 bytebuf 双指针是什么 零拷贝
netty 里面怎么解决黏包半包的 tcp 滑动窗口是什么 nagle 算法 netty
自己实现一个通信协议 尽可能想到完善
rpc 和 http 的区别 自己实现一个 rpc
doss 攻击是什么 是怎么钻的漏洞
几种消息中间件的区别 怎么选型 平时项目中用了哪些
kafka 怎么保证消息不丢失 消息不重复消费 消息有序 消息堆积怎么解决 消息持久化怎么实现的 消息淘汰策略
kafka 的 lsu 是什么 保证有序和性能怎么权衡
如果是 5 个消费者 3 个分区 5 个消费者都能消费到吗
kafka 分区在均衡是什么意思 如果我想设置偏移量 怎么设置
kafka 的副本之间的同步机制
微服务和分布式区别 dubbo 用过没有 dubbo 的 spi dubbo 的熔断功能 dubbo 支持的一些协议
dubbo 的整个执行原理 从提供方到消费方的过程
springcloud 和 dubbo 的区别 springcloud 在项目中怎么用的
hystrics 原理服务隔离是怎么做的
feing 的原理
网关统一异常处理是怎么做的 一般你们怎么做的权限 如果是通过网关集成 security 前端不加 Autchcation 会不会进入网关授权过滤器
画一下你们的架构图数据流,你们系统的伸缩性体现在哪里
一个秒杀场景怎么设计 包括前后端
现在后端日志报了一个事务死锁的 bug 怎么排查
nestat 之后发现有很多 wating 的进程考虑是什么情况引起的
一个 websockt 推送的统计数据,程序运行一段时间突然数据不更新了,但是连接还存在,怎么排查,没有任何异常日志
给一个数组找出三个数相加等于数组另一个数的这四个数
树的遍历树图的区别 dfs bfs
es 的数据结构 倒排索引的原理 es 出现中文检索精确度不高的问题
es 的分词和关键字的区别
分布式锁 分布式事务 cap zab base pacox 2pc 3pc tcc
seata 和 lcn 的区别内部实现原理
kill 调一个进程,怎么保证程序里面的线程优雅结束
答案:由于文章篇幅限制,答案在此以截图展示,完整版的内容点击传送门即可!!
近两年大厂面试真题分享(阿里+腾讯+百度+字节+拼多多+美团等等)
总结
我个人认为,如果你想靠着背面试题来获得心仪的 offer,用癞蛤蟆想吃天鹅肉形容完全不过分。想必大家能感受到面试越来越难,想找到心仪的工作也是越来越难,高薪工作羡慕不来,却又对自己目前的薪资不太满意,工作几年甚至连一个应届生的薪资都比不上,终究是错付了,错付了自己没有去提升技术。
这些面试题分享给大家的目的,其实是希望大家通过大厂面试题分析自己的技术栈,给自己梳理一个更加明确的学习方向,当你准备好去面试大厂,你心里有底,大概知道面试官会问多广,多深,避免面试的时候一问三不知。
大家可以把 Java 基础,JVM,并发编程,MySQL,Redis,Spring,Spring cloud 等等做一个知识总结以及延伸,再去进行操作,不然光记是学不会的,这里我也提供一些脑图分享给大家:
希望你看完这篇文章后,不要犹豫,抓紧学习,复习知识,准备在金三银四拿到心仪的 offer,加油,打工人!
领取资料只需要添加小助理 vx:mxzFAFAFA 即可!!
版权声明: 本文为 InfoQ 作者【比伯】的原创文章。
原文链接:【http://xie.infoq.cn/article/09a6629af5d36d83a7816ac41】。文章转载请联系作者。
评论