02-BAT面试题汇总及详解

VIP免费
2025-03-15 0 0 3.4MB 65 页 5.9玖币
侵权投诉
本面试题有道云链接:
文档:阿里云面试总结及面试题详解.note
链接:http://note.youdao.com/noteshare?
id=c10ecc5535e673b3f7fa396e57866569&sub=CA2841ACDA7C4A6B9C1D8EE4E5B4379E
阿里云面试分享
一、开场白
简单的介绍一下自己的工作经历与职责,在校或者工作中主要的工作内容,主要负责的内容;
(你的信息一清二白的写在简历上,这个主要为了缓解面试者的压力)
介绍下自己最满意的,有技术亮点的项目或平台,重点介绍下自己负责那部分的技术细节;(主
要考察应聘者对自己做过的事情是否有清晰的描述,判断做的事情的复杂度)
二、Java多线程
线程池的原理,为什么要创建线程池?创建线程池的方式;
线程的生命周期,什么时候会出现僵死进程;
说说线程安全问题,什么实现线程安全,如何实现线程安全;
创建线程池有哪几个核心参数?如何合理配置线程池的大小?
volatile、ThreadLocal的使用场景和原理;
ThreadLocal什么时候会出现OOM的情况?为什么?
synchronized、volatile区别、synchronized锁粒度、模拟死锁场景、原子性与可见性;
三、JVM相关
JVM内存模型,GC机制和原理;
GC分哪两种,MinorGC和FullGC有什么区别?什么时候会触发FullGC?分别采用什么算法?
JVM里的有几种classloader,为什么会有多种?
什么是双亲委派机制?介绍一些运作过程,双亲委派模型的好处;
什么情况下我们需要破坏双亲委派模型;
常见的JVM调优方法有哪些?可以具体到调整哪个参数,调成什么值?
JVM虚拟机内存划分、类加载器、垃圾收集算法、垃圾收集器、class文件结构是如何解析的;
四、Java扩展篇
红黑树的实现原理和应用场景;
NIO是什么?适用于何种场景?
Java9比Java8改进了什么;
HashMap内部的数据结构是什么?底层是怎么实现的?(还可能会延伸考察
ConcurrentHashMap与HashMap、HashTable等,考察对技术细节的深入了解程度);
说说反射的用途及实现,反射是不是很慢,我们在项目中是否要避免使用反射;
说说自定义注解的场景及实现;
List和Map区别,Arraylist与LinkedList区别,ArrayList与Vector区别;
五、Spring相关
SpringAOP的实现原理和场景?
Springbean的作用域和生命周期;
SpringBoot比Spring做了哪些改进?Spring5比Spring4做了哪些改进;
如何自定义一个SpringBootStarter?
SpringIOC是什么?优点是什么?
SpringMVC、动态代理、反射、AOP原理、事务隔离级别;
六、中间件篇
Dubbo完整的一次调用链路介绍;
Dubbo支持几种负载均衡策略?
DubboProvider服务提供者要控制执行并发请求上限,具体怎么做?
Dubbo启动的时候支持几种配置方式?
了解几种消息中间件产品?各产品的优缺点介绍;
消息中间件如何保证消息的一致性和如何进行消息的重试机制?
SpringCloud熔断机制介绍;
SpringCloud对比下Dubbo,什么场景下该使用SpringCloud?
七、数据库篇
锁机制介绍:行锁、表锁、排他锁、共享锁;
乐观锁的业务场景及实现方式;
事务介绍,分布式事物的理解,常见的解决方案有哪些,什么事两阶段提交、三阶段提交;
MySQL记录binlog的方式主要包括三种模式?每种模式的优缺点是什么?
MySQL锁,悲观锁、乐观锁、排它锁、共享锁、表级锁、行级锁;
分布式事务的原理2阶段提交,同步异步阻塞非阻塞;
数据库事务隔离级别,MySQL默认的隔离级别、Spring如何实现事务、JDBC如何实现事务、嵌
套事务实现、分布式事务实现;
SQL的整个解析、执行过程原理、SQL行转列;
八、Redis
Redis为什么这么快?redis采用多线程会有哪些问题?
Redis支持哪几种数据结构;
Redis跳跃表的问题;
Redis单进程单线程的Redis如何能够高并发?
Redis如何使用Redis实现分布式锁?
Redis分布式锁操作的原子性,Redis内部是如何实现的?
九、其他
看过哪些源代码?然后会根据你说的源码问一些细节的问题?(这里主要考察面试者是否对技术
有钻研的精神,还是只停留在表面,还是背了几道面经,这个对于很多有强迫症的面试官,如果
你连源码都没看过,基本上是会pass掉的,比如我也是这样的!)
【解答参照】网址:https://shimo.im/docs/LUYuXUGSX8wTOzY7/《阿里云-面试总结》
一、Java多线程
1、线程池的原理,为什么要创建线程池?创建线程池的方式;
原理:
JAVA线程池原理详解一
JAVA线程池原理详解二
创建线程池的几种方式:
ThreadPoolExecutor、ThreadScheduledExecutor、ForkJoinPool
2、线程的生命周期,什么时候会出现僵死进程;
 僵死进程是指子进程退出时,父进程并未对其发出的SIGCHLD信号进行适当处理,导致子
进程停留在僵死状态等待其父进程为其收尸,这个状态下的子进程就是僵死进程。
3、说说线程安全问题,什么是线程安全,如何实现线程安全;
线程安全-如果线程执行过程中不会产生共享资源的冲突,则线程安全。
线程不安全-如果有多个线程同时在操作主内存中的变量,则线程不安全
实现线程安全的三种方式
1)互斥同步
  临界区:syncronized、ReentrantLock
  信号量semaphore
  互斥量 mutex
2)非阻塞同步
  CAS(CompareAndSwap)
3)无同步方案
可重入代码
 使用Threadlocal类来包装共享变量,做到每个线程有自己的copy
线程本地存储
参考:https://blog.csdn.net/jackieeecheng/article/details/69779824
4、创建线程池有哪几个核心参数?如何合理配置线程池的大小?
1)核心参数
publicThreadPoolExecutor(intcorePoolSize,//核心线程数量大小
intmaximumPoolSize,//线程池最大容纳线程数
longkeepAliveTime,//线程空闲后的存活时长
TimeUnitunit,
//缓存异步任务的队列//用来构造线程池里的worker线程
BlockingQueue<Runnable>workQueue,
ThreadFactorythreadFactory,
//线程池任务满载后采取的任务拒绝策略
RejectedExecutionHandlerhandler)
2)核心说明
1、当线程池中线程数量小于corePoolSize则创建线程,并处理请求。
2、当线程池中线程数量大于等于corePoolSize时,则把请求放入workQueue中,随着线程池
中的核心线程们不断执行任务,只要线程池中有空闲的核心线程,线程池就从workQueue中取
任务并处理。
3、当workQueue已存满,放不下新任务时则新建非核心线程入池,并处理请求直到线程数目
达到maximumPoolSize(最大线程数量设置值)。
4、如果线程池中线程数大于maximumPoolSize则使用RejectedExecutionHandler来进行任
务拒绝处理。
参考:http://gudong.name/2017/05/03/thread-pool-intro.html
3)线程池大小分配
线程池究竟设置多大要看你的线程池执行的什么任务了,CPU密集型、IO密集型、混合型,任
务类型不同,设置的方式也不一样。
任务一般分为:CPU密集型、IO密集型、混合型,对于不同类型的任务需要分配不同大小的线
程池。
摘要:

本面试题有道云链接:文档:阿里云面试总结及面试题详解.note链接:http://note.youdao.com/noteshare?id=c10ecc5535e673b3f7fa396e57866569&sub=CA2841ACDA7C4A6B9C1D8EE4E5B4379E阿里云面试分享一、开场白简单的介绍一下自己的工作经历与职责,在校或者工作中主要的工作内容,主要负责的内容;(你的信息一清二白的写在简历上,这个主要为了缓解面试者的压力)介绍下自己最满意的,有技术亮点的项目或平台,重点介绍下自己负责那部分的技术细节;(主要考察应聘者对自己做过的事情是否有清晰的描述,判断做的事情的复杂度)二...

展开>> 收起<<
02-BAT面试题汇总及详解.pdf

共65页,预览5页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:行业资料 价格:5.9玖币 属性:65 页 大小:3.4MB 格式:PDF 时间:2025-03-15

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 65
客服
关注