收割不易,五面Alibaba终拿Java岗offer
前言
前段时间有幸被阿里的一位同学内推,参加了阿里巴巴Java岗位的面试,本人19年双非本科软件工程专业,目前有一年半的工作经验,面试前就职于一家外包公司。如果在自己本人拿到offer之前,如果有人告诉我一年工作经验可以直接从外包进阿里,我肯定是不信。但是真的发生在自己身上,真的觉得非常非常幸运与不可思议。
Alibaba的这次面试总共有五面,包括:
-
第一轮电话面试(同事面):将近1h20min,主要是介绍项目与基础知识
-
第二轮视频面试(组长面):将近1h,同样也是介绍项目与基础知识
-
第三轮视频面试(主管面):将近40min,更深次的项目以及分布式的解决方案
-
第四轮视频面试(主管面):将近1h,项目介绍以及基础知识,也会问你的职业规划
-
第五轮视频面试(项目+hr):将近1h,前半部分是技术面,后半部分是hr面试
稍整理了一下,主要涉及以下知识:Java、数据库、分布式、中间件、微服务等,我大致将每个部分的问题整理了一下
第一:Java部分
面试问题:
-
Jdk1.7与jdk1.8 在g1垃圾回收器上有什么区别?
-
常见的加载器有哪些,如何自定义一个加载器?
-
生产上有没有遇到JVM参数调优的问题?
-
知道什么是内存泄露吗,如何手动去造成内存泄露?
-
线程池常见的一些参数,知道Future接口吗?
-
常见的代理有哪些,两者有什么区别?
相关复习笔记:
1.JVM复习参考:多线程+垃圾回收+GC+类加载机制...
JVM复习参考:多线程+垃圾回收+GC+类加载机制...
2.Java性能调优实战:JVM+多线程+数据库+设计模式+Tomcat+实战演练...
Java性能调优实战:JVM+多线程+数据库+设计模式+Tomcat+实战演练...
第二:数据库部分
面试问题:
-
常见的索引类型有哪些?
-
为什么主键索引使用B+树而不去使用B树?
-
说一说联合索引最左原则的原理,并且什么情况下索引是生效的?为什么?
-
常见的隔离级别有哪些?有什么区别?
-
知道回表查询吗?聚集索引?
-
项目中有没有使用到分表分库?说一说怎么分的?
相关复习笔记:
1.MySQL数据库复习参考:索引+锁+分库分表...
MySQL数据库复习参考:索引+锁+分库分表...
2.MySQL高级知识整合:架构+存储引擎+锁+事务+SQL优化...
第三:分布式/中间件部分
面试问题:
-
Redis是单线程的吗?
-
为什么Redis的性能比较高?
-
Redis集群化的方式有哪些?怎么确保数据的一致性?说一说你对一致性hash的认识。
-
消息队列中拉模式与推模式的区别?
-
使用消息队列有没有遇到消息丢失的情况,怎么去设计补偿行为?
-
说一说项目中为什么使用Kafka而不去使用其它消息队列?
-
说一说Zookeeper中的Zab协议?
-
分布式锁的实现方案有哪些?各有哪些优势与缺点?
-
分布式限流Sentinel中线程模式与QPS模式的区别?
-
Sentinel阈值单机模式与集群模式的区别?
-
如何解决限流时在一个服务中调用外部服务,不会因为外部服务超时,导致被限流。
-
ElaticJob分布式调度时如何解决数据倾斜的问题?
相关复习笔记:
1.Redis复习参考(68道高频面试解析题):基础+数据结构+高并发处理+集群+缓存...
Redis复习参考(68道高频面试解析题):基础+数据结构+高并发处理+集群+缓存...
2.Kafka复习参考:集群+生产者+消费者+源码...
Kafka复习参考:集群+生产者+消费者+源码...
3.RocketMQ复习参考:消息+源码+队列...
RocketMQ复习参考:消息+源码+队列...
4.消息队列高频面试整理:面试官心理分析+面试题详解...
消息队列高频面试整理:面试官心理分析+面试题详解...
5.分布式系统高频面试整理:Dubbo+Zookeeper+分布式事物+分布式锁...
分布式系统高频面试整理:Dubbo+Zookeeper+分布式事物+分布式锁...
第四:微服务部分
面试问题:
-
有没有遇到dubbo连接数爆满的问题?
-
dubbo如何实现使用zookeeper找到对应的服务?
-
dubbo使用zookeeper作为分布式治理中心有什么弊端?
-
说说你认为dubbo与SpringCloud的差异?
相关复习笔记:
1.微服务高频面试整理
微服务高频面试整理
2.SpringCloud Alibaba实战笔记
SpringCloud Alibaba实战笔记
SpringCloud Alibaba实战笔记
其它
-
SpringBoot的启动过程?
-
如果访问一个域名,说说怎么达到我们的应用服务器
-
如何解决秒杀模块“库存”超卖的问题?
-
如何解决秒杀模块“订单超时回库存”的问题?
1.SpringBoot学习教程
SpringBoot学习教程
2.高并发系统设计相关问题
高并发系统设计相关问题
总的来说,其实Alibaba的面试总会结合你项目经验QQ提问,还是相当全面的。所以在面试之前,除了刷题,你还得有能够“拿得出手”的项目做好充分的准备!面试官可能会让你介绍一下这个项目包括项目背景、项目架构、QPS等等...
另一方面,“面试造火箭,工作拧螺丝”这可也不是说着玩的,关键还是要对自己有信心,只要自己准备得足够充分,就可以在面试中发挥自如!
关于刷题方面,上面我整理了一份Java高级面试知识整理(包括:消息队列、缓存、MySQL、高并发、分布式、高可用、微服务等)。
其他还有JVM、数据库、消息中间件、分布式、调优、kafka、微服务、SpringBoot、SpringCloud、Redis等等的复习笔记,都有整理对应的文档皆如前文所见!
整理不易,祝各位小伙伴前程似锦,Offer不断,挺进Alibaba!!
相关文章:

收割不易,五面Alibaba终拿Java岗offer
前言 前段时间有幸被阿里的一位同学内推,参加了阿里巴巴Java岗位的面试,本人19年双非本科软件工程专业,目前有一年半的工作经验,面试前就职于一家外包公司。如果在自己本人拿到offer之前,如果有人告诉我一年工作经验可…...

【离线数仓-4-数据仓库设计-分层规划构建流程】
离线数仓-4-数据仓库设计-分层规划&构建流程离线数仓-4-数据仓库设计-分层规划&构建流程1.数据仓库分层规划2.数据仓库构建流程1.数据调研1.业务调研2.需求分析3.总结2.明确数据域3.构建业务总线矩阵&维度模型设计4.明确统计指标1.指标体系相关概念1.原子指标2.派生…...

SQL零基础入门学习(十一)
SQL零基础入门学习(十) SQL NOT NULL 约束 NOT NULL 约束强制列不接受 NULL 值。 NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。 下面的 SQL 强制 “ID” 列、 “LastName” …...

排序基础之插入排序
目录 前言 一、什么是插入排序 二、实现插入排序 三、插入排序优化 四、插入排序的特性 前言 上一篇中我们说到了《排序基础之选择排序》,这一篇我们来学习一下排序算法中的另一种基础排序算法——插入排序。 一、什么是插入排序 简单来说就是:每…...

LabVIEW控制DO通道输出一个精确定时的数字波形
LabVIEW控制DO通道输出一个精确定时的数字波形如何使用数据采集板卡的DO通道输出一个精确定时的数字波形?解答:产生一个数字波形首先需要创建一个布尔数组,把波形序列信息放到该布尔数组中,然后通过一个布尔数组至数字转换vi来产生数字波形。…...

openpnp - 零碎记录
文章目录openpnp - 零碎记录概述笔记配置文件保存无效必须在查找问题之后, 才能保存配置文件如果想找出配置动作引起的配置内容变化, 还是要尝试保存后, 比对变化才行ENDopenpnp - 零碎记录 概述 这段时间, 正在配置校准手头的openpnp设备, 用的官网最新的openpnp2.0. 由于o…...

Qt编写微信支付宝支付
文章目录一 微信支付配置参数二 支付宝支付配置参数三 功能四 Demo效果图五 体验地址一 微信支付配置参数 微信支付API,需要三个基本必填参数。 微信公众号或者小程序等的appid;微信支付商户号mchId;微信支付商户密钥mchKey; 具…...
LeetCode 剑指 Offer 64. 求1+2+…+n
求 12…n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 示例 1: 输入: n 3 输出: 6 限制: 1 < n < 10000 解法一:利用逻辑运算符的短路…...

Mapper代理开发
MyBatis快速开发https://blog.csdn.net/weixin_51882166/article/details/129204439?spm1001.2014.3001.5501 使用Mapper代理方式完成 定义与SQL映射文件同名的Mapper接口 ,将Mapper接口和SQL映射文件放置同一目录结构 新建接口和包: 将Mapper接口和…...
为什么在连接mysql时,设置 SetConnMaxIdleTime 没有作用
目录测试1go 1.15.15go 1.17.12测试2go 1.15.15go 1.17.12参考在使用golang 连接 mysql时,为了节省连接资源,在连接使用过后,希望在指定长度时间不再使用后,自动关闭连接。 这时,经常会使用SetConnMaxLifetime()&#…...
嵌入式开发利器
前言 俗话说,工欲善其事必先利其器,做嵌入式开发首先需要选择好的工具,对的工具,工具选对了能事半功倍,节省很多时间,那些开发大佬一般都会使用各种各样的工具,不同的环节使用不同的工具&#…...
Qt 的QString类的使用
Qt的QString类提供了很方便的对字符串操作的接口。 使某个字符填满字符串,也就是说字符串里的所有字符都有等长度的ch来代替。 QString::fill ( QChar ch, int size -1 ) 例: QString str "Berlin";str.fill(z);// str "zzzzzz"…...

django项目部署(腾讯云服务器centos)
基本步骤: 购买腾讯云服务器并配配置好 >> 本地项目依赖收集准备 >> 上传项目等文件到服务器 >> 服务器安装部署软件和python环境 >> 开始部署(全局来看就这5个步骤) 目录 目录 1. 购买腾讯云服务器并配配置好 …...

计算机网络笔记、面试八股(一)——TCP/IP网络模型
Note:【计算机网络笔记、面试八股】系列文章共计5篇,现已更新3篇,剩余2篇(TCP连接、Web响应)会尽快更新,敬请期待! 本章目录1. TCP/IP网络模型1.1 应用层1.1.1 应用层作用1.1.2 应用层有哪些常用…...

51单片机入门 - 简短的位运算实现扫描矩阵键盘
介绍 例程使用 SDCC 编译、 stcgal 烧录,如果你想要配置一样的环境,可以参考本专栏的第一篇文章“51单片机开发环境搭建 - VS Code 从编写到烧录”,我的设备是 Windows 10,使用普中51单片机开发板(STC89C52RC…...

Mr. Cappuccino的第45杯咖啡——Kubernetes之部署SpringBoot项目
Kubernetes之部署SpringBoot项目创建一个SpringBoot项目将SpringBoot项目打成Jar包使用Dockerfile制作镜像部署SpringBoot项目创建一个SpringBoot项目 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache…...
vscode在远程服务器提交git的时候无需每次都要输入账号密码的配置
要避免在每次 git 操作时都需要输入账号和密码,可以使用 SSH 鉴权,具体步骤如下:生成 SSH key在本地计算机上使用命令 ssh-keygen -t rsa -b 4096 生成 SSH key。这个命令将在 ~/.ssh 目录下生成两个文件:id_rsa 和 id_rsa.pub&am…...

【Spring 基础】
【Spring 基础】 一、 Spring 介绍 1. 简述 Spring 技术是 JavaEE 开发必备技能,企业开发技术选型专业角度 简化开发,降低企业级开发的复杂性 IoCAOP 事务处理 框架整合,高效整合其他技术,提高企业级应用开发与运行效率 MyBat…...
2023年全国最新机动车签字授权人精选真题及答案5
百分百题库提供机动车签字授权人考试试题、机动车签字授权人考试预测题、机动车签字授权人考试真题、机动车签字授权人证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 四、多选题 1.以下哪些气体属于排放污染物(…...
5138: 数字游戏
描述爸爸、妈妈还有YuYu一起玩一个数字游戏,玩家从某个数开始挨个轮流报数,当数字里含有4或7时,不能报出该数字,只能拍一下手。报数的顺序总是从YuYu开始,然后妈妈、爸爸,最后回到YuYu,以此类推…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...

day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...

毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...