劲爆!97道大厂Java核心面试题出炉,来试试看你会几道题?

  • 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调一个进程,怎么保证程序里面的线程优雅结束

最后

面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典

  • Java核心知识整理

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

Java核心知识

  • Spring全家桶(实战系列)

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

  • 其他电子书资料

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

Step3:刷题

既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。

以下是我私藏的面试题库:

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多
129)]

Step3:刷题

既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。

以下是我私藏的面试题库:

[外链图片转存中…(img-ryz2chW8-1719894250130)]

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<?php /** * Created by runner.han * There is nothing new under the sun */ $SELF_PAGE = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1); if ($SELF_PAGE = "unser.php"){ $ACTIVE = array('','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','active open','','active','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''); } $PIKA_ROOT_DIR = "../../"; include_once $PIKA_ROOT_DIR.'header.php'; class S{ var $test = "pikachu"; function __construct(){ echo $this->test; } } //O:1:"S":1:{s:4:"test";s:29:"<script>alert('xss')</script>";} $html=''; if(isset($_POST['o'])){ $s = $_POST['o']; if(!@$unser = unserialize($s)){ $html.="<p>大兄弟,来点点儿的!</p>"; }else{ $html.="<p>{$unser->test}</p>"; } } ?> <div class="main-content"> <div class="main-content-inner"> <div class="breadcrumbs ace-save-state" id="breadcrumbs"> <ul class="breadcrumb"> <li> <i class="ace-icon fa fa-home home-icon"></i> <a href="unserilization.php">PHP反序列化</a> </li> <li class="active">概述</li> </ul> <a href="#" style="float:right" data-container="body" data-toggle="popover" data-placement="bottom" title="tips(再点一下关闭)" data-content="先把PHP序列化和反序列化搞懂了在来玩"> 点一下提示~ </a> </div> <div class="page-content"> <form method="post"> <p>这是一个接受序列化数据的api: <input type="text" name="o" /> <input type="submit" value="提交"> </form> <?php echo $html;?> </div><!-- /.page-content --> </div> </div><!-- /.main-content --> <?php include_once $PIKA_ROOT_DIR . 'footer.php'; ?>
04-19

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值