一面:
二面:
项目(挑一个讲),必须讲清楚
针对框架项目问的比较多:往下看
(可能是因为我的简历上有框架相关的项目,所以这些问框架的问题比较多,我有一个同学基本没问,因为她也没复习框架,就直接问很多算法,问我的算法相对比较少,基本没有)
三面:
某一个实验室的项目,问的非常之细,都给他画时序图,讲解操作符了。。。
另一个Android相关项目的技术难点(这个项目的技术难点一定要准备,好多问的)
客户端与服务器的交互中,如果相应非常慢,怎么排除故障或找寻原因
如何判断缓存使用的是否恰当(这是自己给自己挖的,因为回答上一个问题时我提到了缓存)
组合与聚合的区别
后来主要看你平时都干啥,跟我都聊起了狼人杀,,会问你喜欢那个角色,有什么体会之类的,有点半hr面
四面:
(美团面试是面试体验最好的,一天完事,从早上到下午,美团给我的感觉就是问的不是特别深,但是有点广,当然好多人是被问了比较多的算法,所以,其他不够,算法来凑。。。。另外,美团肯定是比较偏Java的~~)
美团网java engineer面试题
1.设计模式Singleton,写代码
讲述快排算法
死锁的四个条件
画三次握手、四次挥手状态图,以及相对应的网络编程函数
Java线程的状态
Java创建线程的方式,你最喜欢哪一种
2.用到的缓存技术、有哪些缺点,与分布式缓存进行对比
.延迟加载的好处、坏处
Hibernate的一级、二级缓存
Application、session范围内数据的区别
AOP除了cglib和Java动态代理还可以怎么实现
给一个情景,写MySQl查询语句
数据库索引、什么字段不适合加索引
索引使用不恰当的坏处
事务的隔离级别
动态规划与递归相比有什么优点
Object有哪些方法,问了hashCode()方法,还有,notifyAll()和notify()的区别
Java的内存管理以及堆区的分类
自己选一个设计模式讲解
服务器的异步机制
有没有深入学习过Java相关的一些知识,并展开问,与学习之前有什么进步
https机制的实现
总共4面。
一面是技术面,超过了一个半小时,后面有算法题,需要线上编码
二面是技术面,主要是未来的团队领导沟通业务情况,考察抽象能力和架构理论深度
三面是部门领导面,主要也是聊业务和技术在日常工作中的应用,及对方法论的考察理解
四面是HR面,聊薪资等等
美团网高级java工程师面试题
1,String, Stringbuffer, StringBuilder 的区别
2,ArrayList 和 LinkedList 有什么区别
3,讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,当 new 的时候, 他们的执行顺序
4,用过哪些 Map 类,都有什么区别,HashMap 是线程安全的吗,并发下使用的 Map 是什么,他们内部原理分别是什么,比如存储方式, hashcode,扩容, 默认容量等
5,抽象类和接口的区别,类可以继承多个类么,接口可以继承多个接口么,类可以实现多个接口么
6,继承和聚合的区别在哪
7,讲讲你理解的 nio和 bio 的区别是啥,谈谈 reactor 模型
面试官人很好,先介绍了整个面试流程
先写了一道算法
给一个字符串,求字符串第一个只出现一次的下标 空间复杂度On,时间复杂度On
算法题很简单,但是当时脑抽了一直在想怎么一次遍历做出来,实际上用hashmap两次遍历就OK
算法题写完感觉凉凉,后面问问题刚开始的答题也被算法影响了状态很差、后面倒是调整过来好转了
美团网JAVA开发工程师面试题
有哪些集合类
hashmap是在collection下面的吗 不是 是在map下面
ArrayList和LinkedList的区别
线程安全的集合
copyonwriteList如何保证的线程安全
hashmap底层原理
为什么从头插改为了尾插
concurrenthashmap底层原理
线程六大状态
线程有running这个状态吗 当时答的有 实际没有 Java里是runnable
怎么样变成等待状态
创建线程的方式
为什么推荐使用线程池创建
为什么不推荐使用Executors的静态方法去创建 这个问的其实就是为什么不推荐去创建单例线程池、缓存线程池等那四种,但是当时没听懂Executors的静态方法是什么意思,没答出来
数据库
事务四大特性
原子性怎么实现的
持久性怎么实现的
MVCC实现
redolog和binlog作用和区别
两阶段提交redolog和binlog
索引的底层
为什么要用b+树
索引失效的场景
sql慢查询优化
回表查询
叮。。。。。美团来电。这次不是外卖而是电话面试。
所报岗位为后端 / 服务端开发,但是从我的复盘来看,这和 Java 后端开发的内容差不多,除了部分的语言特性外,还是四大件基础知识为重;
美团面试全流程详解:一面 + 二面
美团网java工程师实习生面试题
自我介绍
老规矩,我叫啥,啥专业,技术栈是啥,能做啥
怎么理解分布式
对于面试官而言,也没多期望你们对分布式的理解到多深的地步,只是希望你们能对其有个初步的了解即可。
不管是高登摩尔提出的摩尔定律还是 Gordon Moore 坚持的 2 版本是啥;
总之如果你的系统需承载的计算量的增长速度大于摩尔定律的预测,那么在未来的某一个时间点,集中式系统将无法承载你所需的计算量。
在整个计算机系统发展的过程中,最实际的还是经济的元素。
人们发现使用更加廉价的机器,组合在一起的分布式系统,除了可以获得超过 CPU 发展速度的性能以外,还可以有更好的性价比,所以得出如下结论:
无论是要以低价格获得普通的性能,还是要以较高的价格获得极高的性能,分布式系统都能够满足。
并且受规模效应的影响,系统越大,性价比带来 的收益越高。
随着计算机的飞速发展,科学家们发现分布式系统相比于集中式系统的另一个很明显的优势就是:具有更高的可用性。
假设使用 10 个能够承载 10000 流量相同的节点,其中的两个节点挂了,只要实际的流量不超过 8000,那么系统仍然正常运转。
说这么多,分布式系统还是建立在「分治」和「冗余」的基础上,这也就是分布式系统的本质
那么分治是什么?
这和我们大脑解决问题类似,大问题分解为小问题,然后治理最后归并。