蚂蚁金服 java社招面经分享(一面和二面)
1. 自我介绍
2. 常用的数据结构有哪些?并大说了一些操作的时间复杂度
3. 数组从下标最大的删与最小的删有什么区别?
4. 介绍主要用到的技术(技术栈)
5. 介绍一下集合类
6. list 和 set 的区别?以及各个实现类和底层实现
7. CopyOnWriteList 的特点及实现
8. 创建一个线程有几种方式?项目中怎么创建的?
9. 讲一下线程池
10. 你们使用的任务拒绝策略是那种?
11. 线上服务器最多可以创建多少个线程?
12. 线程的状态有哪些?(线程的生命周期)
13. 跟线程相关的方法介绍一下
14. HashSet 的底层实现
15. 介绍下 HashMap 和 CurrentHashMap
16. HashMap 线程不安全会导致什么问题?
17. 为什么 1.8 版本中会将链表转为红黑树?
18. HashMap 解决 Hash 冲突使用的什么方式?
19. HashMap 的 hash 函数讲一下(如何确定槽位)
20. JVM 的内存区域
21. 那个区域不会发生内存溢出?
22. JVM 运行时内存?
23. 新生代老年代讲讲
24. JVM 为什么分新生代老年代?
25. 垃圾回收算法讲讲
26. 类加载过程讲一下
27. 双亲委派模型讲一下
28. Spring 的启动流程
29. SpringBean 的作用域
30. SpringBoot 的特点
31. 相比于 SpringMVC 有什么好用的地方?
32. MySQL 的事务隔离级别
33. 讲讲 Java 中的锁?
34. 重入锁怎么实现的?
35. Synchronized 讲讲使用及原理
36. Synchronized 的优缺点?
37. retryLock 了解吗?
38. Java 里的轻量级锁?
39. 索引了解么?balabala
40. InnoDB 还能有什么索引
41. 为什么用索引?项目中怎么用的?
42. 讲一下 B+树的实现43. B+树与 B 树有什么区别?
44. MySQL 的锁哪几种?
45. 行锁的实现?
46. 你们项目中用到 Redis 都是怎么用的?
47. 分布式锁你们是怎么做的?
48. 为什么不升级 Redis 版本?
49. Redis 的内存淘汰策略 LRU?
50. 讲讲项目为什么要用 Hystrix?
#蚂蚁集团##面经##社招##java工程师#