蚂蚁金服中间件,一大波面经来袭!

https://mp.weixin.qq.com/s?__biz=MzIwMzY1OTU1NQ==&mid=2247484669&idx=1&sn=5b79f5c3a7c62323e36b72091c2df502&chksm=96cd44b1a1bacda7eeffd506293e6d59c4edd2cc6afe56c0addbd552c36a532594f4b1b56fdc&mpshare=1&scene=1&srcid=10163r1AeJLER205Fg8G29ct&key=087b79ad3c1c3979d966d90b1f2099167dbc361acfefe091b2e0065a849bbbf81faf06554cc9d80e9dcc81c4b56af3822153969c5277bc03e3a0722d9adb997982ab793e47076ff7de14c3b9ad202a2e&ascene=0&uin=MTA2NzUxMDAyNQ%3D%3D&devicetype=iMac+MacBookAir6%2C2+OSX+OSX+10.10.5+build(14F2511)&version=11020012&lang=zh_CN&pass_ticket=NKOOH07PkTOF951qDy4B3Lw7qqHzzY35y1dPWQP56ICdSnZ6tBfyKRtR6PKeE1%2FM

蚂蚁金服中间件一号机

一面:

自我介绍

1、Java中的多线程了解么,线程池的增长策略和拒绝策略了解么,说一下。

2、讲一下线程增加的过程和拒绝策略的执行。

3、讲了一下fixthreadpool的增长策略,然后几种拒绝策略。

4、高并发情况下,如何使用线程池,用哪个,问了一下线程结束要多久,是否在下一个线程结束前完成(我想的是cachethreadpool,其实思路错了)。

5、表示并发量比较大,所以我说可以考虑并发量是否大于队列长度加上最大线程数量和,如果不超过的话可以是用fixthreadpool。

6、并发juc了解么,有哪些线程安全的list。说了个copyonwritelist,想了半天说不出第二个了。尴尬,那就vector把,不是juc里的。

貌似并发包里确实没有其他list啊。

还问了concurrenthashmap1.8的改动。

7、HTTP协议了解么,和tcp有什么区别。

8、http1.0和2.0的区别。

答了TCP连接复用,加入ssl,以及压缩请求头。

其中哪个更新比较有意义,为什么。我说的是压缩请求头,这样可以优化HTTP服务的性能。

9、Java的网络编程,比如NIO和Socket了解么。

说下BIO和NIO的区别把。

我说了BIO的阻塞用法,以及NIO的IO多路复用用法,说了selector,seletedkey,channel等类的使用流程,以及单线程处理连接,多线程处理IO请求的好处。

10、说一下NIO的类库或框架

讲了netty,写过服务端和客户端的demo,没有在生产中实践。

  • channelhandler负责请求就绪时的io响应。
  • bytebuf支持零拷贝,通过逻辑buff合并实际buff。
  • eventloop线程组负责实现线程池,任务队列里就是io请求任务,类似线程池调度执行。
  • acceptor接收线程负责接收tcp请求,并且注册任务到队列里。

11、倒排索引了解么,我说不了解。

其实就是搜索引擎的基础索引,根据关键字到文档的映射关系建立索引,中文关键字可以使用中文分词,查询时通过关键字来定位索引,并且进行排序后得到文档结果集。

然后面试官说讲一下数据库把,说下sql优化的方式

我说的是MySQL,先讲了一下sql使用索引的优化,然后基于索引说了几条优化方案。

12、索引什么时候会失效变成全表扫描

说了联合索引的前缀匹配,跳跃索引,聚合函数,判空和<>这些情况。

13、分布式的paxos和raft算法了解么

了解过,但是讲不清楚。

paxos:多个proposer发请提议(每个提议有id+value),acceptor接受最新id的提议并把之前保留的提议返回。当超过半数的accetor返回某个提议时,此时要求value修改为propeser历史上最大值,propeser认为可以接受该提议,于是广播给每个acceptor,acceptor发现该提议和自己保存的一致,于是接受该提议并且learner同步该提议。

raft:raft要求每个节点有一个选主的时间间隔,每过一个时间间隔向master发送心跳包,当心跳失败,该节点重新发起选主,当过半节点响应时则该节点当选主机,广播状态,然后以后继续下一轮选主。

14、中间件知道哪些,阿里的dubbo,rocketmq的事务消息,问了TCC回答说这个之前没看明白。

说了mycat实现分表分库,消息队列kafka和rabbitmq等。

15、平时看什么书,怎么学习的。还跟我说他们部门3个华科的,校友多多。

16、Spring和Springmvc讲一下。讲了Spring的ioc和aop,Springmvc的基本架构,请求流程。

蚂蚁金服中间件二号机

一面:

1、 自我介绍

2、 讲一下ArrayList和linkedlist的区别,ArrayList的扩容方式,扩容时机。

3、 hashmap的实现。

4、 NIO了解么,讲一下和BIO的区别,AIO呢。阻塞,非阻塞,异步。具体。

5、 你说了解分布式服务,那么你怎么理解分布式服务。

6、 你说了解Tomcat的基本原理,了解的是哪一部分,基本架构,connector和container

7、 你在项目中怎么用到并发的

8、 docker和虚拟机讲一下。

9、 有啥想问的

蚂蚁金服中间件二面

1、 项目

2、 说一下Spring源码把,它的架构,流程。

3、 Spring的bean如果要在实例化过程中修改其某一个成员变量,应该怎么做呢。不通过构造方法,并且AOP也并不能实现。

4、 Tomcat的类加载器了解么,回答不了解只了解Java的类加载器。

5、 自定义类加载器怎么实现,其中哪个方法走双亲委派模型,哪个不走,不走的话怎么加载类(实现findclass方法,一般用defineclass加载外部类),如何才能不走双亲委派。(重写loadclass方法)

6、 布隆过滤器了解么,讲了ip地址过滤的布隆过滤器实现。

7、 听说你项目用过docker,讲一下docker的实现原理,说了虚拟机一般要对内核进行虚拟化,docker则用cgroup和namespace分别进行硬件和命名空间的隔离。

8、 项目中遇到的最大挑战。

9、 项目中学到最多的东西

10、 有什么想问

蚂蚁财富事业部

一面:

1、 亿级ip地址过滤

2、 排序算法和适用场景

3、 数据库的事务有什么用

4、 数据库的悲观锁和乐观锁

5、 数据的索引有什么用,怎么实现

6、 联合索引的匹配原则

7、 数据库万级变成亿级,怎么处理。分库分表,分片规则hash和取余数。使用mycat中间件实现。

8、 redis这种nosql和mysql有什么区别,讲了一遍redis

9、 Spring了解不,用到了哪些设计模式,说了四个,单例,工厂,代理,观察者,模板其实也算。

10、 web请求的过程,讲了浏览器到http服务器的过程,再讲了mvc的请求处理过程。

11、 你的职业规划

二面:

没有二面,好像说是跳过了一轮,直接技术主管面。

三面:

1、 项目中的多线程,为什么用chm,还有什么可以避免并发问题。

2、 平时在看什么,写什么博客,我说分布式,关注什么内容,大后端,Hadoop生态。

3、 dubbo了解么

4、 dubbo的基本架构,几个组件说一下

5、 服务生产者和消费者怎么进行rpc调用

6、 怎么进行服务注册发现 zk实现具体说说

7、 dubbo的负载均衡怎么做,讲一下具体代码实现。

8、 dubbo的服务容错怎么做,怎么知道服务器宕机了 zk的心跳机制维持服务器连接

9、 好了我要问的差不多啦。

交叉面:

隔壁部门的技术主管,问了一道算法题。。就没问别的了。。我也是很醉。。。

题目是链表的排序,扯了4、5种方案,转成数组,直接排序,拆分再排序,顺序连接等等。。然后我表示不能再优化了。他就说没别的问题了。。。有点吃惊。

HR面:

1、 兴趣爱好

2、 三年到五年的职业规划

3、 意向公司和城市

4、 实习经历和收获

5、 实习中最大的困难

6、 为什么换公司,为什么拒绝菜鸟实习offer

7、 你的缺点和优点

8、 你觉得你比其他人优秀的地方说三个

9、 为什么想来我们部门

原文地址:https://www.cnblogs.com/silyvin/p/10223910.html

时间: 2024-08-01 20:00:46

蚂蚁金服中间件,一大波面经来袭!的相关文章

蚂蚁金服十年自研分布式中间件,成就世界级新金融科技平台

中间件,是与操作系统和数据库并列的传统基础软件三驾马车之一,也是难度极高的软件工程.传统中间件的概念,诞生于上一个"分布式"计算的年代,也就是小规模局域网中的服务器/客户端计算模式,在操作系统之上.应用软件之下的"中间层"软件.早期中间件的出现,是为了解决日益复杂的PC服务器.网络甚至不同地理位置机房之间等异构硬件环境中,支撑应用软件的挑战.与操作系统和数据库不同,中间件并没有一个明确的定义,通常来说包括消息.数据.远程过程调用.对象请求代理.事务.构件等几个部分.

天下代码一大抄,整个案例的搬是什么鬼!蚂蚁金服?你大爷

写在开始 上班前的第一件事,就是码云看看有什么消息,回复下网友的问题.如果看到喜欢的项目会点进去瞅瞅,然后就开始一天的工作. 然而,这一天的工作并不开心,一个今日热门项目让自己很恼火,一开始感觉并没有什么,直到深入进去,才发现,居然这么赤裸裸的搬挪替换,这都不能算是抄袭! 前情回顾 事情要从一年前说起,闲来无事也给自己充充电,不都说人生苦短,要学 Python 嘛!于是乎就在码云拉了个项目,叫<从零学Python>,关注小柒公众号的朋友们肯定是知道的. 陆陆续续的也更新了不少学习案例,也为大家

厉害了,蚂蚁金服!创造了中国自己的数据库OceanBase

2008年,王坚从微软亚洲研究院常务副院长的位置上离职后,于当年9月加入了阿里巴巴集团担任首席架构师一职,负责集团技术架构以及基础技术平台建设.加入阿里没多久后,王坚就提出了"去IOE"的想法,即摆脱过去IT系统中对IBM小型机.Oracle数据库以及EMC存储的过度依赖. 2009年开始,阿里举全公司之力投入到云计算的研发和使用中,这可视为取代IOE之举.2010年,阳振坤加入了阿里,这位在1999年就成为北京大学首批长江学者.曾获得国家科技进步一等奖.先后担任北京大学计算机科学技术

蚂蚁金服互联网IT运维体系实践

摘要: 本文来自蚂蚁金服首席技术架构师,基础技术部负责人胡喜.从2010年支撑双十一最高交易峰值2万笔/分钟到2015年双十一的8.59万笔/秒,蚂蚁金服的技术架构和运维体系一直都在不断摸索和实践.本文就"互联网IT运维体系"这一主题,和朋友们分享蚂蚁金服在该领域的实践经验. 8月30-31日20:00-21:30,一场别开生面的技术大会-- "蚂蚁金服&阿里云在线金融技术峰会"将在线举办.本次将聚焦数据库.应用架构.移动开发.机器学习等热门领域,帮助金融业

2015年阿里巴巴蚂蚁金服校招JAVA研发工程师内推电话面试

没想到阿里校招如此之早,虽然早已进入复习备战状态,但还是感觉有些措手不及...找了个在蚂蚁金服做HR的同学帮忙了内推,然后在最近的几天匆匆忙忙地复习JAVA(之前都把精力放在了数据结构.算法等基础上了).上周五投递的简历,这周四就接到了面试电话,面试GG声音很有磁性,也比较温柔...一开始是自我介绍,妈的,好紧张,可能是好久没面试了,感觉中气不足.自我介绍犹如叙说自传,废话讲了一大推,看来最好还是事先准备好一段台词.然后问了参加过哪些社团活动,还是因为紧张竟然把电脑医院的经历给漏说了..不过这些

阿里最全面试100题:阿里天猫、蚂蚁金服、阿里巴巴面试题含答案

[阿里天猫.蚂蚁.钉钉面试题目] 1.微信红包怎么实现. 2.海量数据分析. 3.测试职位问的线程安全和非线程安全. 4.HTTP2.0.thrift. 5.面试电话沟通可能先让自我介绍. 6.分布式事务一致性. 7.nio的底层实现. 8.jvm基础是必问的,jvm GC原理,JVM怎么回收内存. 9.Java是什么. 10.API接口与SDI接口的区别(API是提供给别人的接口). 11.dubbo如何一条链接并发多个调用.Dubbo的原理,序列化相关问题. 12.用过哪些中间件. 13.做

蚂蚁金服 Service Mesh 实践探索

SOFAMesh是蚂蚁金服在ServiceMesh方向上的探索,下面是它高级技术专家敖小剑在QCon上海2018上的演讲. Service Mesh 是一个 基础设施层,用于处理服务间通讯.现代云原生应用有着复杂的服务拓扑,服务网格负责在这些拓扑中 实现请求的可靠传递. 在实践中,服务网格通常实现为一组 轻量级网络代理,它们与应用程序部署在一起,而 对应用程序透明. 加粗部分是重点: 基础设施层:这是 Service Mesh 的定位,今天内容的最后一个部分我会和大家详细展开这个话题: 服务间通

蚂蚁金服庆涛:OceanBase支撑2135亿成交额背后的技术原理

演讲嘉宾简介:梅庆(花名:庆涛) 现任蚂蚁金服 OceanBase 团队技术专家,曾经支持过阿里云数据库和天猫双 11 大促业务,在分布式数据库的开发和架构上有着丰富的经验.目前主要从事 OceanBase 对外输出的解决方案设计和技术推广工作. 本次直播视频精彩回顾,戳这里!以下内容根据演讲嘉宾视频分享以及PPT整理而成.本次的分享主要围绕以下三个方面: OceanBase基础概念 OceanBase分布式设计 OceanBase性能调优 一.OceanBase基础概念 集群OceanBase

蚂蚁金服分布式链路跟踪组件 SOFATracer 数据上报机制和源码分析 | 剖析

2019新春支付宝红包技术大揭秘在线峰会将于03-07日开始,点击这里报名届时即可参与大牛互动. SOFAScalable Open Financial Architecture 是蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践.SOFATracer 是一个用于分布式系统调用跟踪的组件,通过统一的 TraceId 将调用链路中的各种网络调用情况以日志的方式记录下来,以达到透视化网络调用的目的,这些链路数据可用于故障的快速发现,服务