首页 > 阿里社招Java面试经历
头像
应寒
发布于 2020-08-08 11:15
+ 关注

阿里社招Java面试经历 内部员工回复

一面

1、自我介绍,讲讲求职意向和擅长的技能。

2、Tomcat的基本架构是什么?

Server、ConnectionContainerEngine)、ServiceContextHostWrapperContainerLifeCycleExecutorBootstrapCatalina

 

3、JVM调优,工作中怎么用,GC算法和回收策略有哪些?

4、Java中线程池是如何实现的?

5、创建线程池的几个核心构造参数是什么?

corePoolSize(核心线程数)、queueCapacity(任务队列容量)、maxPoolSize(最大线程数、keepAliveTime(线程空闲时间)、allowCoreThreadTimeout(允许核心线程超时)、rejectedExecutionHandler(任务拒绝处理器)

 

6、VolatileSynchronize的区别?

1Volatile轻量级的,只能修饰变量。synchronize重量级的,还可以修饰方法

2Volatile只保证数据的可见性,不能用来同步,因为多线程访问Volatile变量不会阻塞

3synchronize不仅保证可见性,而且保证原子性,因为自由获得了锁的线程才能到达临界区,从而保证了临界区中的所有语句被执行,多个线程抢夺synchronize锁的时候,会出现阻塞。

 

7、GC的机制是什么?垃圾回收器的基本原理是还说呢么?是否可以立即回收内存?怎么样主动的通知JVM进行垃圾回收?

8、类加载器双亲委派模型机制?

9、集合的种类和区别,HashMap底层如何实现(JDK1.8有所改动)HashMapConcurrentHashMap的区别?

10、Spring IOC如何管理Bean之间的依赖关系,怎么样避免循环依赖?

11、SpringBean创建过程中的设计模式?

 

二面

1、自我介绍。

2、InnoDB支持的四种事务隔离级别名称是什么? 之间的区别是什么?

3、聊一聊事务的特性

4、什么是MySQL隔离级别?

5、如何理解BTree机制?

6、谈一谈对慢查询的分析?MySQL常用的优化方法有哪些?

7、谈一谈悲观锁和乐观锁以及SQL的实现。

8、简述三次握手和四次握手的过程?

9、B+树索引和Hash索引的区别?


三面

1、自我介绍。

2、MySQL的锁并发?

3、高并发场景下如何防止死锁,保证数据的一致性?

4、集群和负载均衡的算法与实现?

5、简述分库与分表设计?

6、分库分表带来的分布式困境与对应之策有哪些?

7、加锁的机制是什么?

8、RedisSetnx命令使如何实现分布式锁的?使用Redis怎么进行异步队列?会有什么缺点?

更多模拟面试

全部评论

(0) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐