成功面试蚂蚁分享

成功面试蚂蚁分享

技术一面

  • 谈谈自己的项目;自己负责的有代表性的项目。讲讲设计、架构、技术栈等。
  • 如果你项目中用到了分布式队列,那就会问一些 Kafka 的底层实现。你可以根据自己的理解,说说你对 Kafka 的认识。
  • JVM 相关知识,包括垃圾回收算法、分代回收的原理,各种垃圾回收器。
  • HashMap 底层实现,红黑树。
  • 各种 Queue、Deque 的源码实现。
  • 锁相关,synchronized、ReentrantLock 和 AbstractQueuedSynchronizer 底层原理。
  • Mysql 事物隔离级别。
  • 问了一个算法题:多线程(使用线程池)按顺序打印 0-100;(至少3个线程交替按顺序打印)。关注我的公众号:Tommy学习录;里面有对应的答案。

技术二面

  • 谈谈自己的项目,说说你在其中负责的内容,以及里面哪些你觉得是否可以有提升、优化的部分。
  • Kafka 与 RabbitMQ 的区别;是否了解 RocketMQ,了解的话是否可以讲讲底层实现。 各在什么场景有用到。(感觉这个问题可以说好久,这个问题回答得好,基本后面感觉就随便问问了)
  • JVM 底层结构。
  • Java 锁机制。
  • 是否使用过 RPC 框架,能否说下 RPC 的实现原理;(建议看看 Netty 权威指南)。
  • 推荐相关知识,推荐系统架构,使用了哪些 NLP 相关算法,如何提高推荐系统的指标(由于我面的职位里面有后续涉及到推荐相关)。
  • 一个算法题,没有让编程,只让说说思路。对 n 个正整数排序, 每个数都小于 n,其中 n <= 10^7;输出:升序输出列表。(推荐看编程珠玑这本书,里面有对应的讲解,需要这本书电子档的,可以关注我的公众号:Tommy学习录,加入微信群,说出你的需求)

技术三面

技术终面,感觉大多都是思考性方面的问题,看平时你对项目是否有沉淀。

是否会对项目里面的一问题进行思考,然后去总结出解决方案来。(这个一定要好好说,也要好好总结沉淀)

然后会问问未来的职业规划,发展方向。

最后会问你有什么想问的么?

HR 面

HR 这面主要就是对你进行一个为人处事方面的考量,看看你是否适合团队。

  • 为什么从公司离职。
  • 职业发展。
  • 在之前工作中承担的职责。
  • 之前是否了解过蚂蚁;假如加入了蚂蚁,觉得会有哪些方面的不同呢?(我当时主要从工作上进行了一些说明,感觉是个开放性方面的问题)
  • 最后就是你还有什么需要问我的么?

Tips:如果 github 有开源项目,给开源社区贡献过 commit 的可以自己找好时间说出来。比如说运用到了自己的项目中,着重介绍下。

如果有小伙伴想加入蚂蚁共事的,可以将简历发到[email protected];可以帮忙内推。

你可能感兴趣的:(成功面试蚂蚁分享)