说要内推阿里的学长,替我整理好的 Java 面试题,分享给大家
2021/7/17 20:36:13
本文主要是介绍说要内推阿里的学长,替我整理好的 Java 面试题,分享给大家,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
就在我还在为 618 刷淘宝清购物车的时候,群里忽然弹出一条消息引起了我的注意:之前去了阿里的学长,在群里说要内推,我就迫不及待的问了下:具体的岗位需求是什么样的?然后就有了接下来的聊天内容
当然看了看职位要求,再看看自己,觉得自己还是太菜了!对不起,我不配,还是安心搬砖吧。不过最后,我还是厚颜无耻的让学长帮忙总结了下阿里的面试题以及复习资料,这里分享给大家!
常考的 JVM 面试题
1、JVM 内存模型
2、JVM 垃圾回收算法
3、JVM 运行内存的分类
4、Java 内存堆和栈区别
5、JVM 垃圾收集器有哪些?以及优劣势比较?
6、GC 回收机制
7、GC 标记对象的死活
8、MinorGC&FullGC
9、内存分配与回收策略
10、Java 类加载机制
常考的多线程面试题
1、进程和线程的区别
2、线程安全的定义、线程的状态
3、多线程的实现方式(Runnable 和 Callable 的区别)、start/run 方法的区别
4、wait()/notify()/sleep()/yield()/join()几个方法的意义
5、notifyall()这块涉及到资源池和锁池,可以加深理解下
6、线程池的创建方式,7 大参数、阻塞队列、拒绝策略、大小如何设置
7、锁机制:乐观锁 CAS、悲观锁 synchronized 和 ReentrantLock、实现原理以及区别,非常重要,基本每次必问,可以多掌握一些,看到源码层面,每次这块我都能给面试官说五到十分钟不停。
8、锁优化:偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁消除、锁粗化等
9、Java 内存模型和 volatile 的原理,以及 volatile 和 synchronized 区别
10、ThreadLocal 线程本地存储原理,源码层面
11、内存泄漏问题
12、AQS 同步队列器原理,CLH 队列
13、AQS 组件:ReentrantReadWriteLock、CountDownLatch、CyclicBarrier、Semaphore 原理掌握
14、JUC 原子类,原理:CAS+volatile + native 方法来保证操作的原子性
15、集合框架的多线程实现类:CopyOnWriteArrayList、CopyOnWriteArraySet、ConcurrentHashMap、ConcurrentSkipListMap、ConcurrentSkipListSet、ArrayBlockingQueue、LinkedBlockingQueue、ConcurrentLinkedQueue、ConcurrentLinkedDeque
常考的数据库 MySQL
1、手撕 SQL 语句
2、数据库事务、隔离级别、Innodb 和 Myisam 的区别
3、锁机制(悲观锁、乐观锁、行锁表锁、独占锁共享锁等等)
4、MVCC、NK-Lock
5、索引的数据结构(B+树)、索引优缺点
6、最左前缀原则、索引优化
7、聚簇索引、覆盖索引
8、数据库三大范式
9、主从复制、主从一致、分库分表等等问题
常考的 Redis 缓存和 MQ 消息队列
1、Redis 为什么要作为缓存? 高性能和高并发
2、redis 和 memcached 的区别
3、redis 常用数据结构、以及数据结构底层,常考到跳表的结构
4、定期删除、惰性删除
5、内存淘汰机制
6、持久化机制
7、缓存雪崩、缓存穿透、缓存击穿
8、并发竞争 key 问题
9、缓存和数据库双写时的数据一致性
10、为什么单线程还那么快?(非阻塞多路 IO 复用)
11、select、poll、epoll 区别
12、五种 IO 模型
13、redis 集群、哨兵机制
14、分布式锁
常问的是 spring 面试题
-
什么是 Spring 框架?Spring 框架有哪些主要模块?
-
使用 Spring 框架有什么好处?
-
什么是控制反转(IOC)?什么是依赖注入?
-
请解释下 Spring 中的 IOC?
-
BeanFactory 和 ApplicationContext 有什么区别?
-
将 Spring 配置到你的应用中共有几种方法?
-
什么基于 XML 的配置?
-
什么基 Java 的配置?
-
怎样用注解的方式配置 Spring?
-
描述 Spring Bean 的生命周期?
-
描述 Spring 中各种 Bean 的范围?
-
什么是 Spring 的嵌入 beans?
-
Spring 框架中的单例 bean 是否是线程安全的?
-
请举例说明如何用 Spring 注入一个 Java 的集合类?
-
请举例说明如何在 Spring 的 Bean 中注入一个 java.util.Properties?
-
请解释 Spring 的 Bean 的自动生成原理?
-
请辨析自动生成 Bean 之间模块的区别?
-
如何开启基于基于注解的自动写入?
最后
当然整理的面试题还有很多,文章中就不多做分析,我特意建了群,把文档资料上传到了群文件和网盘
资料领取:有需要的,可以点击这里即可获取到文章中的文档,资料!
这篇关于说要内推阿里的学长,替我整理好的 Java 面试题,分享给大家的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01后台管理开发学习:新手入门指南
- 2024-11-01后台管理系统开发学习:新手入门教程
- 2024-11-01后台开发学习:从入门到实践的简单教程
- 2024-11-01后台综合解决方案学习:从入门到初级实战教程
- 2024-11-01接口模块封装学习入门教程
- 2024-11-01请求动作封装学习:新手入门教程
- 2024-11-01登录鉴权入门:新手必读指南
- 2024-11-01动态面包屑入门:轻松掌握导航设计技巧
- 2024-11-01动态权限入门:新手必读指南
- 2024-11-01动态主题处理入门:新手必读指南