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

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

abcsky884个月前 (10-25)生态圈43

今天给各位分享

面试题,答案放这里了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://4blc.com/post/164.html

分享给朋友:

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

java面向对象基础知识(java语言面向对象是什么意思呀怎么写)

今天给各位分享 Java是面向对象的语言,而面向对象编程主要体现了继承、封装、多态三个特性,那么什么是对象?“一切皆对象”那么有没有更加通俗的解释是怎样的呢? 比如有个女朋友,那么她肯定是对象她的身高三围等等是参数属性,那些可以告诉别人的就叫公有属性,私密的就是私有属性;她...

java之父是谁?(java之父现在在做什么)

今天给各位分享 【CSDN 编者按】在编程工作或是学习中,你最头疼的是什么?你知道吗,Java之父也很讨厌Bug,最让他头疼的事情是数值分析然而,学生时期的他即便用最差的语言完成作业,成绩照样是A这样一位看似普通却又充满传奇色彩的程序员,相信你也同样对他充满好奇。 主持人&...

大数据和java哪个累些(大数据和java哪个累一些)

本篇文章给大家谈谈 单单提起java或者大数据,很多人对此都一目了然,但对于java大数据这样一个新鲜名词,多少有些疑惑那java和java大数据学习的内容是一样的吗?两者有什么区别呢?今天千锋讲师就从java和java大数据的以下方面谈谈两者的区别。 Java是我们耳熟能...

再见了大别山原唱(再见歌曲原唱)

今天给各位分享 整理 | 苏宓出品 | CSDN(ID:CSDNnews)历时 11 年,Java 7 生命周期终止,Oracle 正式停止对该版本的扩展支持。 随着官方支持的停止,Java 7 仅进入 Oracle 终身支持策略所定义的持续支持模式,未来不再有进一步的补丁...

java难学吗 大概要学多久(java基础知识点)

本文分享给大家的是: Java零基础入门到精通​yun.itheima.com/course/540.html?2020zylyk 在了解“什么是Java”之前,我们先来认识下什么是计算机语言计算机语言(Computer Language)是人与计算机之间通信的语言,它主要...

计算机二级java考试考什么(计算机二级java考什么内容)

今天给各位分享 计算机二级java考JAVA语言1、“计算机二级”一般是指“计算机二级考试”,有二级C,二级WB,二级VFP、二级JAVA等科目,每次考试报名的具体时间由各省(自治区、直辖市)级承办机构规定考生按照有关规定到就近考点报名。 2、java语言具有功能强大和简单...