前言

关于为什么要有分布式锁这个东西,欢迎阅读我的zk分布式锁的实现,介绍了单机高并发、分布式高并发的解决方案:

用ZooKeeper实现分布式锁

这里再切入本例将使用的场景模拟:商品秒杀,或者说高并发下,对于商品库存扣减操作。我用一个SpringBoot小项目模拟一下该操作。

本例用到的技术栈:

  • SpringBoot
  • Redis
  • etcd

在正式肝代码之前,先来对etcd分布式锁实现的机制和原理做一个了解。

蚂蚁金服一面:

  1. 先自我介绍,讲讲自己基础掌握情况,以及项目经历平时会用到哪些数据结构?
  2. 链表和数组的优缺点?
  3. 解决hash冲突的方法有哪些?
  4. 讲讲自己对HashMap的理解,以及和Weakhashmap的区别?
  5. 你刚才讲的是JDK1.7版本的实现,知道JDK1.8做了哪些改动么?
  6. 你们在微服务中用RPC通信还是REST?
  7. RPC和HTTP的关系是什么?
  8. 谈谈什么是HTTP的长连接和短连接?
  9. TCP的三次握手和四次挥手,以及为什么要三次握手,而不是二次?
  10. TCP 有哪些状态,相应状态的含义?并发包中锁的实现底层(对AQS的理解)?
  11. 乐观锁和悲观锁的理解及如何实现,有哪些实现方式?
  12. SynchronizedMap和ConcurrentHashMap有什么区别?如何使用阻塞队列实现一个生产者和消费者模型?
  13. 简述一下Java 垃圾回收机制?
  14. 如何判断一个对象是否存活?
  15. 什么是tomcat类加载机制?
  16. 类加载器双亲委派模型机制?
  17. 让你评价一下你自己?

蚂蚁金服二面:

  1. 扯了下项目、讲一下项目经历redis的底层数据结构了解多少?
  2. 知道动态字符串sds的优缺点么(redis底层数据结构之一)?
  3. redis的单线程特性有什么优缺点?
  4. 用过 Redis 的哪些数据结构, 分别用在什么场景?怎么解决缓存击穿问题的?
  5. Hytrix的隔离机制有哪些?
  6. Hytrix常见配置是哪些?
  7. 做过哪些调优?
  8. JVM调优、数据库调优都行!给了个场景,问你怎么调?

蚂蚁金服三面:

  1. 依然是介绍自己数据库的高可用架构是怎么样的?
  2. 如何保证数据库主从一致性?
  3. 知道mysql的索引算法吗?
  4. 为什么mongodb的索引用了B树,而mysql用B+树?
  5. 用mysql过程中,有遇到什么问题么?
  6. 生产用的是哪种事务隔离级别,为什么?
  7. 谈一谈你对微服务架构的理解?
  8. 用过哪些RPC框架,讲讲他们优缺点?
  9. 用过docker吗,对容器了解多少?

蚂蚁金服四面:

聊人生谈理想,HR很ncie,主要交流为什么选择来阿里,未来的打算职业规划以及待遇等,交流挺愉快。

面试经验总结:

技术基础必须扎实:算法、数据结构、操作系统等,蚂蚁金服面试对技术的基础非常重视,基础扎实的同学有利于在前两轮突出重围。

技术宽度:主要集中在高并发、多线程、分布式架构,大以及常用中间件(缓存等)的选型和比较。

技术原理深入:重点还是提前准备好JVM、多线程高并发这块。

参与的项目总结:你需要清楚你所做项目的关键细节、优化、特点、原理。

很多所用第三方库&中间件等的原理,即使你不知道,也要有自己的想法能够说出如何代替实现,比如单点登录的替代方案。

以上就蚂蚁金服后端研发面试题,以下该面试题的部分参考答案。

最后

各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了,需要的话请**点赞后点击这里免费下载文章资料!**

)]

[外链图片转存中…(img-SInyIsoD-1622100005362)]

[外链图片转存中…(img-6pfru9tf-1622100005364)]

只有搞Java开发的才知道!javaspring菜鸟教程相关推荐

  1. 初学Java--JDK(java development kit java 开发工具包)的下载与安装教程

    初学Java–JDK(java development kit java 开发工具包)的下载与安装教程 1. 下载安装包 点开链接可以找到JDK的版本安装界面 可以看到如下图所示的界面: 下面是我选择 ...

  2. 在eclipse中写java项目,简单使用hsqldb数据库--菜鸟教程

    如果你还不知道怎么添加hsqldb到java项目,请参考我的上一篇没人看的博客 在eclipse java项目中导入hsqldb–菜鸟教程 这个使用,我还不怎么熟悉,我本身也是菜鸡一枚,写文章主要是防 ...

  3. Java开发环境!mysqlworkbench下载安装教程

    MySQL为何不选择平衡二叉树 既然平衡二叉树解决了普通二叉树的问题,那么mysql为何不选择平衡二叉树作为索引呢? 索引需要存储什么 让我们想一想,如果我们要把索引存起来,那么应该存哪些信息呢,它应 ...

  4. java开发新人,新电脑配置教程(自用)

    1.1.1 JDK 我们新的电脑,自然没有安装Java JDK. 下载甲骨文java jdk, 然后直接安装即可. 看看 java- version, 看看环境变量有没有自动配置好. 1.1.2 In ...

  5. Java开发面试书籍,ubuntumysql安装教程

    微服务是什么 微服务起源于2005年Peter Rodgers博士在云端运算博览会提出的微Web服务(Micro-Web-Service),根本思想类似于Unix的管道设计理念.2014年,由Mart ...

  6. Java开发利器--Lombok,IDEA端安装教程

    1.插件安装File-Setting-Plugins 2.开启注解支持: 3.安装lombok maven插件 <plugin> <groupId>org.projectlom ...

  7. <Java开发环境配置>6-SQLyog安装教程

    一.SQLyog简介: SQLyog 是一个快速而简洁的图形化管理MySQL数据库的工具,它能够在任何地点有效地管理你的数据库,由业界著名的Webyog公司出品.使用SQLyog可以快速直观地让您从世 ...

  8. 从零开始vim搭建Java开发环境[视频]

    视频教程 从零开始vim搭建Java开发环境 全屏观看 前言 起初我仅仅是想在手机上搭建一套能开发Java的vim环境.<玩转手机中的linux系统termux并搭建java开发环境> 玩 ...

  9. java开发用amd处理器_谈谈AMD CPU购机心得 与 写代码的感受

    序 之前用的是华硕飞行保垒.具体是几代忘记了..I7 4代的标压CUP. 8G内存 换成了联想yoga 14s. 换电脑的原因 网卡问题,老旧的网卡争网络实在争不过别人.每次看别人网络很好,我却连不上 ...

  10. 面向 Java 开发人员的区块链链代码

    面向 Java 开发人员的链代码简介 点击查看视频演示查看抄本 您或许听说过区块链,但可能不确定它对 Java™ 开发人员有何用.本教程将帮助大家解惑.我将分步展示如何使用 Hyperledger F ...

最新文章

  1. SAP HUM 带HU的TO单对应的外向交货单VL09取消PGI之后不能对该交货单执行LT0G做WM层面的返架?
  2. 网站新手引导/步骤引导
  3. asp.net Page页面中的一个有用属性
  4. Android之动画精讲一:从setTranslationX谈属性动画和view动画的区别
  5. 9008刷机模式写入超时刷机帮_刷机时没有成功,然后变成黑砖,usb接口直接变成未知设备~希望大神救助!...
  6. C++设计模式-代理模式
  7. (王道408考研数据结构)第四章串-第二节:串的模式匹配算法(朴素和KMP)
  8. BCC实例(如何修改NS解析方式为百度智能云解析) - 解答篇
  9. Python爬虫urllib库的使用
  10. CSDN星城大巡礼,长沙“科技之星”年度企业评选正式开启
  11. Glide4 高效加载图片的配置【转】
  12. Silverlight 的导航框架与动态加载
  13. cdn网络加速原理剖析
  14. 简单的Markdown解析器
  15. 百度必应谷歌图片自动爬取库icrawler使用体会
  16. 内存卡打不开提示格式化?数据恢复怎么弄?
  17. 【解决方案】国标GB28181视频监控平台国标流媒体服务器EasyGBS如何实现安保行业日常巡查视频监控系统解决方案?
  18. 线上学习老师或者学习委员如何收集作业(进来的同志都体会到收作业的苦衷!尤其是学委!通过学习通方法)学委必须要会!
  19. linux proc 文件系统下 entry 的解释(转)
  20. 地名能否作为商标使用

热门文章

  1. win10怎么设置默认输入法_微软拼音输入法怎么设置快捷短语
  2. 什么叫做:离线下载?-by:nixs
  3. eXeScope之类的程序资源修改器的使用,很牛!
  4. 小榕重复数据清除器xp 怎么用
  5. 风火编程--繁体转简体
  6. 只有运用你的逻辑才能看懂其中的恐怖及答案
  7. python将h264文件视频转为mp4格式
  8. 在国内程序员是吃青春饭的职业吗?
  9. 第十二届蓝桥杯模拟赛Python组(第一期)
  10. 《结网》《人人都是产品经理》对比