当前位置:首页 > 生态圈 > 正文内容

高级java面试题及答案整理(java面试题及答案整理最新)

abcsky887个月前 (10-25)生态圈94

今天给各位分享

面试题,答案放这里了gitee.com/souyunku/NewDevBooks/blob/master/docs/index.md并发编程部分:volatile的作用,底层:lock指令+MESI协议保障可见性,内存屏障保障有序性

高级java面试题及答案整理(java面试题及答案整理最新)

synchronized与lock的区别:共性:可重入锁,区别:jvm层面,jdk层面,是否可响应中断,释放锁是手动还是自动,公平锁与非公平锁等,引出实现类ReentrantLock再到AQS原理,synchronized jdk1.6以后锁升级也要谈下,如果lock锁里面实现精准唤醒如何做:condition

Jdk各种锁:可重入锁,乐观锁,悲观锁,读网站引流推广方案模板写锁,公平锁,非公平锁都要能列举些乐观锁:CAS(juc下面atomic包下的类,比如AtomicInteger:底层自旋锁+unsafe类,缺点:ABA问题等)

Threadlocal原理(项目中用过可以说下使用场景),threadlocalmap中存放的key是弱引用,gc会回收,而value不会回收,可能产生内存泄露,使用完要及时remove线程池中使用Threadlocal要注意什么?(核心线程数不会释放,也会产生内存泄露,要remove)。

线程池:首先介绍下线程池的工作流程,以及底层源码(ThreadPoolExecutor,七种参数具体什么含义,四种拒绝策略是什么),jdk自带的Ex网站引流推广方案模板ecutors几种线程池以及缺点,再到项目中使用自定义线程池,自定义如何确定核心线程数(经验值分CPU密集型,IO密集型),实际项目中可能既有CPU密集型也有IO密集型,那怎么确定合适的?(通过压测,考虑方面:机器配置差别,代码问题,压测预期值)

CountDownLatch,CyclicBarrier,Semaphore也要了解下2.集合常见问题ArrayList与Linkedlist区别,并发安全替代(vector,Collections.synchronizedList,CopyOnWriteArrayList)

HashMap 1.7 与 1.8区别主要三方面数据结构方面、1.7 hash网站引流推广方案模板冲突头插法,1.8尾插法 、1.7hash值计算扰动次数过多,1.8次数较少(可以看下源码)细节:为什么容量必须是2的n次方,为什么负载因子选择0.75,过低过高会怎么样,为什么链表长度大于8(数组长度也要大于64)转换成红黑树,为什么红黑树节点数量小于6会退化成链表,为什么不选择7等

ConcurrentHashMap 1.7与1.8区别主要三方面: 数据结构、1.7分段锁粒度大,1.8基于cas+synchronized(hash冲突后syn)锁粒度更小、size计算方式区别3 jvm

JVM内存结构(有哪些区域),类加载过程,类加载器有哪些,双亲委派机制,如何确定为垃圾,四种垃圾回收算法,七网站引流推广方案模板种垃圾回收器(CMS与G1重点),常见参数,堆中划分,如何调优jvm,线上出现OOM如何定位4 Redis

redis常见数据类型与对应数据结构,内存淘汰策略,持久化:RDB与AOF对比,线上选择的哪个,主线程为单线程为什么这么快,集群模式:主从+redis cluster,常见缓存穿透雪崩击穿解决方案,如果存放key过大怎么办等

5 Spring与SpringBootSpring核心IOC与AOP,Bean的作用域,bean的生命周期,循环依赖如何解决,aop两种模式区别,Spring用的设计模式,Spring事务传播行为,SpringBoot自动装配原理,注解驱动原理

6 SpringCloud网站引流推广方案模板一次客户端请求,到底经过了哪些组件,最好能画出图,注册中心选型(eureka与zk的对比),各种组件知道如何用,API网关的作用,注册中心使用eureka生产上做了哪些优化,为什么eureka要使用二级缓存,熔断限流Hystrix原理,限流方式:线程池+信号量等

7 DubboDubbo十层模型,负载均衡策略,序列化协议,网络通信协议,集群容错策略等dubbo(RPC)框架与SpringCloud的对比,SOA与微服务的区别8 消息中间件如何保障消息不丢,如何保障消息顺序性,重复消费怎么办,消息堆积如何解决

如果对kafka熟悉:topic,broker,partition,replica(lea网站引流推广方案模板der,follower),ISR与ARHW与LEO,副本选举机制,kafka如何保障消息可靠性,事务与幂等,kafka为什么不支持读写分离,如何避免消费组重平衡,kafka为什么这么快,kafka的时间轮了解吗

9 netty与nioBIO,NIO AIO的区别,为什么选用netty,Reactor模式,netty如何解决TCP拆包与粘包等10 mysql索引数据结构,为什么选用B+树,聚簇索引,覆盖索引,行锁,表锁,间隙锁事务隔离级别,mysql解决幻读方案,mvcc模式,redo log 与binlog区别,Sql优化,索引使用注意事项,explain常见的参数等

11其它分布式锁:redi网站引流推广方案模板s 与 zookeeper的实现对比分布式事务:CAP,BASE,两阶段提交协议,TCC,XA,Seata,基于消息中间件补偿(例如RocketMq半消息机制)分布式ID生成器:雪花算法,时钟回拨如何解决

常见设计模式:单例,工厂,策略,模板,代理等TCP三次握手报文信息,网络7层模型零拷贝HTTPS原理等注:以上问题没有总结全面,仅供参考,全会至少技术广度有了面试题,答案放这里了gitee.com/souyunku/NewDevBooks/blob/master/docs/index.md

举报/反馈

扫描二维码推送至手机访问。

版权声明:本文由海南拓宏网络科技工作室发布,如需转载请注明出处。

本文链接:http://www.4blc.com/post/164.html

分享给朋友:

“高级java面试题及答案整理(java面试题及答案整理最新)” 的相关文章

java是一种什么编程语言(java是一种语言吗)

本文分享给大家的是: Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发Java编程语言的风格十分接近c++语言继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针,改以引用取代,同时移除原C...

java和python差别(java和python有啥区别)

本篇文章给大家谈谈 文 | 计算机课堂 现代软件开发中,有很多编程语言都可以实现产品功能而其中Java和Python是用的最多的这两种语言功能都非常丰富,经常用于web和移动应用开发本文将深入比较 Python 和 Java,分析它们的相似和不同之处。 Java...

java中变量的含义(java中的变量的定义是什么)

本文分享给大家的是: IT服务圈儿有温度、有态度的IT自媒体平台 变量是我们经常用到的一种,我在刚学 Java 的时候,也经常被各种变量的概念折磨,当时并没有细抠,但是我在写一篇类似的文章中,想把变量作为一种小标题来简述一下,但是发现,变量这个概念还是比较繁琐的,...

java语言是从什么语言发展的(java语言的诞生起源于什么语言)

今天给各位分享 互联网诞生,从最初的应用于军事领域为目的开创,到如今人人都触手可及,至今已有半个世纪之久说到互联网,自然离不开程序员和编程,而在众多编程语言中,Java语言一直是名列前茅之一,对互联网的发展更是做出了巨大的贡献,。 使用其作为看家本领的程序员也是千千万.历经...

java下载官网(java下载手机版)

本篇文章给大家谈谈 阿里极客公益活动:或许你挑灯夜战只为一道难题或许你百思不解只求一个答案或许你绞尽脑汁只因一种未知那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了!本次活动特邀百位阿里技术专家对Java常见问题进行了集中解答,在短短3天时间专家回答了1460道Java问题...

我的世界java版和网易版有什么区别(我的世界java是不是国际版)

本篇文章给大家谈谈 《我的世界》1.19的发布给游戏带来了许多惊喜,从可怕的黑暗生物群系,神秘的古城,再到青蛙、蝌蚪和悦灵等可爱的生物,似乎另外一件至关重要的事情被埋没了起来——双版捆绑销售。 随着1.19更新出现在各个游戏设备端中,Mojang还宣布了一个决策,更新发布之...