(五面蚂蚁金服+四面京东)面经分享:基础+索引+网络+架构设计+分布式+调优
Posted 敲代码的程序狗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(五面蚂蚁金服+四面京东)面经分享:基础+索引+网络+架构设计+分布式+调优相关的知识,希望对你有一定的参考价值。
前言
前两天,我收到了蚂蚁金服的offer,从朋友的内推开始面试到拿到最后offer经历了4面技术、一面交叉面和一面HR面。经过了漫长的等待和几次几乎折磨的面试之后,终于拿到了offer。
蚂蚁花呗第一次技术面(60min)
- Java容器有哪些?哪些是同步容器,哪些是并发容器?
- ArrayList和LinkedList的插入和访问的时间复杂度?
- java反射原理, 注解原理?
- 说说一致性 Hash 原理
- 新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?
- HashMap在什么情况下会扩容,或者有哪些操作会导致扩容?
- HashMap push方法的执行过程?
- HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头?
- 1.8还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是AVL、B树之类的?
- https和http区别,有没有用过其他安全传输手段?
- 线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?
- linux怎么查看系统负载情况?
- 请详细描述springmvc处理请求全流程?
- spring 一个bean装配的过程?
- 项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理
一面一共问了15个问题,信息量还是很大的,但是可以看到这些问题都不算难,主要是考察基础知识的掌握情况,这一轮面试的难度数据一面的正常难度,持续的时长也算是正常范围。
蚂蚁花呗二次技术面(30min)
- 查询中哪些情况不会使用索引?
- 数据库索引,底层是怎样实现的,为什么要用B树索引?
- mysql主从同步的实现原理?
- MySQL是怎么用B+树?
- 谈谈数据库乐观锁与悲观锁?
- 有使用过哪些NoSQL数据库?MongoDB和Redis适用哪些场景?
- 描述分布式事务之TCC服务设计?
- Redis和memcache有什么区别?Redis为什么比memcache有优势?
- Redis 的数据结构
- 海量数据过滤,黑名单过滤一个 url。
- 讲一讲AtomicInteger,为什么要用CAS而不是synchronized?
蚂蚁花呗三次技术面(25min)
- 考虑redis的时候,有没有考虑容量?大概数据量会有多少?
- Redis 的 list zset 的底层实现
- solr和mongodb的区别,存数据为什么不用solr?
- 分布式 session 的共享方案有哪些,有什么优劣势
- 谈谈分布式锁、以及分布式全局唯一ID的实现比较?
- 集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化?
- 从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路?
- 数据库分库分表需要怎样来实现?
- 排序算法的复杂度,快速排序非递归实现。
- 消息中间件有哪些?他们之间的优劣势?
蚂蚁花呗四次技术面(15min)
- 分布式架构设计哪方面比较熟悉
- 介绍你实践的性能优化案例,以及你的优化思路
- 介绍项目
- 谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里
- 各种聊项目,从项目的架构设计到部署流程。
- 最近有没有学习过新技术?
- 有什么想问我的?
- 最近两年遇到的最大的挫折,从挫折中学到了什么?
- 三年到五年的职业规划?
HR面
1.工作中遇到的最大挑战是什么,你如何克服的?
2.你最大的优点和最大的缺点,各自说一个?
3.未来的职业发展,短期和长期的规划是什么?
最后,你懂的,主要就是HR走流程了,主要问了未来的职业规划。
总结
每一次面试都感觉是煎熬,虽然之前看过很多阿里的面经,都说阿里面试官会抓住某一点一直问下去,直到问到你不会为止,但是当第一次亲身体会的时候,还是感觉很煎熬。
不过最终的结果还是好的,至少收到了心仪的offer,能在这个疫情期间,大环境不好的情况下找到工作。
【文末有福利记得查看】
京东一面
- JVM 内存分哪几个区,每个区的作用是什么?JVM有哪些回收算法,对应的收集器有哪些?
- GC 的两种判定方法 ?CMS 收集器与 G1 收集器的特点。
- hashmap源码问题
- HashMap、HashMap如何保证线程安全、ConcurrentHashMap
- HashMap底层结构 put操作讲一下
- GC 的两种判定方法 ?CMS 收集器与 G1 收集器的特点。
- java线程同步都有哪几种方式,在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别?
- cas的原理,变量要用哪个关键字修饰,volatile实现的原理。
- 你在多线程环境中遇到的常见的问题是什么?你是怎么解决它的?
- MYSQL 数据库服务器性能分析的方法命令有哪些?
- 什么是通用 SQL 函数?
- 手撕代码:按层次遍历二叉树?
- Java 配置的方式配置 Spring
- spring中用到了什么, 简述 AOP 和 IOC 概念,aop是怎么实现的?
京东二面
- 自我介绍&项目
- 项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理
- 分布式锁原理
- CAS 算法,CAS 与 synchronized 的使用情景
- 简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
- 分别解决什么问题?
- dubbo有哪些模块,底层通信的原理?Dubbo 集群的负载均衡有哪些策略?
- 如果让你实现一个https,你会怎么实现?
- 常用的负载均衡,该怎么用,你能说下吗?
- 常见的分布式事务方案有哪些?
- Dubbo 的核心功能?如何从0到1设计一个类似Dubbo的RPC框架?
京东三面
- 再谈谈一致hash算法(redis)?
- 数据库索引,B+树的特性和建树过程。
- mysql相关的行锁,表锁;乐观锁,悲观锁
- 分布式锁的方案,redis和zookeeper哪个个好,如果是集群部署,高并发情况下哪个性能更好。
- activeMQ 发送消息的方式有哪些?activeMQ 如何调优
- 设计模式与重构,谈谈你对重构的理解
- Collections.sort底层排序方式
- 说说 Redis 哈希槽的概念?Redis 集群如何选择数据库?
- spring cloud的服务注册与发现是怎么设计的?
京东四面
- 自己参与的项目,技术难度高的有哪些?
- 线上有实际的性能优化经验?
- 从SQL、JVM、架构、数据库四个方面讲讲优化思路,以及如何优先排序?
- redis的持久化方式,redis3.0原生集群和redis读写分离+哨兵机制区别
- 如果让你实现一个mq,怎么样保证消息不丢失
- 你熟悉哪些中间件,谈谈你对他们的理解,以及对应的使用场景区别?
- 最后,你有什么想问我的?
HR面
- 自我介绍
- 项目介绍
- 如何学习新技术?
- 遇到的最大挑战以及如何解决?
- 大学最大的收获?
- 如何团队合作的?
- 职业规划
写在最后
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
读者福利
由于文章的篇幅有限,我把这次的蚂蚁金服和京东面试题答案整理在了PDF文档里(文末获取)
以上是关于(五面蚂蚁金服+四面京东)面经分享:基础+索引+网络+架构设计+分布式+调优的主要内容,如果未能解决你的问题,请参考以下文章
金九银十:蚂蚁金服技术五面(Java研发岗),已拿offer
自信,紧张,焦虑,意外?蚂蚁金服难忘的四面经历,真的太刺激了