【Java面经】阿里三面被挂、幸获内推,历经5轮终于拿到口碑offer

news2025/7/10 0:41:18

每一个互联网人心中都有一个大厂梦,百度、阿里巴巴、腾讯是很多互联网人梦寐以求的地方,而我也不例外。但是,BAT等一线互联网大厂并不是想进就能够进的,它对人才的技术能力和学历都是有一定要求的,所以除了学历以外,我们的技术和能力都要过硬才行。

今年前前后后我参加了阿里巴巴两次面试,一次是社招,一次是内推,第一次社招3面过后就被挂了,内推历经5面拿到的offer,进入的是阿里口碑部门,分享一下这次的面经,希望能帮助到大家。

社招阿里巴巴(新零售部门),三面被挂

阿里巴巴一面(55分钟)

  • 先介绍一下自己吧
  • 说一下自己的优缺点
  • 具体讲一下之前做过的项目
  • 你觉得项目里给里最大的挑战是什么?
  • Hashmap为什么不用平衡树?
  • AQS知道吗?知道哪一些呢?讲一讲。
  • CLH同步队列是怎么实现非公平和公平的?
  • ReetrantLock和synchronized的区别
  • 讲一下JVM的内存结构
  • JVM 里 new 对象时,堆会发生抢占吗?你是怎么去设计JVM的堆的线程安全的?
  • 讲一下redis的数据结构
  • redis缓存同步问题
  • 讲一讲MySQL的索引结构
  • 你有什么问题要问我吗?
  • 直接口头通知我:答得不错,准备二面吧

阿里巴巴二面(45分钟)

  • 根据项目问了一些细节问题
  • 说一下HashMap的数据结构
  • 红黑树和AVL树有什么区别?
  • 如何才能得到一个线程安全的HashMap?
  • 讲一下JVM常用垃圾回收器
  • redis分布式锁
  • 再描述一下你之前的项目吧
  • 你觉得这个项目的亮点在哪里呢?
  • 你设计的数据库遵循的范式?
  • 你有没有问题?

阿里巴巴三面(50分钟)

  • 又聊项目
  • 在项目中,并发量大的情况下,如何才能够保证数据的一致性?
  • elasticsearch为什么检索快,它的底层数据结构是怎么样的?
  • JVM内存模型
  • netty应用在哪些中间件和框架中呢?
  • 线程池的参数
  • 讲一下B树和B+树的区别
  • 为什么要用redis做缓存?
  • 了解Springboot吗?那讲一下Springboot的启动流程吧
  • 如何解决bean的循环依赖问题?
  • Java有哪些队列?
  • 讲一讲Spring和Springboot的区别
  • 最近看了什么书?为什么?
  • 你平时是怎么学习Java的呢?

内推阿里巴巴(阿里口碑)

5面拿offer(3轮技术面+总监面+HR面)

阿里巴巴一面(38分钟)- 自我介绍

  • 介绍项目, 具体一点
  • 讲一下Redis分布式锁的实现
  • HashMap了解么吗?说一下put方法过程
  • HashMap是不是线程安全?
  • ConcurrentHashMap如何保证线程安全?
  • 数据库索引了解吗?讲一下
  • 常见排序算法
  • TCP三次握手,四次挥手。
  • 深入问了乐观锁,悲观锁及其实现。

阿里巴巴二面(45分钟)

  • 自我介绍+项目介绍
  • 你在项目中担任什么样的角色?
  • 那你觉得你比别人的优势在哪里?你用了哪些别人没有的东西吗?
  • Java怎么加载类?
  • linux常用命令有哪些?
  • Spring的IOC, AOP。
  • 讲一下ORM框架Hibernate
  • 设计模式了解吗?讲一下
  • 自己实现一个二阶段提交,如何设计?
  • 你还有什么想问的?

阿里巴巴三面(30分钟)

  • 说一下自己做的项目
  • 问了一些项目相关的问题
  • wait()和sleep()的区别
  • 原子变量的实现原理
  • CAS的问题,讲一下解决方案。
  • 有没有更好的计数器解决策略
  • 讲一讲NIO和BIO的区别
  • Nginx负载均衡时是如何判断某个节点挂掉了?
  • 讲一下redis的数据类型和使用场景
  • k8s的储存方式是怎样的?
  • Spring AOP原理是什么?怎么使用?什么是切点,什么是切面?最好是举个例子
  • 算法题:给一堆硬币的array,返回所有的组合

阿里巴巴总监面(34分钟)

  • 算法:给一个set打印出所有子集;多线程从多个文件中读入数据,写到同一个文件中;判断ip是否在给定范围内;打乱一副扑克牌,不能用额外空间,证明为什么是随机的。
  • Tcp和udp区别
  • 线程池的原理以及各种线程池的应用场景
  • 线程池中使用有限的阻塞队列和无限的阻塞队列的区别
  • 如果你发现你的sql语句始终走另一个索引,但是你希望它走你想要的索引,怎么办?
  • mysql执行计划
  • 数据库索引为什么用b+树?
  • 你在做sql优化主要从哪几个方面做,用到哪些方法工具?
  • 有没有想问的?

阿里巴巴HR面(23分钟)

  • 自我介绍
  • 平时怎么学习的?
  • 有什么兴趣爱好吗?
  • 怎么看待996?
  • 怎么平衡工作和学习?
  • 有没有什么想问的

总结

社招时面试新零售部门,主要因为准备不充分,面试又比较紧张,所以发挥不是很好,三面之后没有了后续。之后意识到学习的重要性,平时多拿出时间来学习,后来幸运地拿到内推资格,为了把握住这次机会,做了很多准备,好在已经拿到offer。

本次面经来源于我之前的一位同事的面试经历

年底跳槽季,小弟为各位大哥准备了两份面试宝典:

  • 一份是技术干货《Java核心知识点整理》
  • 一份是面试真题《1000道互联网Java工程师面试题》
  • 资料已整理成文档,需要获取的小伙伴可以直接转发+关注后私信(学习)即可获取哦

Java核心知识点整理

 

1000道互联网Java工程师面试题

 

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

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

相关文章

面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了

由于现在大多计算机都是多核CPU,多线程往往会比单线程更快,更能够提高并发,但提高并发并不意味着启动更多的线程来执行。更多的线程意味着线程创建销毁开销加大、上下文非常频繁,你的程序反而不能支持更高的TPS。 时间片 多任务…

Java项目:JSP员工出差请假考勤管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目为后台管理系统; 管理员角色包含以下功能: 登录,首页,考勤记录增删改查,假期申请记录增删改查,出差申请记录增删…

maven学习:maven 的入门

2.maven 的入门 到目前为止,我们已经大概了解并安装好了Maven,现在,我们开始创建一个最简单的Hello World项目。 2.1 在Idea创建maven项目 创建一个Maven项目也十分简单,选择”Create New Project" 选择”maven”选项,创…

留学推荐信如何写好个人优点和缺点?

留学推荐信是出国申请文书的重要文件之一,是一个从第三方(通常是以前的导师)从学术权威的角度对申请者的客观评价。评价的内容包括学术能力(Academic competence)、性格特点(Personal characteristics&…

如何使用 MySQL 做全文检索这件事

​前言 这有朋友聊到他们的系统中要接入全文检索,这让我想起了很久以前为一个很古老的项目添加搜索功能的事儿。 一提到全文检索,我们首先就会想到搜索引擎。也就是用一个词、一段文本搜索出匹配的内容。一般这种技术都有对应的实现方式,ES&…

从01背包说起(上)

目录 引入 1.什么是动态规划? 2.什么是背包问题? 3.什么是01背包? 模板题 1.题面 2.思路 Ⅰ为何不可用贪心 Ⅱ状态转移方程 3.代码 下期预告 引入 1.什么是动态规划? 动态规划(英语:Dynamic programming&#xff0…

MQTT,JSON,VSCODE(C语言编程环境)心得

VSCODE(C语言编程环境)心得 心得基于linux虚拟机和SSH方式,编辑基于VSCODE,编译基于GCC或G,调试基于GDB的插件,代码管理基于git。 安装GIT:sudo apt-get install git 配置GIT: git…

Mysql时间类型

多个timestamp 默认只对第一个timestamp自动更新时间

element-ui在项目当中的引入以及按需引入使用

目录 1.项目当中引入element-ui A.先使用npm安装 B.在main.js当中引入文件 C.在App.vue当中可以引用button相关的UI组件 2.element-ui配合脚手架按需引入 A.首先安装按需引入的插件 B.修改 .babelrc C.按需引入的好处 1.项目当中引入element-ui A.先使用npm安装 npm i …

【强化学习论文合集】ICML-2021 强化学习论文

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现…

[附源码]Python计算机毕业设计电子工厂进销存管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

哲学讨论:未来的语言模型有没有可能具备意识和主观感受?

文|付奶茶编|ZenMoore问题背景近期,纽约大学心智、大脑和意识研究中心的主任 David Chalmers 汇报了一场非常有思考价值的研究成果,主要是从神经科学的角度讨论了大规模语言模型(Large Language Models,LLMs&#xff0…

刘强东这波操作秀

近日,刘强东发布京东全员信,信中提到:自2023年1月1日起,逐步为十几万德邦的兄弟们缴齐五险一金,确保每个德邦兄弟都能“老有所养,病有所医”,为兄弟们提供基础保障;集团拿出100亿元人…

教程四 在Go中使用Energy创建跨平台GUI - 开发者工具

介绍 本文介绍在Energy中如何使用开发者工具(dev tools) 开发者工具(dev tools) 是前端开发人员常用的,在开发时调式代码、接口、资源加载、CSS调整等等,大多数场景都会使用。 energy封装了部分繁琐的chromium使用,其中之一包含开发者工具…

致敬最美抗击疫情的逆行者 DIV布局大学生抗疫感动专题网页设计作业模板 疫情感动人物静态HTML网页模板下载

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

PD仿真算法中变形梯度矩阵的极分解

1.背景 PD(Projective Dynamics)仿真算法是一种“可并行化计算的”高效的软体形变模拟(或成为仿真、动画)算法,与传统的基于力的有限元方法不同的是,PD算法直接作用于顶点位置,通过最小化能量函…

Wireshark Lab: Ethernet and ARP v7.0

Wireshark Lab: Ethernet and ARP v7.0 实验内容戳这里 介绍部分转自乌漆WhiteMoon Ethernet 以太网 以太网在现在的有线局域网中有着支配者的地位,就像是因特网使得全球互联那样。其实局域网技术还有令牌环、FDDI 和 ATM 等,但是以太网仍然具有很多…

第十三届蓝桥杯 C++ B 组省赛 G 题———积木画(AC)

目录1.积木画1.题目描述2.输入格式3.输出格式4.样例输入5.样例输出6.样例说明7.数据范围8.原题链接2.解题思路AC_code1.积木画 1.题目描述 小明最近迷上了积木画, 有这么两种类型的积木, 分别为 III 型(大小为 2 个单位面积) 和 LLL 型 (大小为 3 个单位面积): 同…

java面试强基(12)

什么是泛型?有什么作用? Java 泛型(Generics) 是 JDK 5 中引入的一个新特性。使用泛型参数,可以增强代码的可读性以及稳定性。 编译器可以对泛型参数进行检测,并且通过泛型参数可以指定传入的对象类型。…

多媒体技术论文研读报告

多媒体技术论文研读报告 一、论文基本信息 论文题目为:基于多模态特征融合嵌入的相似广告检索方法,作者信息:南京大学计算机软件新技术国家重点实验室,南京大学软件学院冯奕、周晓松、李传艺、葛季栋、骆斌,深圳市腾…