阿里面试三面止步

面的是阿里CBU部门

3.15 CBU一面(将近80分钟)

  • 项目方面
    问了项目相关的,如何定义接口规范啊,如何做项目架构实现(SpringIOC,SpringMVC的自实现),业务(也就是CRUD,没啥难度),讲了LRU缓存的实现。项目大概15分钟左右。
  • 基础方面
    1. JVM内存模型(运行数据区的各种区域,以及功能(栈帧里面的那些也讲了)),然后讲到GC,GC算法,堆的分布(老年代,新生代,以及它们的分配,垃圾回收算法的选择)
      补充问到:当eden区不断增大的情况下,survivor区不断减小会导致什么情况?
    2. InnoDB存储引擎(从InnoDB的特性出发,行锁,全文索引,聚蔟索引,必须含有主键(没有主键怎么办,如何选择),为什么是B+树,而不是B树,而不是红黑树,磁盘IO,以及B+树和B树的区别),然后就是InnoDB的MVVC实现(版本号如何进行各种数据库操作)。
    3. 类加载机制(从类加载,验证,准备,解析,初始化,使用,卸载角度讲述,类加载讲类加载器(三种,如何定义用户加载器),然后就是各个阶段做了什么)
    4. 线程池,刚开始没听清楚,以为是原生实现线程池,后面才知道讲的是TheadPoolExecutor,然后就是讲参数,讲流程,讲拒绝策略。
    5. ThreadLocal,讲了底层实现,讲了ThreadLocal的目的,解决了什么问题。后面的ThreadLocal的key是弱引用(没答出来,确实没注意),然后就是ThreadLocal在线程池里面使用会怎么样。
    6. 冒泡算法
    7. TCP 为什么三次连接,TCP拥塞控制(慢开始,拥塞避免,快重传,快恢复,里面的窗口变量)和流程控制
    8. 就是各种奖项的问,做了什么。
    9. 补充下,还问了一些JUC的一些东西,CountDownLatch,Semaphore,CyclicBarrier

3.19 CBU二面(40分钟左右)

  • 项目方面
    就是问了下项目的实现,就不多说了
  • 基础方面
    1. Redis和Memcached的区别,我问面试官需不需要讲一下其他的东西(比如RDB,AOF的实现),他说不用,直接讲区别。我还想多说点拖点时间呢
    2. 类加载的双亲委派原则,解释就行,不用讲其他的
    3. 设计模式(单例模式,工厂模式,使用场景,单例模式的实现(4种))
    4. 设计原则(说了5大设计原则,忘了接口隔离原则),问了依赖倒置原则,里氏替换原则,合成复用原则,讲了下继承带来的问题,合成复用原则的使用场景。
    5. LRU缓存的设计,为什么采用数据存放点,为什么不使用Redis
    6. Redis的淘汰机制,为什么淘汰
    7. Redis的惰性删除,删除策略,为什么要用这个策略。
    8. Redis的分布式锁的实现,从mysql的唯一索引,到setnx,到expire到set指令原子性到redlock等。讲了Redis分布式锁可能解决不了的问题。
    9. 秒杀场景的设计(高并发问题,超卖问题,如何解决,缓存击穿如何解决,BloomFilter,BloomFilter的底层实现,容量和容错率。如何说了下前端方面怎么做。)
    10. 就是问了下最近面了几个部门,我说还有一个,然后就给过了。

3.30 CBU三面 (51分钟)

  • 项目方面
    问了自己实现的SpringIOC的整个流程,直接细节到了代码,说了一遍没听清楚,然后又说了一遍。问了LRU缓存的设计,后面就是直接口述LRU缓存的实现(代码)。问了注解用代码是如何写的(我这记不清楚啊),然后就是问注解是如何自己解析的,我说可以通过Class对象,获取到注解信息,从而判断。
  • 基础方面
    1. 问了Redis的线程模型,单线程模式,怎么实现的,说了IO多路复用,然后就是epoll,然后介绍了IO多路复用模型的其他实现,对比,然后就是问我Redis的epoll实现,我这个好像有点懵。
    2. 线程的状态(NEW,RUNNABLE,BLOCKED,TIME_WAITING,WAITING)少了一种,然后就是BLOCKED 和 WAIT的区别
    3. 锁,我讲了synchronize,reentrantlock和锁升级的过程,从无锁状态到偏向锁到轻量级锁到重量级锁(markword,和cas操作替换线程id,然后问我cas是什么,我说比较和替换,Compare and swap,然后我说底层是通过硬件的cmpxchg命令保证的)。然后就是我们的ReentrantLock,将了AQS的底层(双向链表,Node节点(Share,Exclusive,waitStatus),state变量(对不同的实现,所代表的含义不同),然后就是acquire方法和release方法的流程。reentrantlock的公平和非公平(没说),好像是被打断了)
    4. 口述LRU算法的实现
    5. 类加载,class.forname 和 classloader的区别,双亲委派原则。被问到不使用双亲委派原则,如何自定义java.lang.Integer会怎么样(我自定义过 java.lang.Integer,使用直接抛出异常,说包违法)。可能还是不够深入。
    6. 就是问了自己的缺点和优点,和奖项的项目和做了什么
    7. 没有给反问的机会。

顺带说下笔试的情况

3.25笔试的,第一题采用回溯法,AC10%,第二题没看。

最后我感觉三面确实状态不太好,有些紧张,回答的不是很好,感觉要挂,然后问了我那可爱的内推人,内推人说:简历放备选池了,我说不过的是因为基础不行吗,好像沟通不够顺畅。就这样阿里三面结束了。希望淘系用户增长可以捞我(一面过了)。在此攒攒rp,希望春招顺利鸭。

#阿里巴巴##Java工程师##实习##面经#
全部评论
太难了。。
2 回复 分享
发布于 2020-03-31 11:07
这都不过的话还有谁能过呢。。
1 回复 分享
发布于 2020-04-05 10:28
龟龟,这么强都不行
1 回复 分享
发布于 2020-04-04 10:48
老哥的项目是自己实现了spring框架嘛?实现到了什么程度呢?
1 回复 分享
发布于 2020-03-31 13:00
大佬加油
1 回复 分享
发布于 2020-03-31 11:15
请问楼主,面试的问题要回答上90%以上才有可能过吗
1 回复 分享
发布于 2020-03-31 11:08
大佬,你自己实现这些框架有什么参考资料吗?造轮子可太牛了
点赞 回复 分享
发布于 2022-06-27 01:28
问下老哥笔试第一题AC百分之十,第二题没写,也会给面试机会吗
点赞 回复 分享
发布于 2020-07-21 10:14
阿里如果流程没下文,欢迎+wx Hydrag,帮你们转流程再来面过!最好是前端同学啊!
点赞 回复 分享
发布于 2020-04-15 17:55
楼主很强了,这些问题问的都好深,我第一面就挂了,太菜了
点赞 回复 分享
发布于 2020-04-15 15:33
诶 阿里是可以多个部门同时面么
点赞 回复 分享
发布于 2020-04-10 09:34
我三面完后,就一直是面试中。感觉也是止步了
点赞 回复 分享
发布于 2020-04-07 11:24
tql,能到P9!楼主加油,应该不会挂吧
点赞 回复 分享
发布于 2020-04-05 21:28
这些问题我也就能回答一两个吧,所以是不可能投阿里的🤣
点赞 回复 分享
发布于 2020-04-04 22:02
大佬现在怎么样了?我也是三面,面试官感觉一般,所以也被放到备选池了😂,和大佬不同的是我是真的菜😐
点赞 回复 分享
发布于 2020-04-04 21:45
是不是因为笔试不太好,感觉楼主很强了
点赞 回复 分享
发布于 2020-04-04 11:24
太强了,我基本都不会😥
点赞 回复 分享
发布于 2020-04-03 20:28
楼主,你怎么知道自己挂的?
点赞 回复 分享
发布于 2020-04-03 08:50
老哥!欢迎投递淘系技术部!基础平台!电商最核心bu!我的淘宝 信息流 交互 购物车 下单 退款等业务!其他bu挂了 也可投递我们组!我们是交易部门!双十一峰值,自带百万qps!老板原话!!真的缺简历
点赞 回复 分享
发布于 2020-04-03 08:28
兄弟你三面是交叉面吗
点赞 回复 分享
发布于 2020-04-02 17:41

相关推荐

CARLJOSEPH...:宝宝你戾气太大了
点赞 评论 收藏
分享
06-20 19:40
中原工学院 Java
网络存储:十几天不会让你拉人办卡就结束了吧?
点赞 评论 收藏
分享
06-13 10:15
门头沟学院 Java
想去夏威夷的大西瓜在...:我也是27届,但是我现在研一下了啥项目都没有呀咋办,哎,简历不知道咋写
点赞 评论 收藏
分享
评论
25
212
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务