
蚂蚁平台技术事业群一面(3.31) --凉
被面试官拷打要多注重实践的应用了~~~ ### 八股 1. JMM 内存模型
JVM GC策略
JVM堆内存溢出的解决策略
堆内存和栈内存的区别
- 堆内存:存储对象实例和数组
- 栈内存:存储方法调用时的局部变量、方法参数以及一些基本数据类型(如 int、char 等)的值(栈内存线程独立私有)
线程池的核心参数,核心线程数和最大线程数如何设置,设置多少
- 核心线程数
- CPU 密集型任务(线程数:N+1,N为CPU 核心数):+1是为了防止线程因缺页中断等原因导致的任务暂停而带来的影响。一旦任务暂停,CPU 就会处于空闲状态,而在这种情况下多出来的一个线程就可以充分利用 CPU 的空闲时间。
- I/O 密集型任务(2N):线程在处理 I/O 的时间段内不会占用 CPU 来处理,这时就可以将 CPU 交出给其它线程使用
- 最大线程数(一般设置为核心的一倍:保证即使多来一些任务,任务也能占有原本核心线程时一半的cpu时间)
- CPU 密集型任务:2N
- I/O 密集型任务:4N
- 核心线程数
arraylist和linkedlist的区别
线程之间通信的方法
IOC ,AOP 的思想和代码实现
spring 事务的隔离级别和传播特性,怎么设置
spring事务想要部分代码回滚,部分不回滚,如何处理(支付回滚,日志不回滚)
了解什么RPC框架
悲观锁和乐观锁
项目拷打
项目亮点
项目最大挑战
印象深刻的BUG