今年秋招有幸参加美团点评的校园招聘,并且顺利拿到美团点评的校招 offer ,加入基础架构中心,做 Java 后台开发方向。一路走来有着太多的记忆值得回味。为了将自己的这些经验传递给更多的有需要的同学们,下面我简单从三个方面来说一说我和美团点评之间的那些事。第一,面试前情况;第二,校招 4 面的全部过程;第三,如何准备美团点评的校招技术岗位的面试。
我本人是在美团点评校招中参加了内部推荐,并在 9 月初参加了美团点评第一批次的线上笔试。有幸在 9 月 13 日晚上收到美团点评的招聘面试邀请,于是去微信招聘公众号进行时间的预约。预约时间是 9 月 20 日上午 9 点 45 分参加面试。正当因收到美团点评的面试邀请而欣喜时,在 9 月 17 日晚上收到网易的面试邀请,并且时间确定在 9 月 20 号上午 11 点。两家公司的时间冲突了,最终通过种种的努力,协调了两家公司的面试时间,在此感谢美团点评和网易给我的机会。最终在 9 月 20 号进行了美团点评的前 2 面,在 9 月 21 号在进行美团点评的 3 面和 4 面。最终,都顺利拿到了美团点评和网易的 offer ,但最终权衡了之后,选择加入美团点评。
美团点评一面(现场面 1 对 1 )
2016 年 10 月 20 日 时间 50 分钟左右
自我介绍
项目介绍
自己在项目里面主要完成了哪些的工作
说说项目的数据库的设计
项目中数据库之间的同步是如何完成的
项目中的模板消息推送是采用什么机制的
通过业务功能的实现将所有的表以及表和表之间的关系复现出来
既然数据库使用的比较多,那就谈谈数据库的事务,举例说明
事务的隔离性详细的说说
Jvm 运行时内存区域的分配
Java 垃圾回收机制
谈谈 Java 多线程
手写编程,对字符串的处理,分别统计出任意一个字符串中所出现的字符的个数(字符串不限于普通字符)
美团点评二面(现场面 1 对 1 )
2016 年 10 月 20 日 时间 50 分钟左右
自我介绍
项目详细介绍
项目里面的数据库是如何设计的,有哪些表
oracle 数据库在使用的时候是如何进行优化的
外网和内网的数据交换是什么完成的
画一下你们这个项目的模块通信结构图,并分析各个模块之间是如何进行交互的
模板消息推送是如何完成的,对于没有成功完成的推送有没有做出什么补偿机制
为什么考虑这种方式进行推送,有没有其他的方法
你们有没有考虑过 web service 本身就挂了的问题
http tcp ip 你最擅长哪一个
画一下 tcp 三次握手的过程,写出来状态和发送的信息
写一下 tcp 主动关闭的一方的几个状态,并且解释一下这些状态
你们项目中上传图片是采用 post 的哪种方式
http 的常用的状态有哪些, 301 和 302 的区别是什么, 503 是什么意思
说说 lucene 的索引的原理,你项目中是如何使用的,你使用的分词方式是什么,有哪些分词方式 Lucene 的打分机制的原理是什么,怎么实现
为什么不使用数据库提供的全文索引,它是如何更新索引的
有没有什么问题要问我的
美团点评三面(现场面 1 对 1 )
2016 年 10 月 21 日 时间 50 分钟左右
自我介绍
项目详细介绍
针对项目的几个深入的问题
手写一个算法题:求解一颗二叉树的深度,并分析
手写一个算法题:求解一个旋转数组中出现的最小的数字,要求效率高,并分析
你自己在以后想从事什么方向的工作
有没有什么问题要问我的
美团点评四面(现场面 1 对 1 )
2016 年 10 月 21 日 时间 30 分钟左右
自我介绍
平时是如何学习的,通过哪些方式,学到了什么
你本科硕士并不是计算机专业,为什么想从事互联网方向
你看过哪些书,详细的说说,从中学到了什么
在项目里面你是如何和你的同学进行分工协调,高效工作的
如果出现了不一致的意见,你们是怎么解决的
你对我们新美大的产品有过哪些接触,感觉如何
我们新美大工作地点有北京和上海,你会选择哪一个城市,为什么
你还有没有收到其他公司的 offer ,那你会在这些里面如何的选择
有没有什么问题需要问我的
备注:首先我个人是自动化专业的硕士生,非计算机或软件方向,面试的是后台开发的岗位, Java 方向,所以主要针对这个方向给同学们一些准备校招面试的建议。
【参加实习】我们的教研室是不允许出去实习的,所以我没有实习经历,在校招内推或正式校招中都没有太大的优势,所以建议有条件的同学还是能够去参加实习会比较好,这样能够有更多的机会和优势。
【尽早准备】我大约是在 16 年 4 月初才意识到找工作的事,因为我是自动化专业,以前的师兄们几乎都是做嵌入式开发的方向,和互联网的区别还是很大的,加上自己也没能够更早的接触互联网,所以一直没有太多的基础。建议同学们平时可以带着学学,避免校招开始后的手忙脚乱。因为大约在 9 月份的正式校招开始之后,能够静下心来再学习的时间是不多的。
【关于项目】通常,参与过项目的同学的机会还是会稍微大一点的。但是不是说没有项目经验的同学就没有机会了。我本人在硕士期间也没有关于 Java 的项目。如果将项目写进了简历,就需要将其从头到尾的准备好,否则会对面试官造成不好的印象。
【学习什么】从我个人的准备经验和校招面试经验来看,在应聘后台开发工程师的岗位上,学习一门面向对象的语言是必不可少的,而在多数的互联网公司中, Java 目前应该依然还是需求量最大的。美团点评的后台开发大部分招的都是 Java 方向的。学习 Java ,需要学习 Java 基础,虚拟机,并发编程,多线程,常用类的底层源码等,同时有条件的还可以学习 jsp 、 servlet 以及一些常用 java 框架,例如 spring 等。另外,数据库的学习也是非常重要的,面试中常见的数据库问题主要包括数据库设计、事务、锁、优化、存储过程、触发器、海量数据处理、 SQL 编写等等,目前互联网公司数据库使用比较多的是 MySQL 数据库。计算机网络也是面试官在面试中考查的一个重点,通常 tcp ip http https dns 是需要详细理解与掌握的。还有重要的一点就是数据结构与算法,美团点评在面试中通常都会出至少 1-2 题的手写算法的题目,并且题目多数在《剑指 offer 》或《编程之美》中能够找到原型,所以如果能够将这两本书中的编程搞定,应该会有很大的帮助,另外还需要注意的是手写和敲键盘是两种不同的体验。最后, Linux 、操作系统、设计模式等也都会有所考查,也应该好好准备。
【推荐书籍】因为本人自身原因,看过的好书有限,就推荐几本看过真正觉得不错的书吧:《深入理解 Java 虚拟机》、《大型网站技术架构》、《计算机网络》、《剑指 offer 》、《编程之美》。没有列举的不代表不好,只是我没看过,另外推荐 “ 牛客网 ” 供校招生进行交流与学习。
非常感谢美团点评给予我的机会。希望自己以后在这个大家庭能够学到更多,努力为公司做出贡献,不断提升自己。