本人非985/211,蚂蚁真的不是很在乎学历!今天重温一下面试全过程;

银十期间蚂蚁面试机会(本人非985/211,蚂蚁真的不是很在乎学历!!!),有了一次社招机会,前后经历三关,受益匪浅,在此与各位朋友分享经历与心得。

蚂蚁金服Java研发一面(电话面,30分钟左右)

  1. 自我介绍,讲下最有难度的项目
  2. 对线程安全的理解
  3. 比如有一个局部变量i=1,两个线程同时执行,是否线程安全
  4. 比如再有一个共享变量,如何保证线程安全
  5. 说说ThreadLocal,底层如何实现
  6. hashmap实现原理
  7. volatile关键字,解决了什么问题
  8. 类加载机制
  9. JVM内存分布/内存结构?栈和堆的区别?堆的结构?为什么两个survivor区?
  10. 对象在堆内存创建的生命周期
  11. Spring的原理?AOP的实现?
  12. 面向对象的设计原则?OCP?
  13. 分布式系统如何保证数据一致性
  14. 有一个方法接收一个消息类型数据,通过if-else处理,如何优化
  15. 设计一个秒杀系统?考虑哪些问题?
  16. 有什么问题想问

面试官没有问得很深入,就是对于线程安全高并发比较看重是真的,整个面试过程还是聊得挺愉快,收获很大,蚂蚁的面试官还是很nice,很有耐心,引导性地提问。

蚂蚁金服Java研发二面(现场面,30分钟左右)

  1. 从http请求发出到响应的整个流程
  2. 追问如何http请求发送过来之后如何拦截,怎样配置拦截,具体怎样拦截(只知道tomcat拦截,在web.xml中配置,感觉是在问tomcat底层)
  3. 说说类加载机制,可以自定义类加载器吗,为什么要自定义类加载器
  4. 了解什么分布式数据一致性算法,具体说说
  5. MySQL事务隔离级别以及MVCC机制
  6. Redis缓存雪崩、缓存穿透以及如何解决?
  7. 再次问了设计秒杀系统
  8. 说说同步和异步,什么时候用同步,什么时候用异步
  9. 在linux上面用过什么调优工具,用过什么监控工具,怎样监控自己应用资源消耗情况
  10. 如果CPU占用资源很高有可能是什么问题,CPU占用资源低但是系统响应速度很慢可能是什么问题
  11. jvm怎样调优,堆内存栈空间设置多少合适..

蚂蚁金服Java研发三面(现场面,40分钟左右)

  1. 如果让你实现一个MQ,怎么样保证消息不丢失?
  2. 硬盘io速度会变慢,有什么解决办法吗?
  3. mysql的innodb索引数据结构为什么是b+树,用hash来实现可以吗?
  4. 分布式事务的实现?
  5. 如何解决redis和mysql数据一致性?
  6. 常见的MySQL主从同步方案有哪些?优劣势比较过?
  7. 这次问的是秒杀如何防止超卖?
  8. 最近有没有学习过新技术?
  9. 有什么想问我的?
  10. 三年到五年的职业规划?

总结

  1. java的基础知识点,主要围绕在集合类和多线程等:ArrayList、LinkedList、HashSet、HashpMap的数据结果,以及如何扩容、以及ConcurrentHashMap相关的多线程安全等。
  2. JVM的内存分配、几个常见的垃圾回收算法以及原理、还有对应的JVM优化参数需要牢记。
  3. 网络:TCP的三次握手等网络都必问,重点掌握网络协议。
  4. Redis:作为分布式缓存的主力,基本也是BAT每次必考,重点是Redis的数据结构、内存、算法、持久化,以及与别的缓存memcached的优劣势。
  5. 多线程:状态流转、多线程的实现,以及与高并发的区别等。
  6. Spring框架问得是最多的,BAT非常喜欢问,重点掌握。
  7. 最后就是分布式架构设计
  8. 常用的分布式架构设计方案:单点登录、分布式缓存、存储、消息的选型,还有就是数据库端的优化方案(需要提前了解)。
  9. 最好能提前了解深入一个类似秒杀这样的项目,如果面试官问到类似的项目,你能把设计思路讲出来,这对你的面试结果是很大的加分项。

以上是Java面试1—到5年以上开发必问到的面试问点,也都是一线互联网公司Java面试必备技能,下面是参照阿里年薪50W所需具备的技能图,大家可以参考下!

同时针对这12个技能,我在这整理了一份Java架构进阶面试专题PDF文档(含450题解析,包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发,设计模式,MySQL等知识点解析,内容丰富,图文结合!)

这份专题文档是免费分享的,

需要获取得话麻烦一键三连之后添加即可免费获取到哦!

 

 

同时还有一些关于Java面试的视频解析和架构学习笔记图分享

 

全部评论

相关推荐

bg双非本科,方向是嵌入式。这次秋招一共拿到了 8 个 offer,最高年包 40w,中间也有一段在海康的实习经历,还有几次国家级竞赛。写这篇不是想证明什么,只是想把自己走过的这条路,尽量讲清楚一点,给同样背景的人一个参考。一、我一开始也很迷茫刚决定走嵌入式的时候,其实并没有一个特别清晰的规划。网上的信息很零散,有人说一定要懂底层,有人说项目更重要,也有人建议直接转方向。很多时候都是在怀疑:1.自己这种背景到底有没有机会2.现在学的东西到底有没有用3.是不是已经开始晚了这些问题,我当时一个都没答案。二、现在回头看,我主要做对了这几件事第一,方向尽早确定,但不把自己锁死。我比较早就确定了嵌入式这个大方向,但具体做哪一块,是在项目、竞赛和实习中慢慢调整的,而不是一开始就给自己下结论。第二,用项目和竞赛去“证明能力”,而不是堆技术名词。我不会刻意追求学得多全面,而是确保自己参与的每个项目,都能讲清楚:我负责了什么、遇到了什么问题、最后是怎么解决的。第三,尽早接触真实的工程环境。在海康实习的那段时间,对我触动挺大的。我开始意识到,企业更看重的是代码结构、逻辑清晰度,以及你能不能把事情说清楚,而不只是会不会某个知识点。第四,把秋招当成一个需要长期迭代的过程。简历不是一次写完的,面试表现也不是一次就到位的。我会在每次面试后复盘哪些问题没答好,再针对性补。三、我踩过的一些坑现在看也挺典型的:1.一开始在底层细节上纠结太久,投入产出比不高2.做过项目,但前期不会总结,导致面试表达吃亏3.早期有点害怕面试,准备不充分就去投这些弯路走过之后,才慢慢找到节奏。四、给和我背景相似的人一点建议如果你也是双非,准备走嵌入式,我觉得有几件事挺重要的:1.不用等“准备得差不多了”再投2.项目一定要能讲清楚,而不是做完就算3.不要只盯着技术,多关注表达和逻辑很多时候,差的不是能力,而是呈现方式。五、写在最后这篇总结不是标准答案,只是我个人的一次复盘。后面我会陆续把自己在嵌入式学习、竞赛、实习和秋招中的一些真实经验拆开来讲,希望能对后来的人有点帮助。如果你正好也在这条路上,希望你能少走一点弯路。
x_y_z1:蹲个后续
点赞 评论 收藏
分享
七牛云头号黑子:人家是过度包装被看出来没过简历,你是包都不包啊兄弟
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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