蚂蚁面试

电话一面

  • 自我介绍,及为什么读研等等。

  • JVM内存结构,垃圾回收。

  • Java并发

    • Java的锁有哪些
      参考答案:公平锁/非公平锁;是否可重入;独享锁/共享锁,读写锁ReentrantReadWriteLock则可以看成是独享锁和共享锁的组合;悲观锁/乐观锁(CAS)
    • synchronized与lock的区别
  • 架构及优化

    • 总体的思路
    • mysql主从和主备的区别。mysql的主要存储引擎及其区别。事务。
    • 数据库与缓存的一致性

电话二面

  • 自我介绍等。
  • 线程池的核心参数
  • 锁升级,轻量级锁。CAS怎么解决ABA问题。volatile。
  • JVM堆区结构。怎么调优。G1的优点。线上的OOM问题怎么排查。CPU load太高怎么排查,你的第一感觉是什么问题,答:死循环等代码问题。问:GC有没有可能?1
  • NIO2, 3,4
    一些关键知识点:
    BIO的数据读写必须阻塞在一个线程内等待其完成。
    IO多路复用:可以用一个线程处理多个网络连接
    Selector选择器:不再轮询通道,而是轮询事件。基于事件驱动机制。epoll。
    NIO中可以操作直接内存,也是比BIO性能好的一个原因。
    5中把一个IO操作分成两个步骤:发起IO请求和实际的IO操作,来区分是否阻塞,和同/异步。我觉得似乎可以帮助理解。
  • Netty 6
  • 分库分表
  • 分布式事务。TCC
  • 主键索引
  • 大数据产品熟悉吗?比如流计算,像Spark,Flink。
  • zookeeper选举过程7。用zk实现分布式锁
  • kafka吞吐比较高的原因。消息顺序性。
  • 秒杀

一些相关链接:

蚂蚁金服面试经验分享,阿里的offer真的不难
蚂蚁金服的一次面试经历(一面、二面)
蚂蚁金服社招笔试——根据需求实现一个转账接口


  1. 记一次jvm疯狂gc导致CPU飙高的问题解决 ↩︎

  2. JavaGuide之BIO,NIO,AIO总结.md ↩︎

  3. 《3.3.3 NIO网络编程》 ↩︎

  4. 我读过的最好的epoll讲解–转自”知乎“ ↩︎

  5. 关于JAVA NIO是同步非阻塞I/O的解释 ↩︎

  6. 拜托!面试请不要再问我 Netty 底层架构原理! ↩︎

  7. Zookeeper的Leader选举 ↩︎

猜你喜欢

转载自blog.csdn.net/qq_23204557/article/details/115052062