美团一面,超爱面试官的

美团3月30号投递简历,中间推了两次笔试,4月16日做的笔试,4月28约了4月30号面试,过了两个星期了。笔试五道题就27 100 45 0 0,感谢给了面试机会

面试体验最好的一次,面试官小哥哥全程引导,脾气也好,态度也好,也是我体验感最强的一次,之前的三次面试都没有问几个问题就结束了,觉得挫败感很强,虽然这次可能还是凉经,但是能回答这么多问题我也算是值了,在线卑微呀,目前实习0offer,连面试都没几次的人,可珍惜每一次面试机会了,卑微卑微

自我介绍

问项目

问论文

object有什么方法
我:hashcode(),toString(),equals(),clone(),wait(),notify(),notifyAll()

hashcode() equals()的关系
我:hashcode是计算hash值的,equals是判断对象是否等价,hashcode()一致equals也不一定相等,equals相等的hash值一定相同,但是也跟具体怎么样重写有关

看什么书,为啥看
我:最近看的深入理解java虚拟机,为了知道Java语言是怎么运行的,自动的垃圾回收机制内部是怎么做的等等

JVM你有什么想说的
我:好多呀,他说找重要的说(我就这块最熟悉了,jvm全本加上一般的调优策略也可),在我刚刚开始讲到JVM的四个组成部分(class loader,执行引擎,运行时数据区,native inteface)

就问class loader做什么的
我:加载class文件

类加载过程
我:主要分为三个过程,加载,链接,初始化,链接又分为验证,准备,解析。具体的来说,加载过程主要完成三件事,第一个根据全限定类名找到class文件,(我还没说下面的所有过程,就下一个问题了)

怎么根据全限定类名找到class文件
我:反射吧,我不确定(?)

jvm有什么重要地方需要了解
我:运行时数据区的划分,垃圾回收机制,(还没说完,又下一个问题)

垃圾回收算法
我:标记清除、复制、垃圾整理、分代收集。具体的来讲标记清楚,就是先将无用的对象标记出来,然后清除。(我还没有讲缺点和其他剩下的三个算法,就插入下一个问题了)

怎么判断对象没有用,
我:有两个算法,引用计数法,可达性分析。引用计数法blabla,可达性分析blablabla,但是这也不能决定他这个对象一定是无用的,这里需要一个二次标记的过程blablabla,

为什么要二次标记
我:因为finalize方法的执行可能会将对象重新加入引用链,他就不是无用的,就不用被回收了

finalize执行几次,怎么样才能被执行
我:执行一次,如果没有被执行过就执行,被重写了也要执行

(哇我每个问题还没说完,就根据我提到的换了另一个问题)

Java内存模型
blablabla

jvm这本书你学到了什么(感觉问了好几次了)

并发编程的艺术讲了什么
我:讲了一些并发机制的底层实现

Java编程思想看了什么
我:太厚了,没有看完,有点当工具书再看

什么是面向对象(我感觉什么是什么这种题好难回答呀,开始瞎掰)
我:跟面向过程的那些语言只能定义一些操作,但是不知道谁来做的,面向对象的话就能定义一个对象,来完成现实生活中物体的各个功能。具有封装,继承,多态三个功能

说明一下封装,继承,多态,是什么为什么出现怎么用
我:疯狂瞎掰,答的不好。。。

代码题:反转链表
我:代码题好简单对不对,可是我就是一个代码弱鸡,这还是我第一次面试写代码紧张死了,面试官还边写代码边问家常问题,我本来写代码就是剑指offer和LeetCode刷了一点点题,完了这次面试前有半个月没刷了,我以为只写方法体,但是还要写输入输出,构造链表,我以为不用这些的,写了好久,还有一堆语法错误,我一边写一边告诉我哪错了,我脑袋都抽抽了,崩溃了,还继续接下来的三个灵魂拷问,搞得怀疑自己还能做开发不,总算是写完了

为什么做开发,(因为研究生是做视觉的,所以这个问题我感觉每个面试都问,有没有啥话术我学学)
我:觉得做开发做出来的成品,比做视觉刷准确率更有成就感

为了开发做了哪些准备
我:看书,看视频,看博客,刷题,和小伙伴们交流

为什么不读学硕
我:当时保研的时候对这些没有概念,面试官表示理解

输入网址www.meituan.con后会发生什么,说的越详细越好,涉及到什么协议
我:(按照javaguide的github讲的,但是面试官说太简单了)根据域名查询域名的IP地址,DNS解析、TCP连接、 发送HTTP请求、服务器处理请求并返回HTTP报文、浏览器解析渲染页面、连接结束(有啥更好的回答推荐一波儿)

DNS过程
我:blablabla,

代码题:两个数组求交集,直接暴力,没有任何优化,又被diss了

hashmap为什么线程不安全
我:1.7的时候进行扩容的时候,需要将原来的数据,重新计算下标重新加入新数组当中,而同一个位置有多个元素需要用链表存,在从的旧的链表到新的链表这边这个过程是用头插法继续宁的,如果多线程进入指针的走向有可能会造成死循环,导致线程不安全。另外就是没有同步操作,多线程读取数据有可能不是最新的值。在1.8之后第一点用尾插法解决了,但是数据不一致的情况还是会出现。

sql语句的左连接右连接
我:左连接:就是两个表做乘法的时候,左边表的所有数据都有显示出来,右连接:就是两个表做乘法的时候,右边表的所有数据都有显示出来,忘记说另外那边只留下相同数据了没有部分补孔,尴尬了

有什么问我的吗?
我:我怎样可以进美团hhh,他说基础还行多动手

开始刷题了,这个代码能力我都不知道之后的字节是不是要被怼死hhhh

还有就是回答问题的时候是不是应该先把那个系列说完,在回答面试官的下一个问题呀,比我的类加载过程,和垃圾回收机制都没说完,面试官就下一个问题,所以这个应该怎么办!
#美团一面##美团##Java工程师##实习##面经#
全部评论
请问收到二面通知了吗
1 回复 分享
发布于 2020-05-01 03:19
老哥加油
点赞 回复 分享
发布于 2020-04-30 23:57
反转链表用头插法,栈都行。url解析过程可以稍微展开说下每个步骤具体做了哪些事https://blog.csdn.net/jochebed666/article/details/88377253   求交集可以先排序然后移动指针或者hashmap减少时间复杂度。楼主基础不错,所以面试官会跳问题,但还是多写代码更重要😁加油
点赞 回复 分享
发布于 2020-05-01 01:08
我也是在看面经巩固知识😂共勉之
点赞 回复 分享
发布于 2020-05-01 15:23
楼主好厉害
点赞 回复 分享
发布于 2020-05-01 18:00
大佬求带🤣
点赞 回复 分享
发布于 2020-05-01 23:30
楼主是春招还是实习啊?
点赞 回复 分享
发布于 2020-05-03 20:48
嗨呀,我也在看java的一些基础,感觉掌握的太差了,看面经总是感觉答不上来。。楼主主要都看些什么?
点赞 回复 分享
发布于 2020-05-03 23:52
楼主一面过了吗
点赞 回复 分享
发布于 2020-05-06 12:59
请问你们现在进展怎么样啊?我是30号二面的,不知道还有没有HR面试
点赞 回复 分享
发布于 2020-05-06 13:44
基础强的呀👍
点赞 回复 分享
发布于 2020-05-06 13:51
都答成这样了还不过吗?
点赞 回复 分享
发布于 2020-05-06 14:07
我也还没收到二面通知,官网上也没显示挂,,,有网友收到二面了嘛?都两个礼拜了😥
点赞 回复 分享
发布于 2020-05-14 22:16

相关推荐

做人要有梦想dji:最新工位查看图片
点赞 评论 收藏
分享
秋国🐮🐴:拿到你简历编号然后让你知道世间险恶
点赞 评论 收藏
分享
评论
8
37
分享

创作者周榜

更多
牛客网
牛客企业服务