阿里蚂蚁金服JAVA后台面经

蚂蚁金服JAVA面经

目前经历了两轮面试,一场电面,一场线上笔试,明天准备第三场面试,上来给大家分享面经,求明天人品爆发。

  • 第一轮
    面试官没有征兆的直接打电话过来,在街边面试。问的问题很仔细,有关Java,分布式,算法等几方面。
    java基础 JVM模型,答stack 区, heap 区 有什么区别,新生代 老生代, 垃圾回收算法,G2,parallel 回收, 线性回收,还有JDK11的ZGC。
    Java 线程 Java 有什么锁类型?答: 自旋锁,读写锁,CAS操作,CAS的ABA问题,锁膨胀问题。
    分布式系统 微服务架构下,如果有一个订单系统,一个库存系统,怎么保证事务?答: 1 如果是Mysql类型的,利用XA接口,java使用JTA事务。2 可以使用第三方协调者,采用二阶段提交的方法去解决分布式事务, 协调者先发信息给两个数据库,叫他们锁定资源,进行本地事务操作,发送结果回协调者,如果都OK,则commit,如果不行,就回滚。 追问,二阶段提交有什么缺点? 答:效率不够高,因为在资源锁定的时候,订单系统不能接受其他请求,业界采用三阶段提交。
    讲解Raft算法 有三个角色,follower,candidate,leader。Raft最多能容忍(n-1)/2 的错误,假设系统有三个节点,A B C 一开始都是follower的状态,每一个节点都会倒计时,当倒计时完,就给各个节点发送 信号,争取当 leader。假设A节点最快完成,成为了leader,剩余两个节点就会变成Follower状态,从leader节点读取log文件。
    电梯调度算法 如果设计一个算法,如何让用户可以顺利坐到电梯。答:这道题答的不是很好,因为在街上,没有纸笔,而且之前一直没有复习过算法类的题目。直接答,首先判断用户按 上下 按钮的时间,分成两个队列,按时间顺序排列。再将可用的电梯分成两组,一个是up组,一个是down组,up处理上升的电梯,down处理下降的电梯。不知道有没有答对,但是感觉面试官看重的是思路。
    项目经历讲了一下之前做的项目, 一面终。

二面在半个月后来了。

  • 线上笔试
    第一道 两个线程分别打印 1- 100,A 打印偶数, B打印奇数。
    第二道 最长递增子序列的变形,用了暴力法, o(n2),面试官说不行,我说忘记动态规划怎么写了,但是有大概的思路,说了一下。
三面 一个星期后来,

更新
二面过后一个星期,三面来了。

因为简历上,写了一点区块链的经历,三面面试官是做区块链方向的。中午一点面试到一点四十,在面试过程中,主要是项目讲解,挺细节的,对项目熟悉就行了,最后问了项目缺点在哪,怎么提高之类的。最后面试官说会将情况返回给主面试官,等主面试官决定接下来的流程。
三面过后,下午三点的时候,主面试官打电话约晚上九点面试,从九点半面到十点半,整个过程很广。一开始自我介绍,对公司的了解,项目组的了解。技术主要是 基本的数据结构,Java hashmap JDK 1.8 什么时候会用红黑树,红黑树跟AVL区别,为什么hashmap 不安全。Spark DAG 调度过程,宽依赖窄依赖,Kafka 复制算法, 分组怎么确保有序,什么时候用kafka,Kafka跟RabbitMQ区别。算法题,从一亿个数取第K个大的数,这道题没有答好,面试官指出算法中存在的问题,感觉面试官主要看你思路。面试官问怎么写好一个方法,说了一堆设计方法,单元测试,压力测试,balabala。技术完以后,问怎么学习技术,怎么分配学习和生活的比例。最后问了技术中最自豪的一件事。

面完已经好累了,没有想结果怎样,直接睡了。

Good luck!

#面经##蚂蚁集团##Java工程师##秋招##阿里巴巴#
全部评论
点赞 回复 分享
发布于 2018-11-06 22:08
面试难度还好 分布式那块 三阶段提交业界也没人用的 都是用的最终一致性来解决的 阿里那边是用的tcc 
点赞 回复 分享
发布于 2018-11-07 10:25
好奇楼主这边 蚂蚁的面试提的问题是 你简历写到你会什么他问什么 还是随便由面试官发问呢
点赞 回复 分享
发布于 2018-11-07 10:27
楼主社招还是校招?
点赞 回复 分享
发布于 2018-11-12 18:42
跟阿里无缘,太难了
点赞 回复 分享
发布于 2018-11-13 13:07
楼主,你一面完过了半个月二面的吗,一面面试官有让你等通知吗?
点赞 回复 分享
发布于 2018-12-06 18:02
LZ挺强的,我连问题有的都没听过😂
点赞 回复 分享
发布于 2019-03-12 11:32

相关推荐

评论
点赞
172
分享
牛客网
牛客企业服务