【干货】分布式系统中ACID和CAP有什么区别

# 一面: * 个人介绍加项目介绍20分钟 * 微服务架构是什么,它的优缺点? * ACID CAP BASE理论 * 分布式一致性协议,二段、三段、TCC,优缺点 * RPC过程 * 服务注册中心宕机了怎么办? * 微服务还有其他什么组件 * 分布式架构与微服务的关系 * 你有什么问题要问我的? # 二面: * 各种排序算法、未排序常规数据查找第K大的数,时间复杂度。 * 二叉树的深度 * 虚拟内存分页了解不? * 进程和线程区别? * 第一二三范式是什么? * 一个表一千个列值为true和false,写sql 查询 有300个列值为true的行。 * 脏读和幻读是什么? * 什么对象会从新生代晋升到老年代 * 一个任务分成十个任务,最后汇总计算,不能用fork/join * 开源框架源码了解不? * 数据建模两道、个人题开放性题 * 对安全方面了解多少? * 安全协议有哪些 、https是啥? * 介绍你做的项目和其中的难点。 # 三面: * 从ConcurrentHashMap一路问到锁&锁优化->LongAdder->伪共享->缓存行填充->cas等诸多技术细节; * 从hystrix一路问到原理->自己如何实现->如何优化->响应流编程(reactive streams); * 从简单的生产者消费者模式设计到如何高效健壮实现等等。 # 四面: * 如何倒序输出单向链表? * 个人直接想法是用栈先进后出的特点,把链表数据读到栈里然后输出。 * 有更好的实现方式吗? * 主要问项目情况,然后根据一个项目,问如果量级扩大1000倍,你会怎么做?有哪些优化措施?高性能&高可用措施? ## 五面: * 个人的职业规划是什么? * 你遇到的最大问题或者是困难是什么? * 你如何看待我们公司? * 你能为我们公司带来什么? * 你的优缺点是什么? # 面试总结: * 技术基础必须扎实:算法、数据结构、操作系统等,蚂蚁金服面试对技术的基础非常重视,基础扎实的同学有利于在前两轮突出重围。 * 技术宽度:主要集中在高并发、多线程、分布式架构,大以及常用中间件(缓存等)的选型和比较。 * 技术原理深入:重点还是提前准备好JVM、多线程高并发这块。 * 参与的项目总结:你需要清楚你所做项目的关键细节、优化、特点、原理。 * 很多所用第三方库&中间件等的原理,即使你不知道,也要有自己的想法能够说出如何代替实现,比如单点登录的替代方案。 ## 总结 总的来说,面试是有套路的,一面基础,二面架构,三面个人。 **最后,小编这里收集整理了一些资料,其中包括面试题(含答案)、书籍、视频等。希望也能帮助想进大厂的朋友,[点击这里即可免费获取](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)** ![三面蚂蚁金服成功拿到offer后,他说他累了](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625097823657798.jpg) ![三面蚂蚁金服成功拿到offer后,他说他累了](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625097823529687.jpg) ![三面蚂蚁金服成功拿到offer后,他说他累了](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625097832288126.jpg)
上一篇:Java并发原理解析!docker创建镜像报空间不足


下一篇:为什么有人说Java开发不再吃香?赶紧收藏!