二年后端JAVA开发面经分享(较全面试大纲)

一、背景

    本人2018届本科计算机毕业,前面2家待的都是小公司(对于找工作来说可以说是十分不利的),技术水平一般,历经一个月大概面了大概10家公司,其中大中小厂都有(包含蚂蚁、阿里新零售和字节。PS:无奈水平不济深度和算法都太薄弱都挂了)。最终去了个中厂公司,在此记录下面试中碰到的知识点,以便后续复习总结使用,并分享给还在面试中有需要的小伙伴参考。

二、面试

 

JAVA基础相关

  • 重写和重载的区别?重写的话返回值可以变吗?
  • 什么时候需要重写hashCode和equals方法?如果不重写的话hashCode和equals比较的是什么值呢?hashCode一样equals一定一样吗?反过来呢?(频繁)
  • java8新特性有哪些了解吗?lambda原理是什么?那你知道steam流的工作机制吗?
  • 抽象类和接口的关系和区别,以及你在时间开发过程中是怎么使用到的?
  • 基本数据类型转换为String时你有几种方法,分别是什么?

 

集合相关

  • java里的集合有哪些?
  • arrayListLinkedList的内部数据结构了解吗?两则之间的区别和使用场景能说下吗?arrayList扩容流程说下?(频繁)
  • 你说arrayList用get方法查找时间复杂度是O(1),能说下为什么吗?
  • hashMap有了解吗?底层采用什么数据结构?1.8做了哪些优化?能说下调用put方法的大致流程吗?计算哈希时为什么要用key进行高16位异或运算?为什么说hashMap的容量总是2的倍数呢?什么时候节点会转化成红黑树?(频繁)
  • linkedHashMaphashMap有什么区别?链表的特点是什么?linkedHashMap里的元素能保证是有序的吗?(频繁)
  • ConcurrentHashMap有使用过吗?能说下1.8的时候他执行put方法的流程吗?什么时候进行锁优化呢?(频繁)
  • hashSetTreeSet有了解过吗?彼此的底层数据结构是怎样的?他是怎么判断去重的呢?(频繁)

 

并发相关

  • 线程池有使用过吗?
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值