阿里钉钉、ICBU、CBU、蚂蚁、国际化中台Java后台面经

共 4910字,需浏览 10分钟

 ·

2021-03-27 08:14

走过路过不要错过

点击蓝字关注我们



阿里提前批面了很多部门,除了淘系一面其他都过了,最终点了国际化中台的内推,在焦急等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阿里国际化中台笔试

  1. 有10亿个数据,数据为整数,取值范围为[1 - 10000],请对这10亿个数据进行排序。

  2. 设计一个拼手气红包算法。给定红包总金额和红包的个数,输出每个红包的金额。 要求:1). 每个红包金额随机 2). 每个红包的金额数不小于1 3). 每个红包的金额数不超过总金额的30% 例如红包总金额100,人数10,输出【19 20 15 1 25 14 2 2 1 1】

获取往期更多最新面试题资料,直接转发一下这篇文章+关注公众号【Java烂猪皮】关注后回复【666】即可获取哦~




往期精彩推荐



腾讯、阿里、滴滴后台面试题汇总总结 — (含答案)

面试:史上最全多线程面试题 !

最新阿里内推Java后端面试题

JVM难学?那是因为你没认真看完这篇文章


END


关注作者微信公众号 —《JAVA烂猪皮》


了解更多java后端架构知识以及最新面试宝典


你点的每个好看,我都认真当成了


看完本文记得给作者点赞+在看哦~~~大家的支持,是作者源源不断出文的动力


浏览 43
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报