前言
之前就听说阿里喜欢搞突击面试。在晚上9点左右,就突然接到了电话。说是阿里的,然后就开始了电话面试,真的是猝不及防。分享一波面经吧!
电话面
1. 秒杀项目相关问题:
- 针对单个商品,有10w+的库存,怎么优化Redis?
- 如何保证不超卖的情况下,提高效率
- 程序本身是否多线程
2. 不使用任何优化,直接访问数据库,如何优化 (提示 redo、undo log的开销)
3. 分布式session原理
4. HashSet的底层结构
5. JVM的类加载器、双亲委派模型
6. springMVC,答了DispatherServlet的流程
7. 单线程为什么快
8. 如何实现多线程
9. 线程池的类型、拒绝策略
10. MySQL的索引,为什么用B+树
10. 评测题目:
小明在双十一晚会上抽奖赢得了一次天猫超市免单的机会,享受在一个包裹最大体积V,最大重量M内免单,假设商品i、体积Vi、重量Mi、库存Si、价格Pi。目前天猫超市的商品分为生鲜水产(1)、食品酒水(2)、美妆个护(3)、居家生活(4)四大类,生鲜水产不与美妆个护同包裹,请你帮助小明在购物车里添置商品使得总价值最大
一面
1. 你说数据导出一下的过程是怎么样的,你优化的步骤是在读数据的过程还是在写数据的过程,写excel的过程,数据流不关闭,是一直在内存中吗?
2. 可不可以打开数据流写一部分,然后关闭,再打开写一部分
3. 如果说你做了一个大数据的下载,内存不够了,你会怎么处理?
4. 聊一下数据库吧,数据库的存储结构是什么?
5. 为什么用B+树?
6. 数据的事务的特性是什么?
7. 跨链接事务你清楚吗?
8. 数据库有哪些隔离级别
9. java的进程和线程的区别,举个实际例子
10. 进程间是如何通信的,线程间是如何通信的
11. volatile作用是什么,怎么实现的?你在什么地方用到过?
12. 你还熟悉哪些单例模式?
13. spring的AOP是基于动态代理的,动态代理是如何实现的?用哪几种方式
14. Cglib实现的原理是什么?
15. java的类加载器是什么原则--双亲委派
16. 为什么双亲委派要从上到下?
17. 如果让你实现一个java.lang.string你想怎么办?
18. springIoc用了什么设计模式?springIoc是在spring中是干什么用的?
19. 怎么实现redis分布式锁?
20. 你学过kafka对吧,kafka有异步模型和同步模型?
21. 异步模型对于同步模型的优势是什么?
22. countdownLatch 和Thread.join的区别
23. 说说什么是数据倾斜?
总结
至此,阿里只有一面就结束了,说到底还是没有准备充分。所以最后也将2020年所有大厂面试题及答案整理好给大家啦!
戳这里免费领取,暗号:CSDN,还有更多大厂面试专题资料和视频哦!
爱编程,爱分享,听说点赞+关注的都进大厂了哦!!!