Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >蚂蚁金服面经(3+4)

蚂蚁金服面经(3+4)

作者头像
牛客网
发布于 2018-08-10 08:44:37
发布于 2018-08-10 08:44:37
7110
举报
文章被收录于专栏:牛客网牛客网

【每日一语】我和这个世界不熟。这并非是我撕裂的原因。我依旧有很多完整,至少我要成全我自己。──北岛《我和这个世界不熟》

之前面了阿里中间件的提前批,不过没走流程。同期还面了蚂蚁中间件的两轮面试,被告知不走流程就不能面了,所以也没面完。

后来走了蚂蚁金服财富事业群这边的流程。前几天刚刚面完HR。

正好今天分享一下面经,回馈下牛客,大家可以多交流交流哈。

蚂蚁中间件(面了三次,两次一面,一次二面)  

蚂蚁金服中间件一号机  

一面:  

自我介绍

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

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

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

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

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

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

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

还问了concurrenthashmap1.8的改动。

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

8http1.0和2.0的区别。

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

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

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

说下BIO和NIO的区别把。

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

10说一下NIO的类库或框架

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

1 channelhandler负责请求就绪时的io响应。  

2 bytebuf支持零拷贝,通过逻辑buff合并实际buff。  

3 eventloop线程组负责实现线程池,任务队列里就是io请求任务,类似线程池调度执行。  

4 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个华科的,校友多多。

16Spring和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+2+交叉+HR)  

跟这边的部门主管说了一下之前面试的情况,然后他帮忙催了下进度。

一面:  

1 亿级ip地址过滤

2 排序算法和适用场景

3 数据库的事务有什么用

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

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

6 联合索引的匹配原则

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

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

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

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

11 你的职业规划

12 没了。

二面:  

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

三面:  

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 为什么想来我们部门

10 巴拉巴拉

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.08.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
HTML入门完全指南:从零开始构建你的第一个网页
每个网页都会有一个基本的结构标签(也称为骨架标签),页面内容也是在这些基本标签上写
IsLand1314
2025/03/08
7060
HTML入门完全指南:从零开始构建你的第一个网页
HTML笔记
HTML:Hyper Text Markup Language(超级文本标签语言)
闲花手札
2021/08/24
2.5K0
前端 — HTML
标签之间的结构关系, 构成了一个 DOM 树 D: Document 文档 O: Object 对象 M: Model 模型
全栈程序员站长
2022/08/22
2.7K0
前端 — HTML
HTML标签学习
h1到h6:会将其中的数据加粗显示,并且显示依次减弱,标题标签自带换行功能(块级标签)
全栈程序员站长
2021/04/21
1.1K0
HTML标签学习
杨校老师课堂之WEB前端HTML
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kese7952/article/details/89609969
杨校
2019/05/10
9310
杨校老师课堂之WEB前端HTML
Web前端教程-HTML及标签的使用
1. HTML简介 HTML由标签和属性构成的 1.1. HTML文档基本结构 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>网页标题</title> </head> <body> 网页显示内容 </body> </html> 2. 标签 学习html语言就是学习标签的用法 2.1. 标签语法 长在尖号后面第一个单词就是标签(标记,元素) 一组告诉浏览器如何处理一些内容的标签,通过关键字来识别, <body>, <title>, <m
用户1289394
2021/10/26
1.1K0
【Web前端】HTML 列表和容器元素
HTML 提供了多种方式来组织和展示内容,其中包括无序列表、有序列表、分区元素 ​​<div>​​ 和内联元素 ​​<span>​​、以及如何使用 ​​<div>​​​ 进行布局和表格布局。
一条晒干的咸鱼
2024/11/19
2150
【Web前端】HTML 列表和容器元素
javaWeb技术第一篇之HTML
<font color="设置颜色" size="设置大小" face="设置字体">
海仔
2019/08/05
6210
前端入门学习--HTML
写在前面。 前端知识真的还是比较有用的。一直要把前端的学习提上日程,因为各种事情各种拖延,写爬虫的时候也是捎带学习前端的东西,还是需要系统的了解下。 All from W3school.
一点儿也不潇洒
2018/08/07
13.5K0
HTML 基础
超文本标记语言 (HTML, HyperText Markup Language) ,是构成网页的最基础的内容,用来创建并以可视化方式来呈现网页,它确定了一个网页的内容而不是功能
Nian糕
2018/08/21
4K0
HTML 基础
Web前端基础(02)
设置背景图片 background-image: url(…/imgs/1.jpg);
海拥
2021/08/23
1.3K0
【Python3】HTML基础
BS(Browser-Server)模式:顾名思义为浏览器-服务器的意思,对比的话类似我们PC上面浏览器使用的产品即为BS模式产品,例如google doc、各类网站等。
py3study
2020/01/06
9100
Web前端开发HTML笔记
HTML称为超文本标记语言,CSS全称层叠样式,CSS可以让简单的HTML页面变得漂亮起来,通常会将HTML与CSS结合起来使用.
王 瑞
2022/12/28
2.5K0
【一起来烧脑】一步学会HTML体系
HTML是用来描述网页的一种语言 叫超文本标记语言 HTML不是一种编程语言,而是一种标记语言 一套标记标签
达达前端
2019/07/19
1.4K0
【一起来烧脑】一步学会HTML体系
html学习笔记(一)
单标签 <! Doctype html> 双标签 <html> </html> <head></head> <title></title>
Daotin
2018/08/31
8.5K0
html学习笔记(一)
前端之HTML内容
一、HTML介绍 1、Web服务本质   当我们在浏览器中输入一个url后打开一个页面这个过程实质是一个网络编程中的sockt服务端接受指令并发送指令的一个过程。本质顺序是: 浏览器发请求——>HTTP协议——>服务端接受请求——>服务端返回响应——>服务端把HTML文件内容发给浏览器——>浏览器渲染页面 import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen(5) while True: conn
新人小试
2018/04/12
2.6K0
【Web世界探险家】HTML5 探索与实践
学习任何一门语言,首先要掌握它的基本格式,就像写信需要符合书信的格式要求一样。学习 HTML ,同样需要掌握 HTML 的基本格式。
爱敲代码的小杨.
2024/05/07
1580
【Web世界探险家】HTML5 探索与实践
【云+社区年度征文】html基础语法总结
HTML(Hyper Text Mark-up Language超文本标记语言):不是编程语言,而是一种描述性的标记语言,用于描述网页中内容的显示方式,Web 浏览器读取HTML 文档,并以网页的形式显示出来,浏览器不会显示 HTML 标签,而是通过标签来解释网页的内容。
花狗Fdog
2020/12/17
1.4K0
【云+社区年度征文】html基础语法总结
html笔记
本文最后更新于2022年01月11日,已超过152天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
田小檬
2022/08/30
1.9K0
【FE前端学习】第二阶段任务-基础
1.需要熟练掌握HTML标签以及CSS各个常用属性。 2.掌握CSS3 常用属性 3.掌握jquery的基本用法,对于JS基本逻辑语句需要熟练掌握
饶文津
2020/06/02
5.3K0
相关推荐
HTML入门完全指南:从零开始构建你的第一个网页
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档