阿里云 2022 暑期实习-Java 开发一面(简历评估面)面经

嗯...今年形势比较严峻,投递的比较晚了,记录一下面经吧(面试过程一个多小时)

基础知识

1. 自我介绍
2. 挑一个自己最熟悉的项目向他介绍(自己做的算法的)
3. 说一下你的模型的应用场景
4. 你说 Java 主要是靠自己学习的,大概从什么时候开始学习,怎么学习
5. 那问点虚拟机相关的知识。
6. 举个例子说明一下线程安全问题以及怎么解决。(说了volatile,synchronized,加锁)
7. synchronized 怎么实现的(就是获取监视器锁来说)
8. 加锁的话都有哪些?怎么操作(我说了reentrant锁 lock)
9.   synchronized 和 reentrant lock 的区别
10. reentrant lock底层实现(讲了AQS)
7. 死锁和死锁的解决办法
8. 类加载机制有了解吗?(五个阶段,挑加载过程具体说明)
9. 如果自己定义了一个string类,他会加载吗?为什么(双亲委派模型)
10. 双亲委派模型有什么好处?
11. 双亲委派模型可以被破坏吗?怎么破坏
12.  对 Java 当中的反射有了解吗?(简单说了一下)
13. 自己有用反射写过什么代码吗?(就说了获取类及其对应的方法啥的,不满意,应该要具体的场景)
14. 动态代理了解吗(不了解)
15.  问点多线程的东西。(有些具体连接的忘记了)如果自己有一个应用怎么去确定应该创建多少个线程合适(不会)
16. 阻塞队列了解吗?(说了一下三种阻塞队列)
17. 具体的阻塞队列有什么应用场景(就想到线程池,但是也不是他要求的意思)
18. 了解了,既然提到线程池,为什么要用线程池,有什么好处
19. 线程池的七个参数中核心线程数和最大线程数为什么要这么设置(答的不好)

20. 如果是自己有个应用如何去设置线程数(不会)
21. 能不能讲个具体的应用(没用过)就让我讲假如说是秒杀的场景,怎么利用已有的知识去设计(...没准备秒杀结果被问了,还是说了线程池的)
22. 像是库存这些怎么去保证呢?(没考虑到数据库哇,后面问了redis数据库的,我说不太了解,用的更多的是mysql)
23. 挑一个垃圾回收器讲讲(我说的g1,介绍了目标,特点和垃圾回收过程)
24. 为什么要这样动态地修改新生代老年代,有什么好处,按道理是会带来额外的开销。因为之前我们都是自己去设置堆内存去调参,他自己调整有什么好处吗?还是会有什么问题(感觉答的也不好,我是从实现延迟可控的高吞吐和根据收益进行回收来说的)

算法题

整数数组组成最小数(前面以为要具体的实现,想复杂了。最后用自定义排序了,下次应该自定义排序+快排)

面试官评价

基础掌握的不错,但是实践上不行

总结

很注重业务场景,面试官表示这体现你聪不聪明。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值