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

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

abcsky889个月前 (10-25)生态圈150

今天给各位分享

面试题,答案放这里了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开发实用的面试题及参考答案 1、进程,线程,协程之间的区别是什么?简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有一个进...

面向对象和面向过程的概念分别是什么(面向对象与面向过程的区别 举例)

今天给各位分享 原标题:面向过程和面向对象有什么区别前言壹哥相信,经过你对前面文章中技术点的学习,现在的你应该已经对Java具备了初步的了解和掌握,这为我们继续往后学习奠定了良好的基础我们知道,Java是面向对象的编程语言,但是至今仍有不少同学还不太懂”面向对象“的确切含义。...

jdk的区别(java与jdk关系)

本篇文章给大家谈谈 还记得刚开始学习编程时,我就在想:“Java和JavaScript是同一种语言吗?”就是因为看到它们名称中都带“java”,所以才会误以为它们有关系实际上,它们并没有太大的联系这两者的关系,就和英语与斯瓦希里语「非洲语言使用人口最多的语言之一,简称斯语」类似。...

大连java培训机构有哪些(大连java招聘信息)

本文分享给大家的是: 如今,中国已经进入互联网高速发展期,各大公司在招聘时都会需要编程人员,而Java作为程序语言中较为便捷和高效的代表,已经成为许多企业招人时的首选于是,很多人为了程序员的高薪资想要通过培训转行,那么大连正规Java培训收费多少呢?今天“好程序员”就来带大家分析一...

java培训班课程(java培训大概需要多少钱)

今天给各位分享 很多人在选择Java培训机构时最先考虑的问题就是钱,实际上Java培训费用也是我们选择Java培训机构的比较条件之一。今天“好程序员”就带大家了解一下Java课程培训所需的费用在什么区间内比较合适。 一般情况下Java机构的收费是1-2万,有些小机构的费用只...

计算机专业读什么大学好(计算机专业学)

本文分享给大家的是: 翻开计算机本科专业目录,我们会看到计算机是个大类,计算机专业类包括计算机科学与技术、软件工程、网络工程、信息安全等七八个专业其中,最核心、最基础的专业就是计算机科学与技术,这些也是各院校计算机系招生的主要专业。 计算机类专业的学生所要学习的不仅是会使用...