Java蚂蚁金服面试
之前面了阿里中间件的提前批,不过没走流程。同期还面了蚂蚁中间件的两轮面试,被告知不走流程就不能面了,所以也没面完。
后来走了蚂蚁金服财富事业群这边的流程。前几天刚刚面完HR。
正好今天分享一下面经,大家可以多交流交流哈。
1:蚂蚁中间件(面了三次,两次一面,一次二面)
2:蚂蚁财富(1+2+交叉+HR)
1一面
蚂蚁金服中间件一号机
一面:
自我介绍
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 亿级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 巴拉巴拉
---------------------
作者:程序员江湖
来源:CSDN
原文:https://blog.csdn.net/a724888/article/details/82702438
版权声明:本文为博主原创文章,转载请附上博文链接!
Java蚂蚁金服面试相关推荐
- 大佬内推去蚂蚁金服面试,成功定级P6,分享我的6点面试总结(Java)
3月参加了美团/京东/蚂蚁金服Java岗的面试(内推),重点根据蚂蚁金服P6级面试来总结,蚂蚁金服面试一共参加了4面.面试归来,总结下阿里面试流程.面试过程.以及面试题目范畴.文末有阿里Java P6 ...
- 【高并发】关于乐观锁和悲观锁,蚂蚁金服面试官问了我这几个问题!!
写在前面 最近,一名读者去蚂蚁金服面试,面试官问了他关于乐观锁和悲观锁的问题,幸亏他看了我的[高并发专题]文章,结果是替这名读者高兴!现就部分面试题目总结成文,供小伙伴们参考. 小伙伴们可以关注 冰河 ...
- 软件测试外包到蚂蚁金服,2019蚂蚁金服面试经验(服务运营岗,测试开发工程师等)...
为了帮助职业圈网友能够及时了解蚂蚁金服的面试流程以及面试过程所涉及的面试问题,职业圈小编把2019最新蚂蚁金服面试经验编辑好,马上提供给大家,以便能够尽快帮助到有需要的人.文章中还为你提供蚂蚁金服面试 ...
- 2019蚂蚁金服面试总结(Java方向)
大家好,断更已久的我回来了 年初得蚂蚁垂青(本人非985/211,蚂蚁真的不是很在乎学历!!!),有了一次社招机会,前后经历三关,受益匪浅,在此与各位朋友分享经历与心得. 第一关:在线笔试 笔试题内容 ...
- 35K 成功入职:蚂蚁金服面试 Java 后端经历「含面试题 + 答案」
上个月 4 号通过阿里工作的学长进行内推,7 天简历评估,11 号接到电话面试,尽管猝不及防回答仓促,但好在前期准备充分,通过.3 天后进行现场面试,通知时间为早上 10 点.当日设了七点闹钟,结果五 ...
- 蚂蚁金服面试3+2次,最终有惊无险通过!
一般来说下半年的这段时间是大厂招聘.就业者求职跳槽的黄金时期,但今年因为疫情的原因,很多人的辞职计划被搁浅了下来. 但是也有一些小伙伴在这种困境下也拿到了一线互联网大厂的offer,比如我的一位同学, ...
- 蚂蚁金服面试经历(内含大量干货)
4号通过阿里工作的学长进行内推,7天简历评估,11号接到电话面试,尽管猝不及防回答仓促,但好在前期准备充分,通过.3天后进行现场面试,通知时间为早上10点.当日设了七点闹钟,结果五点五十三分惊醒后再无 ...
- 蚂蚁金服风控部怎么样_蚂蚁金服面试——风控策略
蚂蚁金服-风控策略专员/专家-安全管理部,第一次电话面试. 部门介绍 安全管理部下的风控团队,工作内容: 1 文本监控 2 用户行为监控 项目介绍 同义词挖掘项目的过程和思路. 是否有修改Word2V ...
- 蚂蚁金服面试经验分享
从7月分开始,打算找工作,一个偶然的机会,拉勾上一个蚂蚁金服的师兄找到我,说要内推,在此感谢姚师兄,然后就开始了蚂蚁金服的面试之旅.把简历发过去之后,就收到了邮件通知,10个工作日联系我,请耐心等待. ...
最新文章
- ionic实现下载文件并打开功能(file-transfer和file-opener2插件)
- 玩转Linux压缩及归档
- 线性表的各种基本操作
- Linux下C语言实现LCD屏幕截图
- mysql 终端 远程访问,通过终端连接到远程mysql
- 按摩椅浏览器测试浏览器可视窗口大小
- 小贝拉机器人是朋友_小朋友最爱的肉松美味来啦!咸香浓郁,肉松??控一定不要错过~...
- printf 重新实现put_Go 实现海量日志收集系统(四)
- SVM与feature
- nginx关闭favicon.ico 日志记录
- windows10pygame下载安装问题描述
- 宽带多拨-路由器设置
- Alpha 测试(α测试) Beta 测试(β测试)区别
- Loadrunner 报错: Error: The table 'E:\*性能测试脚本\login1\userName.dat' does not exist.
- [腾讯校招] 微信红包
- 浅谈Echarts3.0
- 学生上课睡觉班主任怎么处理_学生上课睡觉老师该怎么办:高级教师教你一招...
- 超详细的ROC曲线绘制教程
- Unity鼠标拖动物体、按下鼠标左键旋转观察物体、鼠标滚轮缩放视野
- java 多线程学习笔记(二) -- IO密集型任务