安卓成功转型美团(Java岗)分享:10W字总结Java面试题及答案

开篇:为什么转Java?

先说说个人情况吧,坐标广州,16年从一所普通二本大学毕业,毕业后在一家小公司干android开发,年薪在15w左右。转Java的契机是认识到了一个朋友,做Java后台的,经常跟他聊相关的内容,经过慎重考虑及个人的发展规划,所以就决定转型了。

从安卓转Java,肯定不能是说转就转的,需要耗费大量的时间和精力,所以在工作之余是一定要抽出自己的时间来学习。好在付出终是有回报的,简历上不说敢写精通,熟练是没多大问题的,最终4面拿下了美团offer。

以下主要分享面经和个人学习方***包括很多PDF文档,如面试题库(含答案+解析)、学习笔记、实战文档和脑图等等,均可以分享,只需点击传送门即可!!


美团点评面试场景还原,最真实的面经

美团点评第一面:

  1. 做一下自我介绍吧,简单说一下你的项目;
  2. 有遇到过内存泄漏吗?你们是怎么解决的?
  3. Java的基本类型有哪几个?String是不是java的基本类型?String为什么要是final类型的?
  4. 反射机制的底层实现是什么?动态呢?动态的实现原理?
  5. HashMap了解吗?说一下hashmap相关的一些东西?hashmap是线程安全的吗?为什么是线程安全的?
  6. concureenthashmap了解吗?他是如何实现线程安全的?
  7. 你刚才说1.8基于cas?cas的ABA问题怎么解决?
  8. 说一下JVM的线程模型?这些区域都分别是干啥用的?、
  9. 说一下Java类加载器的工作机制?类加载在哪个域进行的?
  10. 说一下Java的线程模型?
  11. violate了解吗?它的原理是什么?violate是线程安全的吗?
  12. 保证线程安全的解决方法有哪些?说一说读写锁吧,读写锁的读
  13. 数据库的索引有哪几种?为什么要用B+树来做索引?组合索引和几个单个的索引有什么区别?数据库的大表查询优化了解吗?MVCC机制了解不?MVCC机制有什么问题?怎么去解决这个问题?mysql慢语句调优做过吗?说说你是怎么做的?
  14. redis了解吗?你说说怎么用redis实现分布式锁?
  15. spring中Bean的作用域,springMVC的controller是线程安全的吗?怎么去保证线程安全呢?
  16. 消息队列有用过吗?说说你怎么用的?
  17. 计算机网络了解吗?说一说TCP三次握手和四次挥手吧
  18. time_wait状态产生的原因是什么?,有什么危害?可以如何避免?
  19. 寻找旋转排序数组中的最小值

假设按照升序排序的数组在预先未知的某个点上进行了旋转。

( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。

请找出其中最小的元素。

你可以假设数组中不存在重复元素。

示例 1:

输入: [3,4,5,1,2]

输出: 1

示例 2:

输入: [4,5,6,7,0,1,2]

输出: 0

美团点评第二面:

  1. 首先还是问项目。
  2. String,StringBuffer,StringBuilder的区别,为什么String是不可变的,StringBuffer和StringBuilder哪个是线程安全的,他们分别适用于什么场景。
  3. java类加载过程是怎么样的,说一下volatile。
  4. 并发包了解吗?假如几个线程之间相互等待,可以用哪个并发类来实现,他的原理是什么?
  5. 数据库慢查询优化了解哪些?
  6. 说一下spring容器的启动过程?
  7. 讲一下分布式锁,基于zookeeper实现和redis实现在性能上有什么差异?
  8. kafka如何保证不丢消息又不会重复消费。了解大数据相关的一些技术吗?
  9. 最后写了道题:跳跃游戏;


给定一个非负整数数组,你最初位于数组的第一个位置。


数组中的每个元素代表你在该位置可以跳跃的最大长度。


判断你是否能够到达最后一个位置。


示例 1:


输入: [2,3,1,1,4]


输出: true


解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。


示例 2:


输入: [3,2,1,0,4]


输出: false

美团点评第三面:

  1. 自我介绍
  2. 项目介绍
  3. 怎么管理项目成员
  4. 当意见不一致时,如何沟通并说服开发成员,并举个例子
  5. 怎么保证项目的进度
  6. 数据库的索引原理
  7. 非聚簇索引和聚簇索引
  8. 索引的使用注意事项
  9. 联合索引
  10. 从底层解释最左匹配原则
  11. Mysql对联合索引有优化么?会自动调整顺序么?哪个版本开始优化?
  12. Redis的应用
  13. Redis的持久化的方式和原理
  14. 技术选型,一个新技术和一个稳定的旧技术,你会怎么选择,选择的考虑有哪些
  15. 说你印象最深的美团点评技术团队的三篇博客
  16. 最近在学什么新技术?
  17. 你是怎么去接触一门新技术的?
  18. 会看哪些书
  19. 怎么选择要看的书
  20. 为什么要转Java?

美团点评第四面:

  • 在原公司的哪一段时间是比较享受的?
  • 为什么现在出来看机会呢?看什么类型的机会?
  • 同事或者朋友之间如何评价你?
  • 平时如何学习呢?有没有什么技巧?
  • 你对我们的业务方向有了解吗?
  • 你的职业规划是什么?
  • 你的一些优点有哪些?
  • 目前还在看哪些机会呢?手里还有别的Offer吗?
  • 转Java之后有遇到哪些困难?怎么解决的?

美团4面面试题完整答案(详细解析版):


篇幅有限,面试题答案和下文的文档资料,点击传送门即可!!

从安卓转到Java,我经历了哪些?如何才敢挑战美团?

(一)清楚自己要什么:调整心态,多给自己勇气,重新规划目标

安卓转Java,这个想法是需要比较大的勇气的,前后我大概是纠结了一年多的时间才做出了决定,期间的心态是比较复杂和焦虑的,最主要的是“担心”,所以要想成功转到Java,首先第一个难关就是自己的心态问题。这个过程中,我不断给自己加油打气,重新规划目标,才得以冷静且稳定下来,重新规划了自己的目标。


(二)清楚自己学什么:重新梳理知识结构,整理知识脉络

做安卓的,都是具备一定的Java基础的,所以相对其他语言来说,转Java要容易不少。但要想成为合格的Java后台开发,具备的技术肯定是远远不够的,因此需要重新去梳理一遍自己的知识结构,整理Java的知识脉络,清楚目前掌握了多少,需要学习哪些内容。


另外,我手上也有一本Java核心知识点的pdf,Java知识点整理得非常齐全,我之所以能够拿下美团offer,也多亏我自己努力把这份文档给吃透。需要的点击传送门即可!!

Java部分:Java基础,集合,并发,多线程,JVM,设计模式
数据结构算法:Java算法,数据结构
开源框架部分:Spring,MyBatis,MVC,netty,tomcat
分布式部分:架构设计,Redis缓存,Zookeeper,kafka,RabbitMQ,负载均衡等
微服务部分:SpringBoot,SpringCloud,Dubbo,Docker


(三)清楚面试问什么:飞速提升,恶补开源,刷题备战

当自己学习到一定程度后,需要的就是准备面试及工作了,所以这一步就需要让自己有一个飞速的提升,要优化自己所学,要清楚Java面试会问一些什么?因此接下来的安排就是要读一些书籍笔记,开始刷题备战面试了。

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


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


  • 大厂面试题题库:阿里巴巴、腾讯、美团、字节跳动、网易、拼多多等


写在最后

说了这么多,不善言辞,也是随性发挥,想到啥说些啥,更多是对自己开发历程的一些感受和自己学习的方法。不过,最后我想表达的是,在开发过程中每一行代码,每一种设计模式的使用,思考的重点和角度都会有所不同。所以,能够尝试不同的技术栈,从不同的视角来思考并解决问题,融会贯通,才是我个人追求的技术之“道”。

以上内容中,我谈及到的学习方法、学习面试资料,均可以免费分享给大家,希望大家在今年的金九银十里能够发挥顺利,进到自己想进的公司,共勉!

资料免费获取,点击传送门即可!!

全部评论
请问这些大厂面试的题库在哪里找的,能给分享一下吗
1 回复 分享
发布于 2021-04-07 09:14
请问这些大厂面试的题库在哪里找的,能给分享一下吗
1 回复 分享
发布于 2021-04-07 09:14
添加小助理vx:mxzFAFAFA
1 回复 分享
发布于 2021-05-06 15:30
抱歉现在才看到消息 有没有加上小助理呢
1 回复 分享
发布于 2021-05-06 15:31

相关推荐

秋招进行到现在终于能写总结了。完全没想到战线会拉这么长,过程会如此狼狈,不过更应该怪自己太菜了。好在所有的运气都用在了最后,也是有个去处。背景:双2本硕科班,无竞赛,本科一段研究所实习,硕士一段大厂暑期实习但无转正。技术栈是C++ & Golang,实习是客户端音视频(而且是鸿蒙端开发),简历两个C++项目一个Golang项目。主要投递岗位:后端,cpp软开,游戏服务端,测开,以及一些不拘泥于Java的岗位。从8月起总共投递123家公司,笔试数不清了,约面大约30家。offer/oc/意向:友塔游戏(第一个offer,面试体验很好,就是给钱好少南瑞继保(计算机科班点击就送(限男生),不...
乡土丁真真:佬很厉害,羡慕~虽然我还没有到校招的时候,也想讲一下自己的看法:我觉得不是CPP的问题,佬的背书双2,技术栈加了GO,有两段实习。投了123,面了30.拿到11个offer。这个数据已经很耀眼了。这不也是CPP带来的吗?当然也不止是CPP。至少来说在这个方向努力过的也会有好的结果和选择。同等学历和项目选java就会有更好的吗?我个人持疑问态度。当然CPP在方向选择上确实让人头大,但是我觉得能上岸,至于最后做什么方向,在我看来并不重要。至于CPP特殊,有岗位方向的随机性,java不是不挑方向,只是没得选而已。也希望自己以后校招的时候能offer满满
点赞 评论 收藏
分享
球球别再泡了:坏,我单9要了14
点赞 评论 收藏
分享
头像
10-22 19:18
上海大学 后端
jopajhhdjwnqk:水印都叠杀人书了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务