微信公众号:路人zhang
扫码关注微信公众号

回复“面试手册”,获取本站PDF版

回复“简历”,获取高质量简历模板

回复“加群”,加入程序员交流群

回复“电子书”,获取程序员类电子书

当前位置: 大厂面经 > Java > 阿里巴巴 > 阿里巴巴面经(55)
  • 实习和项目难点
  • Quartz框架包含哪些部分?如何把定时任务组织调度起来?
  • 项目:master节点把工作流进行拆分,worker执行,那么worker上的Task是并行还是串行的?
  • 项目:分布式锁起什么作用?
  • 项目:master和worker之间传递用的是消息队列的话,可以保证消息投递成功,为什么要用分布式锁?
  • worker把任务执行完之后是否需要一个merge汇总的过程?(需要,于数据库交互职责只在master上)
  • 滴滴工作经历,分单过程涉及到的算法,介绍一下引擎的架构
  • Java和Golang是自学的还是在学校系统学的?
  • Golang有什么实践吗?
  • 数据结构:设计一个栈,有一个方法可以获取栈道最大值(两个栈来模拟,可以参考,开始说用一个值记录,面试官说出栈的时候没法更新,因为如果出栈道时候是最大值,但是没法找到次大值。然后想到做过一道leetcode是最小栈,利用一个我们可以在每个元素 a 入栈时把当前栈的最小值 m 存储起来。在这之后无论何时,如果栈顶元素是 a,我们就可以直接返回存储的最小值 m)
  • 如何判断链表是否有环(快慢指针)
  • 有一个大文件,文件里面都是数字,无法全部加载到内存中,如何查找出现次数最多的数字?
  • 描述一下ConcurrentHashMap(1.7的Segment分段锁和HashEnrty数组,1.8Node数组+链表+红黑树,使用CAS+synchroinized,锁的粒度不同)
  • 描述一下锁粒度?1.8锁住的是什么内容?(1.8将锁的级别控制在了更细粒度的哈希桶数组元素级别,也就是说只需要,大大提高了并发度。)
  • 锁住整个链表和只锁住链表的头,会在什么场景下有区别?(不知道,感觉是插入或者删除的时候,锁的范围不一样)
  • HashMap原本是链表,为什么后来转成红黑树(红黑树虽然时间复杂度低,但是在节点少的时候,链表查找更快。在节点太多的时候,红黑树占空间大这一劣势不太明显的时候,才会舍弃链表,使用红黑树。也就是说是为了查询效率)
  • TCP和UDP是哪一层的?
  • TCP中的拥塞控制是什么样的?(慢启动,拥塞避免,快重传和快恢复)
  • TCP中的keep alive是什么概念?(长链接)
  • TCP长连接和短链接的区别是什么?
  • TCP长链接建立之后,如何确定什么时候需要断开链接?有没有心跳机制保持连接?
  • 连接断开是客户端主动断开还是服务端端开
  • 数据库中ACID是什么概念(原子性、一致性、隔离性、持久性,解释一下含义)
  • 有没有用过数据库中的锁?用过那种类型的锁?
  • 数据库中的行锁在使用时有没有可能造成死锁?(不知道,面试官说是可能造成死锁的,因为行级锁是锁在索引上的,有多个索引的话会存在先后顺序的问题)
  • 描述一下Java的内存模型?(面试官想问的是Java内存区域)
  • Java中的常量放在哪个内存区域?
  • 面试官提示这个常量可能是int,也可能是string(String的话存在字符串常量池)
  • 一个类似秒杀系统的场景:一万人人抢红包,不能超卖,并发有哪些写法?(面试官提示了一个CountDownLatch) Spring能不能解决循环依赖问题?(老八股了,天天被问)
  • Redis内存淘汰的策略?
  • Redis高可用模式有哪几种?(主从、哨兵和集群)
  • 描述一下集群模式的典型架构?
  • 集群模式下一个数据存了几个副本?
  • Kafka是你自己部署的吗?Kafka包含哪些组件?
  • 一个Topic分几个队列,在多个blocker上是怎么分布的
  • 了解流计算中的背压(back pressure)吗?(不知道)
  • Linux:怎么查IO的流量?(【sar -n DEV 1】、也可以使用ifstat、nload、iptraf命令)
  • 面试官的建议:写在简历里的技术细节要自己组织好语言,有条理简洁的描述出来,让别人能听懂。

本站链接:https://www.mianshi.online如需勘误,请联系微信:lurenzhang888


点击面试手册,获取本站面试手册PDF完整版