网易考拉海购Java后台开发实习-面经(已拿offer)

本文详细记录了一位应聘者在网易考拉海购Java后台开发实习的面试经历,包括一面和二面的提问内容,涉及ArrayList与LinkedList的区别、锁的概念、synchronized与ReentrantLock的对比、ThreadLocal的使用、JVM内存模型、AOP原理、线程同步方法、HashMap的工作机制、垃圾回收算法、以及登录验证和会话管理等方面的知识。面试者表现出扎实的理论基础和实践经验。
摘要由CSDN通过智能技术生成

一面(23min)

  • 自我介绍
  • 项目中最自豪的部分
    也没什么太自豪的,就是在移动端开发的时候不存在cookie和session,然后用redis存了一下验证码感觉还不错。
  • 讲一讲ArrayList和LinkedList

    ArrayList底层实现是数组,并且每次扩容扩容1.5倍,常用在查询较多的场景中。而LinkedList底层实现是链表常用在增删比较多的场景
  • 你说你对锁有了解,说一说你最熟悉的两个锁

    当时太紧张就随口说了两个,乐观锁,悲观锁。乐观锁:每次执行事务的时候都是先执行在检查是否有其他是否在执行。而悲观锁如行锁,表锁,都是先锁定再执行事务。通常在并发量比较大的情况下用悲观锁,并发量小的情况下用乐观锁
  • 说一下synchronied和ReentrantLock的区别

    synchronied是JVM级别的,而ReentrantLock是api级别的,JVM会对synchronied做出相应的优化,锁消除:当JVM判定该资源不会被其他线程争夺的时候就会消除该锁,还有锁自旋,自适应锁(面试官速度很快,还没等我来得及解释ReentrantLock就跳下一个问题了,也许是这个超底层的回答比较满意吧)
  • 讲一下ThreadLoacal吧
    ThreadLocal底层实现是一个Map结构的表,key是Thread.currentThread(),而Value则是我们想要保存的对象
  • 它(
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值