阿里菜鸟一面面经(7.22)
时长1小时35分钟,被问得一脸懵逼,估计凉凉。。。。 (1)java虚拟机内存模型 (2)内存溢出一般发生在哪个区?永久代会不会导致内存溢出? (3)动态加载类的框架了解哪些? (4)动态***一般有哪几种实现方式?动态***的应用场景有哪些? (5)栈会不会溢出?栈溢出一般抛什么异常?jvm在哪里设置栈的大小?设置的参数是什么? (6)用过哪些命令查看jvm的状态、堆栈信息? (7)jvm的垃圾回收机制? (8)java类加载机制?如何实现自定义类加载器?findClass与loadClass的区别? (9)String、StringBuffer、StringBuilder的区别?对应的使用场景? (10)如何实现不可变的类? (11)浅复制和深复制?怎样实现深复制? (12)HashMap、HashTable、ConcurrentHashMap的区别? (13)CAS是一种什么样的同步机制? (14)NIO的原理,包括哪几个组件? (15)简单介绍一下java的反射机制?反射在哪些地方有应用场景? (16)spring加载bean的流程? (17)java线程池?线程池构造函数的几个参数含义?keepAliveTime解释一下? (18)一个接口,要去调用另外5个接口,每一个接口都会返回数据给这个调用接口,调用接口要对数据进行合并并返回给上层。 这样一种场景可能用到并发包下的哪些类?你会怎么去实现这样的业务场景? (19)CountDownLatch和CyclicBarrier的区别? (20)线程加锁有哪些方式?synchronized和lock的区别? (21)volatile关键字的作用?为什么使用AtomicLong而不使用Long?AtomicLong的底层是怎么实现的? (22)mysql的存储引擎有哪几种? (23)sql优化有哪些着手点?组合索引的最左前缀原则的含义? (24)springmvc处理请求的流程? (25)spring的事务怎么使用?事务回滚?自定义异常? (26)脏读?幻读? (27)tcp四次挥手的过程?TIME_WAIT为什么至少设置两倍的MSL时间? (28)get和post请求的区别? (29)cookie和session的请求? (30)了解哪些开源的中间件?缓存?消息?分布式框架? (31)用到过哪些设计模式?单例模式的实现? (32)开放性问题
#面经##阿里巴巴##Java工程师##秋招##内推#