大学刚毕业就拿到了阿里的实习offer,附上我的上岸经验希望帮助到大家!

本文作者分享了自己从大学毕业后拿到阿里实习offer的全过程,包括简历面、技术面、交叉面和HR面的详细面试经历。涉及到的面试内容涵盖Java基础、JVM、集合、多线程、数据库、Spring框架、项目经验等,还提及了面试准备和对未来规划的思考。
摘要由CSDN通过智能技术生成

前言

我最初是投的阿里的某部门,在10月18号之前提前批面了四次,貌似是那个部门的好几个团队都来面我,所以导致最后只算过了两面.
10月18号之后进入系统,参加了10月23号的笔试,结果是1AC,另一题由于看错题目只过了0.1,然后过了几天阿里的HR打来电话约了交叉面,
交叉面是一个p9的大佬,先让我准备一段最能体现我编程能力的代码,然后面试问题主要就是根据这个代码来(我把我在学校做的一个分布式的项目中的一部分拿出来讲了),
然后10月31号面完HR面
在11月初收到了offer!

简历面

  • 简历面是一个晚上突如其来的电话面试。

  • 论文是什么方向?

  • 本科大三未写论文

  • Java有学过专业的课程吗?
    学过

  • 有了解过JVM相关的问题吗?能大概介绍一下吗?
    讲了一下类加载机制、内存结构和GC算法

  • 各个垃圾回收器有什么区别?

  • 什么情况下会Stop The World?
    各个垃圾回收器STW的时机不完全相同,需分别讨论。

  • 什么情况下用G1?
    实时性要求高

  • G1和CMS有什么区别?
    GC算法不同,G1为标记-整理、CMS为标记-清除,以及内存结构不同

  • 对Java的集合了解吗?知道底层是怎么实现的吗?
    讲了一下ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、LinkedHashMap、HashSet的实现原理

  • Tip:Java集合几乎是面试必考题,尤其是HashMap和ConcurrentHashMap请务必深入理解其用途和实现原理,这两个集合在Java 7及以前和Java 8及以后的实现原理是不一样的,尽可能都了解一下

  • 哪些集合可以存放null?
    上述集合除了Hashtable和ConcurrentHashMap都可以。

  • 哪些集合可以存放重复的元素?
    Set不能重复,Map的key不能重复。

  • Java多线程中一般使用哪些锁?
    讲了ReentrantLock和synchronized关键字的用法和实现原理

  • synchronized关键字可以加在static方法上吗?锁的是什么?
    可以,锁的是Class对象

  • synchronized关键字加在非static方法上时锁的是什么?
    锁的是类的实例

  • ReentrantLock的特点和使用方法?
    讲了“可重入”的概念及实现方式以及lock、tryLock、unlock等基本的方法,以及使用这些方法实现一个简单的自旋锁的原理
    Tip:ConcurrentHashMap在Java 7及以前使用的是可重入锁,不妨了解一下其如何使用可重入锁来实现线程安全
    线程之间共享哪些内容?
    不共享JVM调用栈、本地调用栈和程序计数器

  • 如何访问这些共享的内容?
    先访问CPU缓存,再访问Java内存,会有缓存一致性问题,可以使用volatile关键字
    volatile和synchronized的区别?
    一个保证缓存一致性

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值