下面给出我的美团点评面经还有个人的复习方法,原创哟,祝美团点评点评越来越好!原文链接 美团点评 在所有面试里面,我觉得美团点评的是最让人舒服的,也最专业。面试都是在单独的酒店房间里面,绝对安静,而且问的也很专业,态度也很诚恳,等候厅还有吃的喝的,唯一不好的就是通知面试的时间总是在半夜两点。 一面面试官是个女的,一脸严肃,进去后简单的自我介绍后,她就拿到我的简历,在技能栏那里圈出了8个关键词,当时我就虚了。首先先让我手写一个生产者消费者模式,然后开始一个点一个点的问,一共问了1小时40分钟左右,都快虚脱了我。庆幸还是过了。 二面面试官是男的,就问了几个问题就结束了,差不多半小时,我当时都以为我估计要挂了。结果回来半夜两点收到第二天的三面通知,好开心! 三面是平台事业群的boss,很有气质,上来就自我介绍,然后开始面试。三面主要考察项目相关的东西,我详细说了我管理的项目,我的专利和论文。最后简单问了点技术的东西和一些性格相关的问题就结束了,全程聊的很愉快,于是过了三面。 HR面主要问了意向工作地和一些性格相关的东西,15分钟左右就结束了。刚面完的时候我想要是美团点评要我我就来美团点评了,体验超棒! 过了几天就收到offer了,超级开心。国庆后来谈的薪资和地点,事业群是到店综合事业群,坐标上海,虽然是批发价,但是也很开心了。 相关面试题: 一面: * 面对过程与面对对象的区别 * 了解哪些设计模式,运用场景? * 访问一个网站的实现原理,越详细越好? * 写一个OOM,Stackoverflow的案例 * 说说有哪些回收算法? * 虚拟机有哪些区域,具体存了什么? * 哪些是GC Root对象? * Myclass A = new Myclass()虚拟机发生的过程详细说下?Myclass文件存在哪个区域,什么时候会被清除? * 知道哪些GVM调优,参数是什么? * 年轻代怎么进行垃圾回收? * CMS缺点是啥? * Sychronized实现原理?monitorentor指令存在哪?该指令在class文件中占几个字节? * Reentrantlock实现原理? * Sychronized与lock优缺点比较,性能比较? * final, sychronized, static, transient, volatile说一下? * volatile怎么阻止指令重排?内存屏障指令是啥? * sychronized在哪个包,java哪个版本发行的,之后的版本做了什么优化?轻量级锁,偏向锁怎么实现的?锁的标识位存在哪个位置,几个字节? * 操作系统的线程与java线程有什么关系,怎么对应? * 用过什么数据库引擎?支持事务吗?Innodb怎么实现事务支持? * linux怎么查看cpu信息?除了top,如何查看多核的cpu信息? * 数据库查询非常慢,如何定位到问题? * threadlocal说下?如果线程消亡后,留下threadlocal逻辑上会有什么问题? * final会影响指令重排吗? class A { private final String a; public String b; A { a = "abc"; b = "abc"; } A aa = new A(); 那么A.b有没有可能为null * final初始化顺序问题,下面哪个对?为什么? class A { final static String A; static { A = "abc"; } } class A { final String A; A() { A = "abc"; } } * 给一个美团点评的log文件,log文件的格式为:年-天-小时 用户名 ip 用awk统计出ip出现次数超过1000的ip。 二面: * 假定一个数组,先升序再降序,如何快速找到最高的那个数字? * sychronized介绍下? * 浏览网页的过程,越详细越好? * traceroute实现原理? * sychronized(obj.class) {  //多个线程可同时进吗 } * 虚拟机有哪些回收算法,优缺点? * 用过哪些设计模式? * 说说项目,专利,论文? 个人复习方法 7,8月:准备 复习的方向 java编程基础 jvm虚拟机 并发 SSH框架 数据库 SQL优化 操作系统 Linux 数据结构 计算机网络 刷题 并制作了便签放在书桌前,如下: 复习的相关书籍 《java编程思想》 《深入理解java虚拟机》 《java并发编程的艺术》 《Linux命令行与shell脚本编程大全》 《操作系统:精髓与设计原理》 《剑指offer》 《leetcode题解》 《看透Spring MVC:源代码分析与实践》 《Spring实战》 《Head First 设计模式》 《深入浅出MySQL》 《数据结构与算法分析:Java语言描述》 《计算机网络》 主要知识点 Java基础 这部分主要是依赖《java编程思想》,基本上把书的重要章节刷两遍就可以了,一般短的章节一两天可以刷完,长的章节比如并发那块需要三天左右,一定要耐心看下去,收获会不小的(书中关于图形界面和测试相关的可以先不看)。其中,关于常见容器,比如HashMap,Hashtable,ArrayList等要主动去看jdk源码,理解底层具体是怎么实现的 JVM 这部分的细节主要就是靠《深入理解java虚拟机》这本书了,作者写的非常好,很容易理解,也是至少刷一遍 并发 并发这块其实面试的时候问的最多,《java编程思想》,《深入理解java虚拟机》两本书中也有涉及,但是《并发编程的艺术》这书从底层讲述了并发的原理,可以配合其他的书相辅相成的看,而且可以面试的时候展示出对这块了解的深度 操作系统 操作系统由于之前没学过,看起来比较吃力,而且纯看书也比较枯燥,此处重点推荐下coursera上的北大的操作系统公开课,边看视频边辅助看书,轻松不少,也更加容易懂,就是需要花的时间较多,建议利用碎片时间看看 SSH框架 本科的时候只用过Struts2,其他的两个Hibernate和Spring完全没用过,但是根据最新的公司需求来看,Spring是使用需求最高的,Struts2用的已经很少了,因此只需要看Spring相关的就行了,Spring要看的点主要是: Ioc Aop Spring mvc 把上述的点都理解了基本就可以了,《看透Spring MVC:源代码分析与实践》和《Spring实战》这两本书都讲的可以,都能从源码的角度进行分析,达到完全的理解 数据结构 这块我主要就是根据《数据结构与算法分析:Java语言描述》这书来复习的,理解每个数据结构的原理,以及如何自己实现;各个算法的实现,时间空间复杂度的分析;二叉树的递归处理等。基本把书过一遍,之后就通过刷题来巩固了 数据库 数据库这块的复习主要就是《深入浅出MySQL》这本书了,这本其实将的也不深,主要就是对基本命令的复习,数据库这块除了基本的使用之外,还有事务,数据库引擎,范式,索引,优化等方面的知识也很重要,这部分主要是在网上搜博客进行专题复习,效率也挺高 Linux linux这块主要就是复习基本指令的使用和shell编程了,基本看下《Linux命令行与shell脚本编程大全》这书就基本够了。还需要对常见的工具命令awk,gawk熟悉下,面试的时候考的挺多。 如果之前对linux很不熟悉的话,不建议在这块花太多经历,因为这不是必备技能而且要记的东西太多。如果之前用linux用的很熟基本上复习一下就可以了,这块的使用重点还是看平时吧,短时间突击不了。 计算机网络 基本把TCP/IP那一块的东西重点看下就行了,包括路由,拥塞控制,三次握手等,把书翻一遍,然后根据相关的面经复习即可 刷题 刷题主要就是对前面看书的巩固了,主要推荐牛客网啊,真是太好用了。前面的知识点的选择题都可以上面找到,还给你分类了,特别赞。 刷编程题的话建议先把《剑指offer》这书刷完,刷的时候最后看完题目,自己先做,然后再和答案比较,这样印象较深,直接看答案容易忘。刷完书后可以在牛客网的在线编程那再把剑指offer的题刷一遍,上面原题和测试案例。之后就可以刷刷leetcode了,建议刷的时候可以根据专题来刷,比如一次把动态规划的题刷完,这样会对动规有个更深刻的了解(leetcode题解中作者已经分好类了,感谢@soulmachine) (以上只是我的学习方法,不一定是最合适的,但是我觉得效果还可以,如果有更好的方法也可以交流下。同时分享下期间整理的各知识点的面经,基本都是从牛客网上找的,戳这里 (访问密码:SDopEJ)) 9月:各种笔试+面试 9月就是疯狂的投简历了,还好基本上都是线上的,不需要到处跑,投的公司用org-mode来记录,防止到时候忘了笔试2333。 笔试了那么多,挂了一大批,还是有点菜鸡啊,所以下图大部分的更新都是笔试已挂QAQ 到最后能到面试环节的基本也就:华为,京东,趋势科技,美团点评点评,广联达。上述几个公司面完后拿到了offer后,后面好多公司就不参加笔试了,基本就开始玩了。
点赞 7
牛客网
牛客企业服务