1年半经验,2本学历,Curd背景,竟给30K,我的美团Offer终于来了

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 如标题所示,我的个人背景非常简单,Java开发经验1年半,学历普通,2本本科毕业,毕业后出来就一直在Crud,在公司每天重复的工作对我的技术提升并没有什么帮助,但小镇出来的我也深知自我努力的重要性,想要改变“命运”,没有背景没有资本的人,只能通过勤奋获得。

个人背景

如标题所示,我的个人背景非常简单,Java开发经验1年半,学历普通,2本本科毕业,毕业后出来就一直在Crud,在公司每天重复的工作对我的技术提升并没有什么帮助,但小镇出来的我也深知自我努力的重要性,想要改变“命运”,没有背景没有资本的人,只能通过勤奋获得。

幸运女神往往会眷顾努力的人,所以当好运降临到我头上,我并不诧异,目前拿到了美团30K的offer,下文也不说废话,主要分享我这次“美团面试经历”和“个人学习方法”,希望能帮助到你们。

双汇发展

内容过多,不适合在文章全部阐述,下文的面试题以及学习资料都有整理在pdf里,需要完整pdf版的,可以点击此处来获取就可以了!

美团面试经历(还原最真实的4面)

美团一面:

1、自我介绍

2、聊项目相关

  • 介绍项目
  • 怎么保证redis与Mysql的数据一致性
  • 见你写了个加随机数预防缓存雪崩,解释一下
  • 未改进和改进后的Jmter测试性能对比

3、Redis

  • 为什么选择Redis作为缓存?
  • 为什么Redis的性能十分的高?
  • 说一下单进程、单线程的Redis和你平时写的多线程程序的对比
  • 如何保证Redis的高可用?(哨兵、持久化策略RDB、AOF)
  • 解释一下哨兵、RDB、AOF
  • 主从一致性
  • Redis数据淘汰策略
  • 能说一下分布式事务吗?
  • setnx是事务吗?

4、Mysql

  • 解释一下事务
  • 讲一讲事务隔离级别
  • 为什么使用B+树作为索引
  • 聚簇索引和非聚簇索引的区别

5、Java

  • Java是如何保证其安全性的
  • 刚见你说了Java 内存泄漏问题,解释一下什么情况下会出现
  • 说一下BIO、NIO、AIO

6、手撕算法

  • 一个数组找出出现次数最多的一个数,如果多个数出现的次数相同则输出第一个
  • 生产者消费者(一对一)

7、其它

  • 平时怎么学习的
  • 有什么需要问的吗?

美团二面:

1、手撕算法

  • 10个多线程保证 i从0加到10 (差点翻车,主线程忙等另外10个线程完结
  • 反转链表
  • 上台阶(n=80)

2、操作系统

  • 常用的linux命令说一下
  • 操作系统中的信号 和 信号量有什么关系
  • epoll 和 Selector 有什么区别?

3、计算机网络

  • 说一下拥塞控制

4、数据结构

  • 说一下红黑树,你平时用的技术哪里用到了它?
  • 哈希表怎么处理冲突?

5、项目相关

  • 把项目放到服务器上运行的时候有没有遇到什么问题?查看项目运行的状态怎么做?
  • spring 和 springboot的关系你是怎么理解的?
  • Spring IOC和AOP说一下你的理解
  • 为什么用消息队列?
  • 对于消息的重复消费你有什么设计方案吗?

美团三面:

  • 你怎么学的Java啊?
  • 设计模式了解吗?单例讲一下,懒汉饿汉double-check,怎么实现。策略模式,外观模式,适配器模式,装饰器模式,分别讲一下
  • 联合索引什么时候不会触发索引?
  • AOP了解么,有什么好处,如何使用,怎么实现的?
  • 支付宝到银行的转账业务怎么实现?
  • redis实现分布式锁
  • 三台机器集群,按不同权重访问,怎么做?

美团四面(hr):

  • 先介绍一下你自己吧
  • 说一下四种IO模型
  • 平时怎么去学习的?
  • 为什么你说学习了要去实践?
  • 说一下的最大的优点和缺点
  • 举一下你缺点的例子
  • 想象一下你几十年后是怎样的生活?
  • 你觉得最痛苦的一段时间
  • 对你影响最大的一件事情
  • 在安排活动的过程中有没有发生什么冲突?
  • 你有什么崇拜的人吗?
  • 你有什么想问的?

让“努力”成为自己的背景(如何学习?)

1、看视频进行系统学习

这1年多的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。

另外,我自己也珍藏了好几套视频资料躺在网盘里,有需要的我也可以分享给你:

2、读源码,看实战笔记,学习大神思路

“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。

Spring源码深度解析:

Mybatis 3源码深度解析:

Redis学习笔记:

Spring Boot核心技术-笔记:

3、面试前夕,刷题冲刺

面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。

关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三:

总结

只有技术过硬,在哪儿都不愁就业,“万般带不去,唯有业随身”学习本来就不是在课堂那几年说了算,而是在人生的旅途中不间断的事情。

人生短暂,别稀里糊涂的活一辈子,不要将就。

文章内容中涉及到的Java面试题、源码文档,技术笔记等学习资料,均可以免费分享给大家学习,只需你动动手多多支持即可!

——可以点击此处来获取就可以了!

相关文章
|
11月前
|
消息中间件 缓存 监控
go高并发之路——消息中间件kafka
本文介绍了高并发业务中的流量高峰应对措施,重点讲解了Kafka消息中间件的使用,包括常用的Go语言库sarama及其版本问题,以及Kafka的版本选择建议。文中还详细解释了Kafka生产者的四种分区策略:轮询、随机、按Key和指定分区,并提供了相应的代码示例。
324 1
go高并发之路——消息中间件kafka
|
Python
matplotlib绘制雷达图之基本配置——万能模板案例
matplotlib绘制雷达图之基本配置——万能模板案例
1618 0
matplotlib绘制雷达图之基本配置——万能模板案例
|
消息中间件 存储 Kafka
go语言并发实战——日志收集系统(二) Kafka简介
go语言并发实战——日志收集系统(二) Kafka简介
281 1
|
网络协议 应用服务中间件 Go
[golang]使用mTLS双向加密认证http通信
[golang]使用mTLS双向加密认证http通信
313 0
|
消息中间件 算法 Java
go语言并发实战——日志收集系统(三) 利用sarama包连接KafKa实现消息的生产与消费
go语言并发实战——日志收集系统(三) 利用sarama包连接KafKa实现消息的生产与消费
596 0
|
算法
如何准备阿里技术面试?终面官现身说法!
7月9日 19:00-21:30 阿里云开发者社区首场“Offer 5000”直播开启!15位团队技术大牛在线招人,更有《阿里云技术面试红宝书》助你拿下Offer!马上投递简历:https://developer.aliyun.com/special/offerday01
20706 0
|
SQL 存储 算法
聊聊 Sharding-JDBC 分库分表
聊聊 Sharding-JDBC 分库分表
|
编译器
Qt没有被正确安装,请运行make install -- 问题的解决办法
Qt没有被正确安装,请运行make install -- 问题的解决办法
1567 0
|
缓存 Kubernetes 算法
公开下载 | 300+页《服务端开发与面试知识手册》,12.8w字经典架构知识
公开下载 | 300+页《服务端开发与面试知识手册》,12.8w字经典架构知识
1415 0
|
iOS开发 数据安全/隐私保护
[分享]错误“应用程序Xcode的这个版本不能与此版本的OS X配合使用”以及Mac源码和IOS开发资料分享
[分享]错误“应用程序Xcode的这个版本不能与此版本的OS X配合使用”以及Mac源码和IOS开发资料分享 安装Xcode时,出现“应用程序Xcode的这个版本不能与此版本的OS X配合使用”错误如下: 解决方案是: /system/libary/coreservice/SystemVersion.plist中的两个10.10为10.10.5 修改过程会提示无权限修改,要不要建立副本,点击提示框中的“复制”按钮,存到桌面上。
3986 0