二面蚂蚁金服(交叉面),已拿offer,Java岗定级阿里P6

news2024/11/26 10:24:26

记一次蚂蚁金服Java程序员面试经历(均为交叉面)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

一面

  • 自我介绍

  • 项目中的监控:那个监控指标常见的有哪些?

  • 微服务涉及到的技术以及需要注意的问题有哪些?

  • 注册中心你了解了哪些?

  • consul 的可靠性你了解吗?

  • consul 的机制你有没有具体深入过?有没有和其他的注册中心对比过?

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

  • Spring Boot除了自动配置,相比传统的 Spring 有什么其他的区别?

  • Spring Cloud 有了解多少?

  • Spring Bean 的生命周期

  • HashMap 和 hashTable 区别?

  • Object 的 hashcode 方法重写了,equals 方法要不要改?

  • Hashmap 线程不安全的出现场景

  • 线上服务 CPU 很高该怎么做?有哪些措施可以找到问题

  • JDK 中有哪几个线程池?顺带把线程池讲了个遍

  • 应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描

  • SQL 索引的顺序,字段的顺序

  • 查看 SQL 是不是使用了索引?(有什么工具)

  • TCP 和 UDP 的区别?TCP 数据传输过程中怎么做到可靠的?

  • 说下你知道的排序算法吧

  • 查找一个数组的中位数?

二面

你有什么问题想问我的吗?(常规问询)

  • 自我介绍、工作经历、技术栈

  • 项目中你学到了什么技术?

  • 微服务划分的粒度?

  • 微服务的高可用怎么保证的?

  • 负载均衡与反向代理,隔离,限流,降级,超时与重试,回滚,压力测试与应急预案

  • 常用的负载均衡,该怎么用,你能说下吗?


(技术问)

  • http重定向

  • DNS负载均衡

  • 反向代理负载均衡

  • IP负载均衡(LVS-NAT)

  • 直接路由(LVS-DR)

  • IP隧道(LVS-TUN)

  • 网关能够为后端服务带来哪些好处?

  • Spring Bean 的生命周期

  • xml 中配置的 init、destroy 方法怎么可以做到调用具体的方法?反射的机制

  • Object 类中的方法

  • 对象比较是否相同

  • hashmap put 方法存放的时候怎么判断是否是重复的

  • Object toString 方法常用的地方,为什么要重写该方法

  • Set 和 List 区别?

  • ArrayList 和 LinkedList 区别

  • 如果存取相同的数据,ArrayList 和 LinkedList 谁占用空间更大?

  • Set 存的顺序是有序的吗?

  • 常见 Set 的实现有哪些?

  • TreeSet 对存入对数据有什么要求呢?

  • HashSet 的底层实现呢?

  • TreeSet 底层源码有看过吗?

  • HashSet 是不是线程安全的?为什么不是线程安全的?

  • Java 中有哪些线程安全的 Map?

  • HashTable 你了解过吗?

  • 如何保证线程安全问题?

  • synchronized、lock

  • volatile 的原子性问题?为什么 i++ 这种不支持原子性?从计算机原理的设计来讲下不能保证原子性的原因happens before 原理

  • cas 操作

  • lock 和 synchronized 的区别?

  • 公平锁和非公平锁

  • Java 读写锁

  • 读写锁设计主要解决什么问题?

  • 你项目除了写 Java 代码,还有前端代码,那你知道前端有哪些框架吗?

  • MySQL 分页查询语句

  • MySQL 事务特性和隔离级别

二、事务的并发问题

  • 不可重复读会出现在什么场景?

  • sql having 的使用场景

  • 前端浏览器地址的一个 http 请求到后端整个流程是怎么样?

  • http 默认端口,https 默认端口

  • DNS 你知道是干嘛的吗?

  • 你们开发用的 ide 是啥?你能说下 idea 的常用几个快捷键吧?

  • 代码版本管理你们用的是啥?

  • git rebase 和 merge 有什么区别?

你们公司加班多吗?(题外话)

举例回答:

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

答:(1). IoC(Inversion of Control)是指容器控制程序对象之间的关系,而不是传统实现中,由程序代码直接操控。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。 对于Spring而言,就是由Spring来控制对象的生命周期和对象之间的关系;IoC还有另外一个名字——“依赖注入(Dependency Injection)”。从名字上理解,所谓依赖注入,即组件之间的依赖关系由容器在运行期决定,即由容器动态地将某种依赖关系注入到组件之中。

(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”,即方面。所谓“方面”,简单地说,就是将那些与业务无关,却为业务模块所共同调用的 逻辑或责任封装起来,比如日志记录,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。

(3). AOP代表的是一个横向的关 系,将“对象”比作一个空心的圆柱体,其中封装的是对象的属性和行为;则面向方面编程的方法,就是将这个圆柱体以切面形式剖开,选择性的提供业务逻辑。而 剖开的切面,也就是所谓的“方面”了。然后它又以巧夺天功的妙手将这些剖开的切面复原,不留痕迹,但完成了效果。

(4). 实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。

(5). Spring实现AOP:JDK动态代理和CGLIB代理 JDK动态代理:其代理对象必须是某个接口的实现,它是通过在运行期间创建一个接口的实现类来完成对目标对象的代理;其核心的两个类是InvocationHandler和Proxy。 CGLIB代理:实现原理类似于JDK动态代理,只是它在运行期间生成的代理对象是针对目标类扩展的子类。CGLIB是高效的代码生成包,底层是依靠ASM(开源的java字节码编辑类库)操作字节码实现的,性能比JDK强;需要引入包asm.jar和cglib.jar。 使用AspectJ注入式切面和@AspectJ注解驱动的切面实际上底层也是通过动态代理实现的。

(6). AOP使用场景:

  • Authentication 权限检查

  • Caching 缓存

  • Context passing 内容传递

  • Error handling 错误处理

  • Lazy loading延迟加载

  • Debugging 调试

  • logging, tracing, profiling and monitoring日志记录,跟踪,优化,校准

  • Performance optimization性能优化,效率检查

  • Persistence 持久化

  • Resource pooling资源池

  • Synchronization同步

  • Transactions 事务管理

另外Filter的实现和struts2的拦截器的实现都是AOP思想的体现。

蚂蚁金服面试场景以及面试答案(文档总结)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

最后

本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以免费送给我的读者朋友们:

目录:

编辑切换为居中

添加图片注释,不超过 140 字(可选)

Java面试核心知识点

一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!

​Java面试核心知识点

已经有读者朋友靠着这一份Java面试知识点指导拿到不错的offer了,各位读者朋友们快来找我免费获取吧!

大厂面试115道(上下集)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

有朋友靠这份大厂面试文档面试了阿里、新浪、中国平安最后拿到了中国平安offer!!!

                                            资源获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻微信公众号获取联系方式👇🏻👇🏻👇🏻

 精彩专栏推荐订阅:下方专栏👇🏻👇🏻👇🏻👇🏻

每天学四小时:Java+Spring+JVM+分布式高并发,架构师指日可待

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/90275.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据模型篇之大数据领域建模综述

第8章 大数据领域建模综述 1.为什么需要数据建模 为了更好的将数据进行有序、有结构地分类组织和存储。数据模型就是数据组织和存储方法&#xff0c;它强调从业务、数据存取和使用角度合理存储数据。 数据建模的好处&#xff1a; 性能&#xff1a;良好的数据模型能帮助我们快…

4款国产实用软件,只因功能强大,常被误认为是外国人开发的

过去常听说国外的XXX好&#xff0c;国外的月亮一定更圆&#xff0c;国产软件一样很良心&#xff0c;然而由于偏见&#xff0c;却被误认为是外国人开发的&#xff0c;闹出笑话。 1、Cruiser EXP Alpha 这是我见过最强大的电脑工具箱&#xff0c;没有之一&#xff0c;收纳了超120…

被新华社技术局点名!中国电信这个“黑盒子”干啥了?

全媒体时代&#xff0c;新闻报道又快又好&#xff0c;需要先进技术提供有力支撑。近日&#xff0c;中国电信收到新华社通信技术局感谢信&#xff0c;点赞中国电信5G商企专网产品&#xff0c;基于5G专线进行点对点快速组网&#xff0c;实现了前方报道重要节点物理线路的“空天备…

Springboot整合EasyExcel,实现Excel文件上传

一、概念 EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。 它能让你在不用考虑性能、内存的等因素的情况下&#xff0c;快速完成Excel的读、写等功能。EasyExcel是在尽可能节约内存的情况下支持读写百M的Excel。 二、Excel的上传(读Excel) 1.E…

Spring Batch 批处理-作业增量参数

引言 接着上篇&#xff1a;Spring Batch 批处理-作业参数校验&#xff0c;了解作业参数校验后&#xff0c;本篇就来了解一下Spirng Batch 作业增量参数。 作业增量参数 不知道大家发现了没有&#xff0c;每次运行作业时&#xff0c;都改动作业名字&#xff0c;或者改动作业的…

php就业招聘系统mysql数据库web结构计算机软件工程网页wamp

一、源码特点 PHP就业招聘系统 是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环 境为PHP APACHE&#xff0c;数据库为mysql5.0&#xff0c;使用php语言开发。 php就…

【C00098】基于SSM的校园疫情防控管理系统——可视化大屏

基于SSM的校园疫情防控管理系统——可视化大屏项目简介项目获取开发环境项目技术运行截图注意&#xff1a;2022年最新款&#xff0c;全网唯一&#xff01;&#xff01; 先到先得&#xff01;&#xff01; 项目简介 基于ssm框架开发的校园疫情防控管理系统共分为四个角色&…

非零基础自学Golang 第6章 Go语言内置容器 6.3 映射

非零基础自学Golang 文章目录非零基础自学Golang第6章 Go语言内置容器6.3 映射6.3.1 声明映射6.3.2 初始化映射6.3.3 遍历映射6.3.4 从映射中删除键值对第6章 Go语言内置容器 6.3 映射 映射&#xff08;map&#xff09;是一种无序的键值对的集合&#xff0c;map的键类似于索引…

聚观早报 | 特斯拉上线Steam平台;苹果CEO库克访问索尼

今日要闻&#xff1a;特斯拉上线Steam平台&#xff1b;苹果CEO库克访问索尼&#xff1b;三星向华为转让多项专利&#xff1b;NASA将在太空调查水资源&#xff1b;传推特拖欠总部租金数周特斯拉上线Steam平台 12 月 14 日消息&#xff0c;特斯拉已经为其ModelS和ModelX电动汽车上…

建筑建材企业如何高效进行合同签署?数商云B2B系统推动企业合同签约规范化

建筑建材行业作为重要的材料工业&#xff0c;其主要产品包括建筑材料及制品、非金属矿及制品、无机非金属新材料三大门类&#xff0c;现广泛应用于建筑、军工、环保、高新技术产业和人民生活等领域&#xff0c;占国民生产总值的20&#xff05;左右&#xff0c;但目前建筑建材行…

开关电源环路稳定性分析(08)——电流型补偿网络

大家好&#xff0c;这里是大话硬件。 在上一节分析了3种类型的电压型补偿网络&#xff0c;当然前面的内容还达不到环路补偿的要求&#xff0c;在后面会有内容对其进行补充。我们先把整个开关电源的闭环控制所需要基本知识点过一遍&#xff0c;再针对性的分析。 这一讲我们来分…

源码角度详解Java中的优先队列PriorityQueue(堆的实现)

if (e null) throw new NullPointerException(); modCount; int i size; if (i > queue.length) grow(i 1); size i 1; if (i 0) queue[0] e; else siftUp(i, e); return true; } 在offer方法中&#xff0c;我们会先判断数组是否需要扩容&#xff0c;然…

DataX 原理解析和性能优化

datax简介 datax是阿里开源的用于异构数据源之间的同步工具&#xff0c;由于其精巧的设计和抽象&#xff0c;数据同步效率极高&#xff0c;在很多公司数据部门都有广泛的使用。本司基于datax在阿里云普通版的rds服务器上实现了通过公网&#xff0c;从阿里云杭州到美国西部俄勒…

一种基于Spark深度随机森林的网络入侵检测模型

一种基于Spark深度随机森林的网络入侵检测模型学习目标学习内容目前存在的不足为了解决这个问题特征分片深度并行随机森林Deep Parallel Random Forest(DPRF)投票策略Spark 上的并行化高复用缓存计算每个RDD的权重分层替换模型评估局限性参考论文申明&#xff1a; 未经许可&…

ASP.NET Core Web API 学习笔记

目录 一、Demo 1. 创建项目 2. 启动项目 3. 编写 api demo 二、C# .NET WEB 程序结构 一、Demo 1. 创建项目 创建的项目结构如下: Properties 配置文件&#xff0c;存放了一些 .json 文件用于配置 ASP.NET Core 项目 Propertics/launchSettings.json 启动配置文件&…

以岭药业:连花清瘟火爆背后,数字化重塑人力资源管理

近日&#xff0c;随着疫情防控政策“国十条”发布&#xff0c;新冠防疫政策逐步进入后防疫时代&#xff0c;每个人要做自己健康的“第一责任人”。而连花清瘟作为中医药治疗新冠肺炎筛选出的“三药三方”之一&#xff0c;也成为新疫情防控模式下的家庭常备药。连花清瘟自上市以…

怎么将图片内容转换成文字?这两种方法可以轻松实现

如何将图片的内容转换成文字呢&#xff1f;大家在使用图片文件的时候&#xff0c;遇到那种图片中包含一些有用的文字信息时&#xff0c;没有办法直接复制下来使用&#xff0c;只能对照着图片将文字信息给记录下来&#xff0c;这样会很耗费我们的时间。其实是有方法能够直接将图…

Python学习中常见的几个报错,看你踩雷没

前言 嗨嗨 今天给大家统计一下, 在学习Python中遇到的常见报错, 不一定会很全面, 但是应该会持续更新, 有用的话, 记得收藏哦~ 下面我会总结遇到的报错截图, 给出解决办法, 如果有需要补充的报错, 或者你解决不了的报错, 欢迎来文章最下方QQ群里面找我~ 1. 模块未安装 (Mod…

面试中这样介绍自己的项目经验,轻松拿Offer

面试时7分靠能力&#xff0c;3分靠技能&#xff0c;而刚开始时的介绍项目又是技能中的重中之重&#xff0c;所以本文将从“介绍”和“引导”两大层面告诉大家如何准备面试时的项目介绍。 在面试时&#xff0c;经过寒暄后&#xff0c;一般面试官会让介绍项目经验 。常见的问法是…

Go C 编程 第4课 变色魔法(魔法学院的奇幻之旅 有Go C编程绘图)

慧通教育 慧通教育 34.画彩色旗帜 (魔法学院第4课)--2022.12.15 登录 35.画转动的方形 (魔法学院第4课) 登录 36.画wifi信号 (魔法学院第4课) 登录 888.哪个大&#xff1f; (课程6&#xff09; 难度&#xff1a;1 登录 889.余数大小 (课程6) 难度&#xff1a;1 登录 适合…