蚂蚁金服Java后端(一面)面试题
1.服务注册中心宕机了怎么办?
说到服务注册中心可能首先想到的就是dubbo的zookeeper,spring cloud 的eureka,在服务注册中心宕机的时候,服务调用者仍然能后继续运行,因为服务调用者可以提前缓存有哪些服务提供者。可以缓存在内存中,也可以缓存在文件上,也可以有一个备份的配置文件列表,在重启后内存清掉或文件丢失的时候,上传一份服务提供者列表。
服务注册中心主要起到的作用主要提供服务列表,这个时候如果有新的服务添加进行的时候,就无法通知到其他服务。
参考:聊聊微服务的服务注册和发现
2.Spring Bean 的生命周期
在Spring中,bean都是交由spring 容器进行管理。一般担当此角色的是BeanFactory 和ApplicationContext.这两种角色的实现方式差不多。
初始化bean的步骤:
- 初始化bean开始
- 使用反射调用bean 的构造函数实例化bean
- 使用反射注入bean的属性值
- Aware的注入,比如BeanNameAware,BeanClassloaderAware,BeanFactoryAware
- 调用BeanPostProcessor 接口的 postProcessorBeforeInitialization
- 调用初始化方法
- 调用BeanPostProcessor接口的 postProcessorAfterInitialization
- 注册需要执行销毁方法的Bean
- 初始化bean结束
这里为什么要使用spring aware ,主要是为了bean 可以使用spring 容器的服务,使bean和spring 耦合(spring aware 各种接口的作用解析)
参考:Spring Bean生命周期
3.sql having 的使用场景
having子句的作用是筛选满足条件的组,即是在分组后再对数据进行过滤。与select 和where的搭配类似。having 搭配group by。where搜索条件在 分组操作之前,而Having 搜索条件在 分组操作之后。
sql 中引入having 的原因是:where无法与合计函数一起使用。
4.ACID、CAP理论
ACID 是数据库事务正确执行的四个基本要素。
A:Aotomicity 原子性:要么都执行成功,要么都不执行成功
C:Consitency 一致性:事务在执行前后会整个系统没有影响,比如转账操作对所有账户的总额不会改变
I:Isolcation 隔离性:各个事务之间不会相互影响
D:Durability 持久性:表示一旦某个事务执行成功了,那么就是永久的改变了
CAP:主要是在分布式系统下的应用问题
C:Consistency 一致性:任何一个读操作都能读取到读之前完成的写操作结果,也就是说在分布式环境中,多个点之间数据要一致
A:Availability 可用性:每个操作总能够在确定的时间内返回,也就是系统随时都是可用的。
P:Partition tolerance 分区容错性:在出现网络分区的时候(断网),分离的系统也能正常运行。现在的大部分分布式系统都是水平扩展,所以多分区容错性的要求也会比较高
CAP 理论的一个核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性三个要求,最多只能很好的满足其中的两个。
参考:分布式数据库CAP理论
数据库CAP理论
5.对Java Runtime的了解
每个Java 应用程序都对应一个Runtime 实例。
这个类主要有以下作用:
- 得到系统内存的一些信息
- 得到系统环境变量
- 执行外部程序
- 获取jdk版本信息等
6.负载均衡的一个实现,服务器资源分配70% 20% 10%
参考:Java 代码实现负载均衡的五种算法
7.设计一个缓存系统
参考:Java 实现一个简单缓存
设计并实现一个LRU缓存
蚂蚁金服Java后端(一面)面试题相关推荐
- java内存shell_2019蚂蚁金服Java后端三面,详述程序员必须掌握的架构底层原理
前面的话 告别了2018 ,也早已正式进入2019 面试一直都是大家关注的热门话题,俗话说"金三银四",如今已经是三月份了,如果你打算在年后跳槽,那么是时候该着手准备了 很多Jav ...
- 拼多多、饿了么、蚂蚁金服Java面试题大集
自己当初找工作时参加过众多一线互联网公司的Java研发面试,这段时间处于寒冬,然而前几天跳槽找工作,两天面了3家,已经拿了两个offer,觉得可以和大家分享下: 下面为拼多多.饿了么.蚂蚁金服.哈啰出 ...
- 蚂蚁金服—JAVA实现全排列
分享一道蚂蚁金服JAVA实现全排列的代码 在这里插入代码片 package com.lyz.dataStructure.LeetCode;import java.util.List; import j ...
- 大牛分享,献出这份年薪68W的蚂蚁金服Java高级开发封神宝典!
超级大牛经验分享,献出这份年薪68W的蚂蚁金服Java高级开发封神宝典! 干货奉上,不喜勿喷: 一.源码阅读 1.常用设计模式 2.Spring 5 源码 3.MyBatis源码 二.分布式架构总纲 ...
- 阿里、腾讯、蚂蚁金服Java技术面试及经验总结(文末分享答案)
在过去很长一段时间内,国内互联网一直处于三足鼎立状态,BAT即百度.阿里巴巴.腾讯.而在最新的互联网企业价值榜上,百度却被蚂蚁金服挤出前三的位置. 能够进一线互联网公司,是大部分程序员奋斗的目标,有很 ...
- 2019社招阿里、腾讯、蚂蚁金服Java面试真题
在过去很长一段时间内,国内互联网一直处于三足鼎立状态,BAT即百度.阿里巴巴.腾讯.而在最新的互联网企业价值榜上,百度却被蚂蚁金服挤出前三的位置. 能够进一线互联网公司,是大部分程序员奋斗的目标,有很 ...
- 阿里、腾讯、蚂蚁金服Java技术面试及经验总结
在过去很长一段时间内,国内互联网一直处于三足鼎立状态,BAT即百度.阿里巴巴.腾讯.而在最新的互联网企业价值榜上,百度却被蚂蚁金服挤出前三的位置. 能够进一线互联网公司,是大部分程序员奋斗的目标,有很 ...
- 最新蚂蚁金服Java面试题:Docker+秒杀设计+RocketMQ+亿级数据设计
蚂蚁金服一面: 1 自我介绍 2 讲一下ArrayList和linkedlist的区别,ArrayList的扩容方式,扩容时机. 3 hashmap的实现,以及hashmap扩容底层实现. 4 NIO ...
- 参加完阿里蚂蚁金服Java中间件6轮面试题!6点血泪总结~
蚂蚁金服一面:分布式架构 50分钟 1.个人介绍加项目介绍20分钟 2.微服务架构是什么,它的优缺点? 3.ACID CAP BASE理论 4.分布式一致性协议,二段.三段.TCC,优缺点 5.RPC ...
最新文章
- Java如何优雅的实现时间控制
- 深入浅出 MyBatis 的一级、二级缓存机制
- QIIME 2教程. 10数据导出ExportingData(2021.2)
- java logback 使用_Java | Logback的使用配置
- typedef BOOL(WINAPI *MYFUNC) (HWND,COLORREF,BYTE,DWORD);语句的理解
- pytorch构造可迭代的Dataset——IterableDataset(pytorch Data学习二)
- python汉字排序_【IT专家】Python中文排序(转载)
- idea 报 Cannot access alimaven
- 微信支付需要证书认证时报“出现了内部错误”
- python制作查询工具发给别人使用_利用Python制作简单的小程序:IP查
- python对数组的操作_Python Numpy库对数组的操作详解,
- 《哥德尔、艾舍尔、巴赫——集异璧之大成》
- SQL基本使用-查询表中的记录
- C语言求解黎曼 函数非平凡零点,51、黎曼函数的“非平凡零点 (1/2)z”是什么玩意?...
- 为什么打开edge浏览器,就出来qq导航,hao123页面等等!
- tomcat处理html流程,基于Tomcat运行HTML5 WebSocket echo实例详解
- 在线提取网页视频的网站
- 火车票订票管理系统c语言,基于c 的火车票订票管理系统的设计与实现.docx
- 在windows下启动容器时,报 the input device is not a TTY. If you are using mintty, try prefixing the command
- python中的正则匹配知识点
热门文章
- 学 Rust 要几天?「GitHub 热点速览 v.22.51」
- ffmpegguitool下载不了_FFmpeg GUI Tool下载|FFmpeg GUI Tool(视频处理)下载v1.2.4 安卓版
- TIA portal西门子博途安装时一直提示重启怎么办?
- java制作海报工具类,java操作图片贴图,java给图片添加文字,调整字体颜色大小间距
- “云”到底是什么?云计算7种类型细分
- java判断是否为long_java怎么判断是否是Long类型
- ESP8266+micropython+HCSR04 超声波测距传感器
- 理解margin-left:-100%
- mask-image实现聚光灯效果
- 谷歌浏览器(Chrome)如何安装crx插件?(详细步骤)