阿里钉钉、ICBU、CBU、蚂蚁、国际化中台Java后台面经
阿里提前批面了很多部门,除了淘系一面其他都过了,最终点了国际化中台的内推,在焦急等hr面中,分享面经,希望能帮到大家,都能拿到满意的offer~
3.3阿里CBU一面
项目30分钟(流程+项目难点+部署)
JVM类加载过程
主要类加载器有什么
双亲委派模型的好处
双亲委派模型怎么打破
什么软件/应用打破了双亲委派模型
常用设计模式介绍(代理模式、包装模式、工厂模式、适配器模式、责任链模式......)
包装模式在JDK中哪里应用了、责任链模式在哪里应用
工厂模式在Spring源码中哪里有应用
多线程在项目中的应用
定义线程池的方法
Callable和Runnable的区别
FutureTask介绍
BeanFactory和ApplicationContext区别
Bean的生命周期
Java中实现Map接口的有什么
遍历HashMap的几种方法
Java8中JVM运行时数据结构变化是什么(元空间取代了方法区)
为什么用元空间取代方法区
业界大数据新技术,比如Hadoop了解吗?
Java中的包装类有什么用(Integer Long Double),为什么需要包装类
TCP的粘包?粘包怎么解决?UDP会粘包吗?
TCP面向什么传输,UDP面向什么传输?
RPC了解吗?
线程的声明周期?
迪杰斯特拉最短路径算法?
选择排序是稳定的吗,时间复杂度?
快排稳定吗,时间复杂度,什么时候性能最差?
MYSQL的索引为什么使用B+树的数据结构?
前端Vue.js Ant Design了解吗?
Servlet是线程安全的吗?为什么线程不安全?
Linux的命令了解吗,Top命令是什么?
实验室项目有人指导吗?
Redis怎么实现分布式锁
介绍Redis的缓存穿透和缓存雪崩
怎么解决缓存穿透和缓存雪崩
类加载里面Class类和Object类的加载顺序
3.4蚂蚁金融核心一面
项目25分钟
热点数据怎么处理
分布式事务
JVM运行时数据结构介绍
os的程序计数器和线程的程序计数器有什么区别
垃圾收集器CMS介绍
标记-整理 的整理阶段会STW吗
MYSQL数据库聚簇索引 非聚簇索引
索引覆盖
UUID作为主键对于索引写的影响
DB和缓存一致性怎么保持(双写一致)
分布式数据库,怎么保证转账一致性
3.4阿里ICBU一面
项目中Redis的应用
介绍Redis基本数据类型及应用场景
介绍Sping框架IOC和AOP
介绍redis缓存雪崩及解决方案
介绍MyBatis框架(dao接口没有实现类、xml解析过程、延迟加载)
代码题:求给定字符串的最长不重复子串
代码题:给定String数组,求能拼接成的最大的数,以String类型返回
3.4阿里ICBU二面
项目难点
Map类型及介绍(HahMap、Hashtable、CurrentHashMap、LinkedHashMap)
HashMap线程不安全,环形链,CPU占用率过高
CPU占用率过高怎么排查
常见索引类型(唯一性索引、普通索引、联合索引)
索引覆盖
普通索引原理是什么,不同创建方式得到的普通索引的区别
Redis特性介绍(基于内存、过期键删除策略、持久化、数据结构多样、事务、主从架构)
Spring的AOP介绍(切面编程、动态代理)
研究生课题、毕设选什么课题
分布式相关了解什么
自己的缺点是什么
3.4阿里钉钉一面
os死锁产生的条件、怎么避免死锁
乐观锁和悲观锁怎么理解
Java锁有什么(Synchronized、ReentrantLock、ReentrantReadWriteLock、AQS)
Integer a= 300,Int b=300;问a==b是true还是false?
Integer a= 300,Integer b=300;问a==b是true还是false?
Integer a=3,Integer b = 3;问a==b是true还是false?
二叉树是什么
二叉搜索树是什么
二叉搜索树插入过程
HashMap介绍
解决hash冲突为什么使用红黑树不适用二叉树
一个长度小于1000的数组,怎么取出最大的十个数(堆排序、快排、各自的时间复杂度)
分布式事务了解吗(CAP、BASE)
数据库事务是什么(ACID)
分布式并发控制(分布式锁)
Redis怎么实现分布式锁
Redis除了LUA还能怎么实现分布式锁(RedLock?)
堆和栈区别
堆怎么分区,什么时候进行Full GC
滑动窗口介绍
面试官提问:你觉得我还有什么地方没问到,但是是你掌握的比较好的?
建议多刷算法、数据结构
3.5阿里淘系聚石塔一面(挂)
项目
数据库和Redis数据一致性
程序服务器宕机怎么保持一致(binlog),这种情况下还会有什么问题
AOP讲解,原理
SpringMVC的好处和缺点
线程池开线程标准
NIO和BIO区别,NIO一定比BIO好吗?为什么
多核和多CPU有什么区别
git底层原理、IDEA快捷键
二叉树遍历方式(递归、非递归的两种形式)
常用设计模式(单例、动态代理)
单例模式有什么好处
你在代码中应用静态类、单例模式的场景
OOM产生的情形
怎么避免OOM
线程上下文切换、保存现场是什么、保存的位置
JMM内容
代码:字符串和城市匹配
代码:100G字符串(数字)文件存在磁盘,在4G的内存中,排序
你觉得自己的优点、长处(这时候我已经崩溃了,这期间问了很多很多底层的东西,我都不会,我想转产品)
3.8 阿里国际化中台一面
自我介绍
项目
本科课程,你觉得你最感兴趣的,学的最好的课程
计算机网络五层模型介绍
TCP三次握手
一个url从浏览器输入到响应的全过程
servlet结合spring讲述
spring事务实现原理
spring AOP原理扩展
JDBC连接数据库执行sql过程
项目中的数据结构介绍
树(二叉树、完全二叉树、满二叉树、红黑树、b树、b+树)、链表、栈、队列
竞赛论文情况
项目中的难点亮点是什么
除了redis还了解其他的缓存吗
JVM系统介绍(运行时数据结构、垃圾回收过程、判定对象死亡)
3.8阿里国际化中台二面
自我介绍
本科课程掌握比较好的课程
计算机网络五层模型、TCP三次握手
实际动手实现过网络协议吗
HTTPS实现原理,加密算法
socket编程
socket通信过程
用过什么数据结构解决什么问题
concurrentHashMap原理
CAS和synchronized的区别
synchronized锁的区别
HashMap介绍
红黑树、b树、b+树介绍及应用场景
算法:动态规划、递归、贪心算法、迪杰斯特拉算法、贪心算法
1000000个整型数字怎么排序获得topk(k大小的小根堆),时间复杂度和空间复杂度是什么
字符串匹配算法KMP
LRU怎么实现
spring介绍 IOC AOP
springMVC执行过程
shiro框架介绍
自定义注解知道吗,注解原理
cpu占用率过高可能的原因
JAVA IO编程
竞赛情况
3.9 阿里国际化中台三面
学习新知识的过程
spring学习总结(详细讲述Spring和IOC的学习过程)
Spring Bean生命周期
Spring Bean生命周期,你在实际中有什么应用
Redis在项目中的应用
AOP介绍以及在你项目中某个具体功能的实现(讲解事务源码、原理、应用)
设计模式了解什么,在项目中的实际应用
项目难点介绍
财务业务梳理+事务实现+功能抽象
竞赛情况
机器学习了解吗
你觉得自己人生中很受挫的事情是什么?
英语问答:
1.英文自我介绍
2.英文介绍三年的职业规划
3.18阿里国际化中台笔试
有10亿个数据,数据为整数,取值范围为[1 - 10000],请对这10亿个数据进行排序。
设计一个拼手气红包算法。给定红包总金额和红包的个数,输出每个红包的金额。 要求:1). 每个红包金额随机 2). 每个红包的金额数不小于1 3). 每个红包的金额数不超过总金额的30% 例如红包总金额100,人数10,输出【19 20 15 1 25 14 2 2 1 1】
关注小编-【AI乔治】了解更多Java进阶架构知识。