写点什么

蚂蚁金服实习三面,offer 已拿。我总结了所有面试题,其实也不过如此!!

发布于: 2021 年 03 月 18 日

蚂蚁金服一面:

一天下午杭州的电话,问有没有空,果断有空,虽然感觉略显紧张,有点懵逼。

面试的题目:

  • HashMap 和 Hashtable 的区别

  • 实现一个保证迭代顺序的 HashMap

  • 说一说排序算法,稳定性,复杂度

  • 说一说 GC

  • 可以保证的实习时长

  • 职业规划

整体来说,一面的基础性问题比较多,所以博主基本都答出来了,准备过还是有些用处的。所以一面完了感觉还不错,接着第二天下午就二面了。

蚂蚁金服二面

二面是我最慌的面试,因为二面是最关键的,是最大的主管面试,所以非常关键,整体来说,二面的节奏非常快,和一面完全不同,面试官很希望我言简意赅的说完答案,所以面的不算很好,当时完了又以为 GG 了,好在最后还是幸运的过了,面试问题如下:

  • 自我介绍。

  • JVM 如何加载一个类的过程,双亲委派模型中有哪些方法?

  • HashMap 如何实现的?

  • HashMap 和 Concurrent HashMap 区别, Concurrent HashMap 线程安全吗, Concurrent HashMap 如何保证 线程安全?

  • HashMap 和 HashTable 区别,HashTable 线程安全吗?

  • 进程间通信有哪几种方式?

  • JVM 分为哪些区,每一个区干吗的?

  • JVM 如何 GC,新生代,老年代,持久代,都存储哪些东西?

  • GC 用的引用可达性分析算法中,哪些对象可作为 GC Roots 对象?

  • 快速排序,过程,复杂度?

  • 什么是二叉平衡树,如何插入节点,删除节点,说出关键步骤。

  • TCP 如何保证可靠传输?三次握手过程?

  • TCP 和 UDP 区别?

  • 滑动窗口算法?

  • Linux 下如何进行进程调度的?

  • Linux 下你常用的命令有哪些?

  • 操作系统什么情况下会死锁?

  • 常用的 hash 算法有哪些?

  • 什么是一致性哈希?

  • 如何理解分布式锁?

  • 数据库中的范式有哪些?

  • 数据库中的索引的结构?什么情况下适合建索引?

  • Java 中的 NIO,BIO,AIO 分别是什么?

  • 用什么工具调试程序?JConsole,用过吗?

  • 现在 JVM 中有一个线程挂起了,如何用工具查出原因?

  • 线程同步与阻塞的关系?同步一定阻塞吗?阻塞一定同步吗?

  • 同步和异步有什么区别?

  • 线程池用过吗?

  • 如何创建单例模式?说了双重检查,他说不是线程安全的。如何高效的创建一个线程安全的单例?

  • concurrent 包下面,都用过什么?

  • 常用的数据库有哪些?redis 用过吗?

  • 了解 hadoop 吗?说说 hadoop 的组件有哪些?hdfs,hive,hbase,zookeeper。说下 mapreduce 编程模型。

  • 你知道的开源协议有哪些?

  • 你知道的开源软件有哪些?

  • 你最近在看的书有哪些?

  • 你有什么问题要问我吗?

  • 了解哪些设计模式?说说都用过哪些设计模式

  • 如何判断一个单链表是否有环?

  • 操作系统如何进行分页调度?

  • 匿名内部类是什么?如何访问在其外面定义的变量?

二面面试官问的很急,我答的也快,所以有两个问题答的不好,但是面试官让我觉得有一种肃然起敬的感觉,因为他说话比较快,但是都能说到点子上,最关键的说的话非常让人容易接受。

二面过了,当天晚上我就接到了三面的电话(阿里的效率真的让我瞠目结舌)

蚂蚁金服三面

三面已经是交叉面试了,基本都围绕我的项目展开,我经过前面几次的面试之后,这个时候已经拥有了很高的面试经验值了,所以三面的时候我一点不慌了,回答问题非常稳重,三面的问题如下:

  • 自我介绍,做过什么项目。

  • java 虚拟机的区域如何划分,每一个区的动能,这一块自由发挥。

  • 双亲委派模型中,从顶层到底层,都是哪些类加载器,分别加载哪些类?

  • 有没有可能父类加载器和子类加载器,加载同一个类?如果加载同一个类,该使用哪一个类?

  • HashMap 的结构,get(),put()是如何实现的?HashMap 有哪些问题?

  • ConcurrentHashMap 的 get(),put(),又是如何实现的?ConcurrentHashMap 有哪些问题? ConcurrentHashMap 的锁是读锁还是写锁?

  • HashMap 与 HashTable 的区别

  • sleep()和 wait()分别是哪个类的方法,有什么区别?synchronized 底层如何实现的?用在代码块和方法上有什么区别?

  • 什么是线程池?如果让你设计一个动态大小的线程池,如何设计,应该有哪些方法?

  • 什么是死锁?JVM 线程死锁,你该如何判断是因为什么?如果用 VisualVM,dump 线程信息出来,会有哪些信息?这一块问的很多....问的我懵了. 因为并没有实际操作过 = =

  • 查看 jvm 虚拟机里面堆、线程的信息,你用过什么命令?我只用过图形界面 VisualVM。。。

  • 垃圾回收算法有哪些?CMS 知道吗?如何工作的?

  • 数据库中什么是事务?事务的隔离级别?事务的四个特性?什么是脏读,幻读,不可重复读?

  • 数据库索引的结构有哪些?我说 B 树和 B+树,他说只有这两个吗。我又说全文倒排索引。然后介绍 B+树的结构。

  • 数据库中的分页查询语句怎么写?

  • 什么是一致性哈希?用来解决什么问题?

  • Redis 的存储结构,或者说如何工作的,与 mysql 的区别?有哪些数据类型?

  • 项目中用到 redis,为什么选用 redis,了解其他 NoSQL 数据库吗?在你的项目中是如何运用 redis 的?key 是什么,value 是什么?

  • 归并排序的过程?时间复杂度?空间复杂度?

  • 你平常用什么排序?快速排序。说说在那些场景下适用,哪些场景下不适用。

  • 你在项目中做什么?因为我用到 Solr,他就问我 Solr 是如何工作的?

写在最后

以上就是我在蚂蚁金服的面试过程,为了这次面试,也收集了很多的面试题,反正我已经面过了,那就分享出来吧(文末获取)以下是部分面试题截图:



需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取


用户头像

微信:tkzl6666 添加获取你想要的Java资料 2019.01.29 加入

添加VX(tkzl6666 ) 获取大厂面试真题,面试复习资料,Java进阶资料,Java实战项目。

评论 (1 条评论)

发布
用户头像
蚂蚁金服实习三面,offer已拿。我总结了所有面试题,其实也不过如此!!
2021 年 03 月 18 日 14:57
回复
没有更多了
蚂蚁金服实习三面,offer已拿。我总结了所有面试题,其实也不过如此!!