阿里钉钉、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后端架构知识以及最新面试宝典
















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











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





浏览 53
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报