Java最新谁说漂亮女程序猿就不能拿大厂Offer了?美团面试经历分享,springboot面试题

最后

由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。

image

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

image

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

JVM内存主要分为五个区,哪些是线程共享的,哪些是线程独享的,每个区存放什么。GC方面:怎么判断哪些对象需要被GC,GC的方法,Minor GC与Full GC。HotSpot GC算法以及7种垃圾回收器,主要讲了CMS和G1收集器。类加载:类加载的过程,Bootstrap classloader-ExtClassloader-AppClassloader,父类委托机制。

5、进程和线程的区别

从调度、并发性、拥有的资源和系统开销四个方面回答的。

6、HTTP有没有状态,我说无状态,怎么解决HTTP无状态

怎么解决HTTP无状态其实就是怎么进行会话跟踪,有四种方法:URL重写、隐藏表单域、Cookie、Session。

7、Java IO,NIO,Java中有没有实现异步IO

Java IO实现的是同步阻塞,它是怎么实现同步阻塞的。我拿了read()方法举例来讲的。NIO实现的是同步非阻塞,我详细讲了一下Selector中的select()方法轮询说明它是如何实现多路复用IO的。然后对比了一下他们的效率。面试官可能看我对这一块比较了解,又继续问我Java中有没有实现异步IO,我感觉好像没有,但面试官说有,让我想想,其实这里我并不清楚啦,所以我就对面试官讲了一下我对Unix中异步IO模型的理解,然后说至于Java里面有没有我真的不太清楚。(他居然笑了!说你理解是对的,Java里面有没有不重要!哈哈)

8、前端会不会,Ajax是什么,Ajax实现原理

前端我只是会用一些js而已,用过jquery框架,问我Ajax全称是啥,我猜是异步的js和xml。Ajax实现原理其实我也不懂,我就只简单讲了一下它通过XMLHttpRequest对象进行异步查询,Ajax引擎在客户端运行,减少了服务器工作量。

9、让我设计一个线程池

因为我简历中有写到我对多线程、并发这一块理解比较好。所以他老问这方面的题。这个问题因为我之前看过ThreadPoolExecutor的源代码,所以我就仿照那个类的设计思路来想的,详细讲了一下核心池、创建线程可以用工厂方法模式来进行设计、线程池状态、阻塞队列、拒绝策略这几个方面。设计的还算比较周全。

10、讲几个设计模式,哪些地方用到了,为什么要用

单例模式,jdk中的getRuntime();工厂方法模式,ThreadPoolExcutor用到ThreadFactory;观察者模式:java.util包下面的Observable和Observer。最后主要讲了一下工厂方法模式的使用场景。

11、Mysql优化、索引的实现

我从数据库设计优化和查询优化两方面讲的。索引B+树实现,InnoDB和MyISAM主键索引的实现区别,一个聚集一个非聚集。

12、事务的隔离级别

四种隔离级别,可能会出现哪些异常,mysql中默认级别。

13、有没有用过Hibernate、mybatis、git

这个简单讲一下就好,分别是干什么的

14、Linux

我说这个本科学过,但是很久没用,命令忘光了。他说没事,考你几个简单的:cd、ls、dir(真的是简单的)

15、算法题

从10万个数中找最小的10个,时间复杂度分析(最大堆,考虑内存)

从一个有正有负数组中找连续子数组的最大和,时间复杂度分析(动态规划)

满二叉树第i层有多少个节点,n层的满二叉树共有多少个节点

终于到我提问环节了:

1、你们是什么部门(他说是核心部门,大数据研发)

2、我对高并发和负载均衡挺有兴趣的,但是我平时在学校也没有这个环境让我在这方面有所体验,那你建议我目前可以怎么学呢(他说这确实是不太好学,只能看些理论和别人的博客,以后工作中才能慢慢学)

3、中间件具体是做什么的,是解决高并发和负载均衡吗(他说差不多是的,然后他说我们这个部门不是中间件,是大数据部门啊,我说恩我知道)

最后没啥问题了,他让我保持电话畅通。

这一面面完,口干舌燥,我一度怀疑他可能不知道我是在应聘实习生的岗位。有太多要总结的了,放在总结的地方一起讲吧。

美团技术三面25分钟

=============================================================================

面试官说是他是另外一个部门的,需要进行交叉面试。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3U6lHiD0-1614068735722)(https://upload-images.jianshu.io/upload_images/22570485-24e9ff6942c76297.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

1、MySql优化

2、说下项目做了些什么,架构之类的

3、在collabedit上在线写代码,题目很简单是编程之美上的原题,一个有序的整数数组,输出两个数,使它们的和为某个给定的值。之前做过很快写好,然后给他讲思路。他继续问如果数组无序怎么办,先排序。

4、两个文件,每个文件中都有若干个url,找出两个文件中相同的url(用HashMap)

这一面挺简单的,只是增加之前面试没有过的在线写代码环节,collabedit后来我才了解,像facebook一些互联网公司远程面试都会用这个在线编辑器写代码,就是文本文档写,没有提示,不能编译运行,跟白板写一样。平时练练手就好。

美团技术HR四面30分钟

===============================================================================

三面面试官说他那就是终面,说我过了等hr联系我。万万没想到半小时后的hr面居然也是技术。

1、自我介绍,都四面了还自我介绍?!我还以为是单纯的hr面,所以介绍的都是我的性格和生活方面的,结果并不是。

2、问项目,问的特别特别细,技术细节,还有遇到什么问题,怎么解决的,做项目有没有人带,怎么跟别人沟通的。

3、数据库优化,如果数据库一个表特别大怎么办

数据库优化我就讲了之前讲过很多遍的点,他问一个表特别大怎么办:大表分小表,怎么实现:使用分区表

4、问研究生的科研题目,为什么选这个题,看了一些什么论文(细到问我那些论文是发表在什么期刊上的,作者是哪所学校的),为什么要选这个算法,怎么优化的,实验结果怎么跟别人作对比的,为什么比别人的算法好(一个个问题不断砸过来,我猜我说的那些专业名词他应该不太懂,只是判断一下是不是我做的而已。。)

5、确定实习时间

这一面确实让我感到有压迫感,项目是本科做的,挺久了,一些技术细节上也没太总结,所以问细了我只能连想带编,嘿嘿。科研方面倒还好,上个学期都在弄这个,一些算法的实现和改进、对比都还记得比较清楚,回答的挺流畅的,可能这真的就是技术型的hr面吧。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h3E1jBTM-1614068735724)(https://upload-images.jianshu.io/upload_images/22570485-0d28683e100bfe65?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

好累我不想再找实习了

=============================================================================

不得不说美团的实习生面试跟正式校招拿offer一样隆重,被面试面下来,好累,这个部门也挺好我很满意,所以我不想再继续找了。到目前为止,Java基础、数据库、计算机网络、操作系统复习也都全面结束了。现在每天刷刷题,保持就好。接下来准备看看Tomcat源码,要进入新的阶段了,这里不是终点,加油。

面试题总结

========================================================================

最后

为什么我不完全主张自学?
平台上的大牛基本上都有很多年的工作经验了,你有没有想过之前行业的门槛是什么样的,现在行业门槛是什么样的?以前企业对于程序员能力要求没有这么高,甚至十多年前你只要会写个“Hello World”,你都可以入门这个行业,所以以前要入门是完全可以入门的。
②现在也有一些优秀的年轻大牛,他们或许也是自学成才,但是他们一定是具备优秀的学习能力,优秀的自我管理能力(时间管理,静心坚持等方面)以及善于发现问题并总结问题。
如果说你认为你的目标十分明确,能做到第②点所说的几个点,以目前的市场来看,你才真正的适合去自学。

除此之外,对于绝大部分人来说,报班一定是最好的一种快速成长的方式。但是有个问题,现在市场上的培训机构质量参差不齐,如果你没有找准一个好的培训班,完全是浪费精力,时间以及金钱,这个需要自己去甄别选择。

我个人建议线上比线下的性价比更高,线下培训价格基本上没2W是下不来的,线上教育现在比较成熟了,此次疫情期间,学生基本上都感受过线上的学习模式。相比线下而言,线上的优势以我的了解主要是以下几个方面:
①价格:线上的价格基本上是线下的一半;
②老师:相对而言线上教育的师资力量比线下更强大也更加丰富,资源更好协调;
③时间:学习时间相对而言更自由,不用裸辞学习,适合边学边工作,降低生活压力;
④课程:从课程内容来说,确实要比线下讲的更加深入。

应该学哪些技术才能达到企业的要求?(下图总结)

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

存中…(img-HoRsyy2f-1715444010616)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 30
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值