视频面试蚂蚁金服,本以为石沉大海,没想到被直接录取了

当前环境,很多公司都采取了远程办公,远程面试。有一说一,第一次远程面试,还是比较紧张的。

蚂蚁金服面试(视频一面)

Java容器有哪些?哪些是同步容器,哪些是并发容器?

为什么 Java 要采用垃圾回收机制,而不采用 C/C++的显式内存管理?

一个线程的生命周期有哪几种状态?它们之间如何流转的?

什么是活锁、饥饿、无锁、死锁?怎么检测一个线程是否拥有锁?

如何解决同时存在的对象创建和对象回收问题

说说一致性 Hash 原理

新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?

HashMap在什么情况下会扩容,或者有哪些操作会导致扩容?

HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头?

1.8还采用了红黑树,讲讲红黑树的特性,为什么大家一定要用红黑树而不是AVL、B树之类的?

https和http区别,有没有用过其他安全传输手段?

线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?

RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?

RabbitMQ 允许发送的 message 最大可达多大?

有使用过哪些NoSQL数据库?MongoDB和Redis适用哪些场景?

项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理

蚂蚁金服面试(视频二面)

查询中哪些情况不会使用索引?

描述分布式事务之TCC服务设计?

数据库索引,底层是怎样实现的,为什么要用B树索引?

Mysql主从同步的实现原理?

MySQL是怎么用B+树?

谈谈数据库乐观锁与悲观锁?

Redis和memcache有什么区别?Redis为什么比memcache有优势?

Redis 的数据结构

海量数据过滤,黑名单过滤一个 url。

讲一讲AtomicInteger,为什么要用CAS而不是synchronized?

蚂蚁金服三面(视频三面)

考虑redis的时候,有没有考虑容量?大概数据量会有多少?

Redis 的 list zset 的底层实现

分布式架构设计哪方面比较熟悉

分布式 session 的共享方案有哪些,有什么优劣势

谈谈分布式锁、以及分布式全局唯一ID的实现比较?

集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化?

从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路?

排序算法的复杂度,快速排序非递归实现。

消息中间件有哪些?他们之间的优劣势?

介绍项目

介绍你实践的性能优化案例,以及你的优化思路

总结

视频面试之后,我总结了下,问的都不算难,虽然不是很顺畅,但问题也都回答上了,就是通过视频的形式来面试,总感觉怪怪的。本以为已经没戏了,谁知道2天后收到通知,竟然过了!现在正在考虑要不要辞职过去……

当然,大厂的面试,是一个系统规范化的流程,除了Redis、MQ这些必备品外,每一个简历都会有一句Java基础扎实(有没有被说中),那么,到底怎么样算Java基础扎实?
1、集合,例如 List、Map的原理,HashMap基本必问这个不用我多说
2、并发,例如线程、线程池,锁相关,这些也基本必问
3、JVM,例如垃圾回收器,垃圾回收算法,OOM处理,jvm参数及调优

上面说的这些,是最最最基本的面试标配了。

首先来说下对于简历的准备。MQ、Redis这两个是标配没跑的了。为啥?你要突出你的核心竞争力,无非围绕高并发、高可用、海量数据这几个点出发。
其次,核心竞争力也体现在分布式解决方案的真实落地实践,但是这些分布式解决方案,也很大程度上依赖 Redis和 MQ。
比如分布式session需要依赖 Redis,分布式事务最终一致性需要依赖 MQ。也就是说,一份优秀的简历,深入 Redis和 MQ这两个,都是避无可避!

————————————————
版权声明:本文为CSDN博主「qianlia」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qianlia/article/details/105384267

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蚂蚁客服机器人面试答案全文共6页,当前为第1页。蚂蚁客服机器人面试答案全文共6页,当前为第1页。蚂蚁客服机器人面试答案 蚂蚁客服机器人面试答案全文共6页,当前为第1页。 蚂蚁客服机器人面试答案全文共6页,当前为第1页。 1、自我介绍、自己做的项目和技术领域 开放题 2、项目中的监控:那个监控指标常见的有哪些? 答:CPU、内存、IO 等等。建议下载个nmon工具,里面有各个指标。 数据库:Mysql(缓存命中、索引、单条SQL性能、数据库线程数、数据池连接数) 中间件:1.消息2、负载均衡3、缓存(包括线程数、连接数、日志)。 网络: 吞吐量、吞吐率 应用: jvm内存、日志、Full GC频率 3、微服务涉及到的技术以及需要注意的问题有哪些? 4、注册中心你了解了哪些? 答:Consul 、Eureka、ZooKeeper 5、consul 的可靠性你了解吗? 6、consul 的机制你有没有具体深入过?有没有和其他的注册中心对比过? 7、项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理 答:(1). IoC(Inversion of Control)是指容器控制程序对象之间的关系,而不是传统实现中,由程序代码直接操控。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。 对于Spring而言,就是由Spring来控制对象的生命周期和对象之间的关系;IoC还有另外一个名字——"依赖注入(Dependency 蚂蚁客服机器人面试答案全文共6页,当前为第2页。蚂蚁客服机器人面试答案全文共6页,当前为第2页。Injection)"。从名字上理解,所谓依赖注入,即组件之间的依赖关系由容器在运行期决定,即由容器动态地将某种依赖关系注入到组件之中。 蚂蚁客服机器人面试答案全文共6页,当前为第2页。 蚂蚁客服机器人面试答案全文共6页,当前为第2页。 (2). 在Spring的工作方式中,所有的类都会在spring容器中登记,告诉spring这是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。 (3). 在系统运行中,动态的向某个对象提供它所需要的其他对象。 (4). 依赖注入的思想是通过反射机制实现的,在实例化一个类时,它通过反射调用类中set方法将事先保存在HashMap中的类属性注入到类中。 总而言之,在传统的对象创建方式中,通常由调用者来创建被调用者的实例,而在Spring中创建被调用者的工作由Spring来完成,然后注入调用者,即所谓的依赖注入or控制反转。 注入方式有两种:依赖注入和设置注入; IoC的优点:降低了组件之间的耦合,降低了业务对象之间替换的复杂性,使之能够灵活的管理对象。 AOP(Aspect Oriented Programming) (1). AOP面向方面编程基于IoC,是对OOP的有益补充; (2). AOP利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了 多个类的公共行为封装到一个可重用模块,并将其名为"Aspect",即方面。所谓"方面",简单地说,就是将那些与业务无关,却为业务模块所共同调用的 逻辑或责任封装起来,比如日志记录,便于减少系统的重复代码,降蚂蚁客服机器人面试答案全文共6页,当前为第3页。蚂蚁客服机器人面试答案全文共6页,当前为第3页。低模块间的耦合度,并有利于未来的可操作性和可维护性。 蚂蚁客服机器人面试答案全文共6页,当前为第3页。 蚂蚁客服机器人面试答案全文共6页,当前为第3页。 (3). AOP代表的是一个横向的关 系,将"对象"比作一个空心的圆柱体,其中封装的是对象的属性和行为;则面向方面编程的方法,就是将这个圆柱体以切面形式剖开,选择性的提供业务逻辑。而 剖开的切面,也就是所谓的"方面"了。然后它又以巧夺天功的妙手将这些剖开的切面复原,不留痕迹,但完成了效果。 (4). 实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建"方面",从而使得编译器可以在编译期间织入有关"方面"的代码。 (5). Spring实现AOP:JDK动态代理和CGLIB代理 JDK动态代理:其代理对象必须是某个接口的实现,它是通过在运行期间创建一个接口的实现类来完成对目标对象的代理;其核心的两个类是InvocationHand

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值