前因后果
先讲述一下自己这次被无良HR欺骗坑惨的经历吧,面试的是一家上海某电商公司,给的薪资是不错。面试的时候,找我要了工资流水,然后给了我口头offer,就让我回去等了邮件了。回去之后就觉得offer没啥问题,稳稳当当了,就没再去面其他的公司,打起了游戏。结果等了两个礼拜也没等来邮件,问HR告诉我在走流程,我问是不是不要我,HR说要,让我继续等。
再过了几天我再去问,HR就怎么都不回我了,这个时候我才反应过来“坏了”。好在后来我马上开始面试其他的公司,阴差阳错拿到了美团的offer,这也算是因祸得福了。
再后来,那家电商公司的HR又通知我去入职,我猜当时应该是有两个候选人,然后选了另一个,把我给吊着了,最后那个人鸽了他们,才又想起了我,我只能说这样的HR真的没有一点职业道德和修养,然后立马拉黑她了,好在我结局是好的,也不跟她做过多的计较。
下文内容就正式开展我这次美团的面经分享,之后还有个人的一些面试建议以及资料分享给大家,需要我个人珍藏的300G的pdf资料的朋友,可以直接私信我口令「学习」即可打包领取。
美团面经(4轮面试,一波三折)
美团第一面:轻松
-
自我介绍、过往工作经历
-
说之前的项目(关于并发量)
-
介绍一下项目流程,介绍一下系统框架是怎么设计的?用到哪些技术?遇到过哪些问题?是怎样去解决的?
-
如何承载高并发?
-
RocketMq的运行模型
-
zookeeper是如何保证一致性的,协议叫什么?
-
乐观锁和悲观锁,应用场景有哪些?
-
什么情况下会发生死锁,怎么处理死锁?
-
hashMap的原理,由此延伸问红黑树是什么,hash冲突怎么解决?
-
排序算法记得多少?
-
写代码:两个stack实现一个queue
美团第二面:紧张
-
自我介绍,介绍一下项目流程
-
网页输入 url 之后会有什么过程?
-
讲讲三次握手,为什么是三次?两次不行吗?
-
做过 socket 编程吗?讲讲 socket 中的状态?
-
进程和线程的区别
-
Synchronized与Lock的区别
-
事务隔离级别和实现原理,mysql发生锁死怎么办?
-
Java的垃圾回收机制
-
线程池了解多少,线程池的参数有哪些?
-
HashMap原理(感觉是个必问题)
-
有100只瓶液体,其中一瓶是毒药,一只小白鼠喝到毒药一周后会死亡。请问给一周时间,至少需要多少只小白鼠能确定哪瓶是毒药?(把瓶子序号变成二进制)
-
代码实现链表的反转
-
一个整数数组先升序后降序,给一个整数k,返回它在数组中的index,找不到的话返回-1
-
算法题:连续子数组最大和 / 乘积
美团第三面:融洽
-
问oracle里面的函数有什么用?
-
面向对象都有哪些特性以及你对这些特性的理解
-
访问权限修饰符都有哪些?以及他们的区别
-
抽象的(abstract)方法是否可同时是静态的(static), 是否可同时是本地方法(native),是否可同时被 synchronized?
-
聊聊我应聘的部门在做什么,谈谈我对项目的理解,怎么开展一个项目?
美团HR面试:稳了
-
自我介绍
-
为什么想来美团,对美团了解多少?
-
心中的互联网公司排序(送命题)
-
工作中遇见暂时无法解决的问题,你怎么来应对?
-
自己的优点和缺点
-
未来的职业规划是什么?
-
还面了哪些公司?结果怎么样?
-
薪资要求
面试美团前,我做的准备工作(大厂收割秘籍)
1.定制自己的简历(对标BATJ)
无论是什么行业,简历都是敲门砖,对于程序员来说,更应该着重准备,甚至要做到逐字推敲。关于简历,我个人有以下两点建议:
①尽可能突出自己的优势
一定要让看到你简历的人一眼就看到你自己所具备的优势,要学会突出重点,如你在上一家公司做出的贡献,就要写在显眼的位置进行突出,用颜色加深再好不过。如果你的优势是学历,那么学历就要放在第一页,因为HR在筛选简历时,一份简历往往只看那么几秒钟,你需要做到的就是让HR一眼看中你的简历。
②简
简历简历,之所以称为简历,就是需要把自己的个人信息和内容化繁为简,但是很多人都做不到这一点。我身边有一些朋友,写自己简历时,长篇大论,恨不得写出一篇800字作文出来,如果说你的简历长达6-7页,并不会给对方你有丰富经验的感觉,反而会让人一下子抓住不住重点。
另外,简历不能写成流水账,技术简历一般不超过3页,主要信息就包括个人信息(联系方式,学历等),专业技能,工作经历,项目经验等几个部分就好了,尽可能用精炼的语言描述,一个字能讲清楚的事,千万不要用两个字。
③描述自己做到了什么,而不是做了什么
很多程序员会在自己的项目或是技术栈里这样描述:在某项目,我负责xxxx,如重构,如优化。但实际上,面试官想要看到的是你在项目中,重构和优化带来了什么样的好处和效果,如果说性能提升了,那么提升的数据和情况是如何的,要一一描述出来,所以重点应该是“将项目做到了什么样子,做成了什么事”。
以上3点,则是我对自己简历的要求。说了这么多,简历到底要怎么准备,怎么制定,可能很多人还是摸不着头脑,我手上有一套标准的程序员简历模板,如果你有需要,可以分享给你,私信口令「学习」即可。
2.梳理知识,提升储备
自己的知识准备得怎么样,这直接决定了你能否顺利通过一面和二面,所以在面试前来一个知识梳理,看需不需要提升自己的知识储备是很有必要的。
关于知识梳理,我自己是划分成了以下几个部分:
-
并发编程:多线程+高并发+CAS+锁+线程池底层等
-
性能调优:I/O及网络调优+算法调优+JVM调优+MySQL调优+Tomcat调优
-
Spring全家桶:Spring+SpringMVC+Spring5.x核心机制源码
-
NoSql缓存架构:redis+mongoDB
-
分布式&微服务:SpringBoot+SpringCloud+docker+maven+git
知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结:
Java核心知识整理
Redis学习笔记
Spring全家桶相关资料为例
3.项目复盘
实际上,面试的一二轮所问到的技术问题,很多都是围绕着你的项目展开,因此在面试前最后要做好的一件事情就是项目复盘。关于项目复盘,我个人的思路如下,可供参考:
-
你在这个项目中承担了什么样的角色?
-
这个项目的背景是什么,如果是技术项目,为什么要做?
-
有哪些技术难点,是怎么解决的,是否还有更好的方案?
-
你认为项目中是否有可以改进的点?
-
这个项目解决了什么问题,最好用数据说话,这个数据又是怎么得出来的?
提前把思路捋一捋,上面这些问题好好思考或准备一下,做到心中有谱以后,自然能够面试官聊得融洽,保持一个好的心态,通过的几率就会更大一些。
最后的祝福
为什么程序员要进大厂,而且要尽早的进大厂?6个关键词,概括进大厂的重要性和必要性:公平、成长、格局、价值、圈子和附加。
简单看完这6个关键词,相信你也有自己心里的想法。废话不多说,尊重个人选择,希望每个人都能实现自己的目标和价值,无论你进不进大厂,但做一名合格且优秀的程序员,是你应有的职业操守!
最后,文章中涉及到的①美团面试题答案和解析;②Java程序员简历模板;③思维导图和学习笔记;④bat等一线大厂面试真题等pdf文档资料,均免费分享,只需你多多支持我即可哦!
——对该篇文章进行转发+评论,关注我,最后私信口令「学习」即可免费领取。