三面阿里云被虐,15天读完这份pdf文档,我拿下“美团通知单”

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云数据库 Tair(兼容Redis),内存型 2GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 首先介绍一下我的个人背景,鄙人小康家庭,父母都是普通职业,供我读书长大不容易,好在我也算争气,高考发挥正常,考了个还算不错的大学,华南地区某211。今年的金三银四本是想好好拼一把,奈何受到疫情影响,只能将自己的计划缩减又缩减,所以第一家选择去面试的阿里,奈何三面被虐得“体无完肤”,好在自己并未气馁,复习15天后去面试了美团,最终4面拿下了offer。

开篇:说清缘由

首先介绍一下我的个人背景,鄙人小康家庭,父母都是普通职业,供我读书长大不容易,好在我也算争气,高考发挥正常,考了个还算不错的大学,华南地区某211。今年的金三银四本是想好好拼一把,奈何受到疫情影响,只能将自己的计划缩减又缩减,所以第一家选择去面试的阿里,奈何三面被虐得“体无完肤”,好在自己并未气馁,复习15天后去面试了美团,最终4面拿下了offer。

文章以下内容主要是分享面经和个人的学习建议,内容涉及到很多PDF文档(面试题库、学习笔记、实战文档、脑图等),由于文章有限,需要这些文档的,可以点击此处来获取就可以了!

阿里云三面面经

阿里云一面面试题:

  • 自我介绍
  • 聊聊项目,时间大概15种左右,面试官会根据项目的一些设计点来提问,提前做好准备,别自己坑了自己
  • 分布式锁是锁住一部分还是整个系统,既然是锁住整个,为什么不用消息队列?
  • 详细讲下怎么用 mq 实现的最终一致性,还有怎么利用的消息事务?
  • tcp 于 http 的关系,如何基于 tcp 实现 http
  • Java 打开一个 http 流不关闭的后果
  • io 流是基于抽象类还是接口实现的
  • 数据库的乐观锁和悲观锁是什么
  • 乐观锁实现原理,讲到一半,来写一个乐观锁吧
  • java 的类中有什么方法
  • 线程安全是什么?
  • volatile 和 synchorized 的区别
  • 假如有一个类 A 和一个 类 B,这两个类都有一个变量和一个自增操作,A 类的变量用 volatile 修饰,B 类没有用,B 类的自增操作用 synchorized 修饰,他们都是线程安全的吗,如果都是,那为什么要用 synchorized ,volatile 不是更轻量吗,synchorized 有什么作用。
  • 智力题:岛上有群人,各自戴着红帽子或者白帽子,但都不知道自己帽子颜色,只有知道自己帽子颜色,第二天才能出岛,这时候有个人进来说了句“你们之中至少有一个人戴了顶红帽子”,问岛上的人最后的离开情况
  • 算法:矩阵中的最长上升序列

阿里云二面面试题:

  • 自我介绍
  • 项目介绍
  • java集合框架全部介绍,从list set queue到map
  • hashmap底层扩容线程安全问题
  • 如果一个对象 要作为hashmap的key需要做什么?
  • Threadlocal类以及内存泄漏
  • 线程同步方式,具体每一个怎么做的
  • jvm类加载双亲委派模式,有没有能破坏这个模式的方法?类加载整个过程解释
  • 垃圾回收算法,垃圾回收器有什么?
  • synchronized用在静态和非静态方法的区别
  • 你做项目的思路是什么,看过什么源码,什么开源网站经常访间,看是什么学的的书不?

阿里云三面面试题:

  • 问项目相关的技术栈(我回答的是MongoDB)
  • 怼问:为什么要用MongoDB?为什么不用MySQL?MongoDB有哪些特性,能说一下吗?
  • 文档型数据库有哪些?ES与MongoDB有什么区别?为什么ES搜索更快?
  • 数据库都有哪些类型,关系型数据库和NoSQL有什么区别?
  • NoSQL有哪些?他们的使用场景都说一下
  • 问JVM,类加载到卸载的过程都说一下
  • UML都有哪些图?如何从这些UML的图中来实现你的需求设计?
  • 设计模式说一下,Spring源码看过吧?那说一下设计模式是如何在Spring中体现的?
  • Spring为什么要用简单工厂模式?
  • 微服务了解过吧(了解过一点),微服务都有什么好处?
  • 微服务都有哪些框架或中间件?
  • SpringCloud都有哪些组件啊?和阿里开源的这些有什么不同呢?如果要你用你该如何选择?
  • SOA了解过吧?那什么是SOA?SOA与微服务相比有什么优缺点?
  • 如果让你提高一个系统,你该怎么做?如果让你设计一个系统,你要考虑哪些方面?
  • 对什么技术比较熟悉(回答的Java多线程),JDK提供了什么来实现线程安全啊?
  • 超线程是什么?知道吗?(顿时懵了,啥啊,没听过)
  • 对未来的技术有什么规划?你为什么要学这些技术?

阿里云面试题答案+解析:

美团点评四面面经

美团点评一面面试题:

  • 介绍项目(我说了用了分布式锁,然后就开始针对分布式进行提问了)
  • 分布式锁的实现
  • 分布式锁过期解决
  • 前缀树是什么?前缀树的使用场景?
  • 分布式数据库主从复制(我说我不会分布式的,我会主从复制,然后面试官叫我讲讲)
  • MySQL 死锁发生的原因和解决
  • MySQL 分别建立索引 a,b,c ,语句 select ...where b=x,c=x,a=x 能不能用到索引,建立联合索引能不能用到,a=x,b>x,能不能用到,用到几个索引?
  • B 树和 b+ 树的区别 b+ 树的优点
  • Linux cpu 满了怎么排查?
  • 怎么查看占 cpu 最多的线程?
  • Linux怎么搜索文件中的字符串,写到另一个文件中
  • liunx 网络相关命令
  • 如何判断链表是否有环
  • Java = 和 equals的区别
  • Java contentMap 和 HashMap 什么区别,线程安全怎么实现
  • HashMap 怎么解决哈希冲突,哈希冲突还有什么解决方法
  • Java 运行时异常和检查性异常
  • Java 类加载
  • 什么是泛型 泛型的使用场景
  • 面向过程和面向对象(一紧张差点三大特性的多态想了十秒才说出来)
  • 多态是什么?父类如何调用子类的方法
  • 问我看了啥书(设计模式,图解HTTP,Modern PHP...被打断然后开始问设计模式)

美团点评二面面试题:

  • 自我介绍
  • 进程调度、虚拟内存、进程与线程的区别、如何判断进程是否发生了内存泄漏
  • 常见的设计模式
  • tcp与udp区别、tcp三次握手和四次挥手、流量控制、拥塞控制(四个算法,问得很细)
  • 分布式事务(并说一下2PC)、redis底层数据结构有哪些、持久化方式
  • B+树索引和hash索引的区别
  • redis分布式锁,其他实现方式,zookeeper如何实现的?
  • 分布式的一致性,强一致性和最终一致性
  • Linux如何查看IO读写很高
  • 集群脑裂
  • Linux中异步IO是如何实现的,消息队列如何实现的?
  • Redis持久化,“并发高,数据量小”和“并发低,数据量大”,redis怎么选择存储模式
  • Mysql主从复制原理,mysql中如何做故障转移(容灾)
  • Nginx生命周期
  • 疫情期间,如果让你去调研所在城市口罩的可用量,有哪些方案?

美团点评三面面试题:

  • Java数据类型,同步机制
  • hashmap correnthashmap?
  • Threadlocal原理?
  • 讲讲贪心算法
  • 并发量很大,服务器宕机。你会怎么做?
  • 如果线上用户出现502错误你怎么排查?
  • 说一下你平时的学习方法?
  • 能告诉我你的博客地址吗?(当然可以啊,难道我要说不告诉你吗)
  • syn和lock的区别,哪个更好?
  • 怎选择 三次握手,第三次失败了,失败怎么办?为什么四次挥手?
  • hashmap源码,为什么8个节点变成红黑树 又为什么到了6个节点才恢复为链表?(泊松分布)
  • 缓存穿透,怎解决?
  • 负载均衡算法的实现
  • 轮询和随机的缺点?
  • 分布式服务治理
  • dns迭代和递归的区别
  • 算法:最大回文串

美团点评HR面:

  • 自我介绍,抓住介绍的点让你详细说说?
  • 为什么实习经历只有一个月?
  • 为什么不去找其他的实习?
  • 其他的面试流程?
  • 考虑去哪里工作,北京是唯一选择吗?
  • 为什么来美团?你对美团技术团队的了解有多少?

美团4面面试题完整答案+解析:

被字节惨虐后,我是如何拿下美团offer?

(1)第一步是关键:调整心态

由于字节跳动面试没有通过,所以多少都受到了一些影响,所以接下来的面试中,最关键的一步就是要调整自己的心态,以防被自己的消极心态所影响,因为一旦从心底否定了自己,面试过程中就容易出现语言不流畅、说话没逻辑、条理不清晰、回答不全面,这都是面试中很多面试者容易出现的“致命伤”,所以调整心态,沉着冷静地面对是非常重要的。

(2)第二步要梳理:Java核心知识点(15天时间,读完这本pdf)

关于第二步要梳理,实际上就是面试过程中,发现自己的知识储量是比较杂乱的,不知道面试官下一个会问什么,所以对于Java 的知识点有一个清晰的梳理是很有必要的。关于Java核心知识点,手上也有一本整理好的pdf文档,需要这份文档的可以点击此处来获取就可以了!

这份文档涵盖了很多知识技术点,包括Java部分(基础,并发,多线程,JVM等)、数据结构与算法、开源框架(Spring,Mybatis,MVC,Netty,Tomcat)、分布式(Redis,Zookeeper,kafka,RabbitMQ,负载均衡等)、微服务(SpringBoot,SpringCloud,Dubbo,Docker)。

(3)第三步要飞跃:恶补+刷题

关于第三步,就是要做到让自己有一个质的飞跃。对于恶补和刷题这两个方面,我自己也整理了我个人的一些资料,也是我自己的一些做法,希望具有参考性:

  • 实战系列:Spring全家桶+Redis等

  • 其他相关的电子书:源码+调优

  • 大厂面试题题库:BAT、字节跳动、美团、网易、拼多多、滴滴等

结尾:锦上添花

代码改变世界,要早日成为明日大牛,程序员肩上的担子可是很重啊。趁现在开始,还不晚!

最后祝愿你也能顺利拿下大厂offer,共勉!

以上文章内容中所谈及到的面试资料、学习资料、学习笔记等等,均可以免费分享,需要这些PDF的小伙伴,可以点击此处来获取就可以了!

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6月前
|
数据挖掘 程序员 数据安全/隐私保护
解锁PDF潜力:9个Python库让你的文档处理更高效
程序员晚枫分享了Python处理PDF的9个第三方库,包括PyPDF2、pdfrw、ReportLab、pikepdf、pdfplumber、pdfminer.six、PyMuPDF、popdf和borb,各具优缺点。选择时需考虑应用场景、功能需求、库的维护状态和开源协议。例如,pdfplumber擅长内容提取,而ReportLab和PyMuPDF适用于创建和修改内容。
716 7
|
3月前
|
C# 开发者 Windows
WPF与PDF文档:解锁创建和编辑PDF文件的新技能——从环境配置到代码实践,手把手教你如何在WPF应用中高效处理PDF,提升文档管理效率
【8月更文挑战第31天】随着数字文档的普及,PDF因跨平台兼容性和高保真度成为重要格式。WPF虽不直接支持PDF处理,但借助第三方库(如iTextSharp)可在WPF应用中实现PDF的创建与编辑。本文通过具体案例和示例代码,详细介绍了如何在WPF中集成PDF库,并展示了从设计用户界面到实现PDF创建与编辑的完整流程。不仅包括创建新文档的基本步骤,还涉及在现有PDF中添加页眉页脚等高级功能。通过这些示例,WPF开发者可以更好地掌握PDF处理技术,提升应用程序的功能性和实用性。
109 0
|
3月前
[PDF提取重命名]提取识别文字并对PDF文件批量重命名,提取PDF指定可复制的内容并批量重命名PDF,批量PDF文档指定识别提取区域
本文介绍一款实用工具,能快速从可复制内容的PDF中提取指定区域信息并据此重命名文件。设置提取坐标及导入PDF文档、设定新文件名后启动提取流程,即可高效批量处理。保存坐标设置以便重复使用,适用于需频繁修改大量PDF文件名的场景。
225 0
[PDF提取重命名]提取识别文字并对PDF文件批量重命名,提取PDF指定可复制的内容并批量重命名PDF,批量PDF文档指定识别提取区域
|
3月前
|
开发框架 前端开发 JavaScript
在Winform分页控件中集成导出PDF文档的功能
在Winform分页控件中集成导出PDF文档的功能
|
4月前
|
JavaScript Java
Java 将Markdown文件转换为Word和PDF文档
【7月更文挑战第5天】Java中使用`Spire.Doc for Java`库可方便地将Markdown转换为Word或PDF。基本步骤包括导入模块,创建`Document`对象,加载Markdown文件,然后保存为目标格式(`.docx`或`.pdf`)。若遇到`Invalid UTF-8 stream`错误,需确保Markdown文件是UTF-8无BOM编码。页面设置可通过`PageSetup`类调整。注意,实际应用会依据具体需求和环境有所调整。
239 6
|
4月前
|
JavaScript 数据库
文本,在线浏览PDF,一个最简单的文档标准样式,文档预览非常简单的样式,文档管理样式设计,标准,好的设计
文本,在线浏览PDF,一个最简单的文档标准样式,文档预览非常简单的样式,文档管理样式设计,标准,好的设计
|
4月前
|
Unix Linux Shell
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
|
5月前
|
Java 数据安全/隐私保护
Java使用PDFBox开发包实现对PDF文档内容编辑与保存
Java使用PDFBox开发包实现对PDF文档内容编辑与保存
215 7
|
5月前
使用LabVIEW打开默认应用程序中的文档(PDF,Word,Excel,Html)
使用LabVIEW的"Open a Document on Disk.vi",存于<LabVIEW>\vi.lib\Platform\browser.llb,可让默认应用打开硬盘文档。此VI仅基础打开功能,高级控制推荐LabVIEW Report Generation Toolkit或ActiveX。注意:避免版本升级问题,最好将VI复制到vi.lib外的目录。
225 3
|
5月前
|
Java Maven
使用Java合并PDF文档
使用Java合并PDF文档
168 0