java面试题及答案2020 阿里(七)

本文汇总了2020年阿里Java面试中的一面试题,包括排序算法、equals与hashCode方法、final关键字、HashMap原理、多态、面向对象编程特点、JVM垃圾回收算法、内存分区、项目经验、JVM内存模型、InnoDB存储引擎、类加载机制、线程池、ThreadLocal、TCP连接与拥塞控制以及并发工具类等内容。
摘要由CSDN通过智能技术生成

java面试题及答案2020

一面(实习)-2020/3/31-牛客网

文末持续更新面试题及答案

1:排序算法,讲述一下快速排序,冒泡排序
2:equals方法,对于重写equals方法为什么要包含hashcode
3:final关键字的作用,final用在方法中时候不能被子类所继承,那么为什么要用final、什么情况下会使用final
4:对于HashMap了解多少,HashMap是如何使用键去寻找值的,和hashcode有什么关系
5:多态是什么,泛型和多态的区别
6:java面向对象编程,其特点是什么,你是怎么理解继承,封装和多态的
7:JVM中主要有几种垃圾回收算法
8:JVM中主要有哪些分区,哪些区域中会存在GC
9:学习了JVM对你使用JAVA有什么影响或者是作用
10:在学习和项目中经常使用那些算法,有没有使用过优化算法

一面-2020/3/15-牛客网

项目方面

问了项目相关的,如何定义接口规范啊,如何做项目架构实现(SpringIOC,SpringMVC的自实现),业务(也就是CRUD,没啥难度),讲了LRU缓存的实现。项目大概15分钟左右。

基础方面

1、JVM内存模型(运行数据区的各种区域,以及功能(栈帧里面的那些也讲了)),然后讲到GC,GC算法,堆的分布(老年代,新生代,以及它们的分配,垃圾回收算法的选择)

2、补充问到:当eden区不断增大的情况下,survivor区不断减小会导致什么情况?

3、InnoDB存储引擎(从InnoDB的特性出发,行锁,全文索引,聚蔟索引,必须含有主键(没有主键怎么办,如何选择),为什么是B+树,而不是B树,而不是红黑树,磁盘IO,以及B+树和B树的区别)

4、然后就是InnoDB的MVVC实现(版本号如何进行各种数据库操作)。

5、类加载机制(从类加载,验证,准备,解析,初始化,使用,卸载角度讲述,类加载讲类加载器(三种,如何定义用户加载器),然后就是各个阶段做了什么)

6、线程池,刚开始没听清楚,以为是原生实现线程池,后面才知道讲的是TheadPoolExecutor,然后就是讲参数,讲流程,讲拒绝策略。

7、ThreadLocal,讲了底层实现,讲了ThreadLocal的目的,解决了什么问题。后面的ThreadLocal的key是弱引用(没答出来,确实没注意),然后就是ThreadLocal在线程池里面使用会怎么样。

8、冒泡算法

9、TCP 为什么三次连接,TCP拥塞控制(慢开始,拥塞避免,快重传,快恢复,里面的窗口变量)和流程控制

10、就是各种奖项的问,做了什么。

11、补充下,还问了一些JUC的一些东西,CountDownLatch,Semaphore,CyclicBarrier

所有面试题持续更新+答案整理见这里:
java面试题及答案2020持续整理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值