分享

最新名企美团、小米面试汇总

导读

对于技术面试多总结是非常重要的,但是面试并不是考试,虽然是技术问题,但也并不是有唯一的答案。对于正在面试的同学,可以参考。




美团Java后台一面面经

1.前几天约了今天(8/28) 19:00 电话面试。废话不多说 自11自我介绍

非科班,说了以前的规划,为什么变了要搞计算机,讲了学校里干了啥之类的

2.String类可以继承码?(烘托下气氛~)

3. 你项目用了Mybatis,自己写SQL还是工具生成?

答先是自己写,之后用工具生成了,(感觉情况不妙,自己对Mybatis不熟)

4. 你用Mybatis常用#还是$更多?(果然)

有点忘了,

肯定是#更多一些吧? (感觉面试官疯狂暗示?)

确实好久没维护项目的Mybatis部分,赶紧说不太熟。.

5.问我项目只是停留在应用吗?说了解一点点原理,就问了Spring原理AOP,IOC

IOC讲了如何通过XML获取单例(感觉这块说的不够清楚,暴露了理解还不够),AOP讲了反射机制+动态代理。

6.接口和抽象类的区别

7.Java是引用传递还是值传递

值传递,不过传递的是引用地址。

8.常用集合框架

讲了ArrayList,LinkedlList, Hashmap,ConcurentHasmap各自底层的原理,顺便简单讲了下hashmap死锁的原因。

9.问如何开启一个线程。

Thread类和Runnable接口

10.  常用的线程池。

不小心说成数据库连接池,尴尬。一下想不起来,赶紧说自己以前实现过线程池的Demo,模拟了生产者消费者模型。

11.   了解ThreadLocal吗。

没想起来,说不了解,~

12.   项目里用过什么模式?答了单例模式

讲了一下饿汉式,懒汉式,双重锁机制内部怎么维护单例的,枚举式和内部静态类方式。

13.Lock和Sychronize的区别

没理解到想问什么,Lock指的是不就是锁吗,Synchronize不是lock吗?大神来解释一下

14.   知道乐观锁和悲观锁吗?

讲了定义,乐观锁的自旋锁,CAS机制,悲观锁Synchronized,

15.   问synchronized和violate的区别,

讲了violate底层的机制,禁止指令重排和总线嗅探,violate比Synchronized更轻量级

16.   了解JVM吗?说一些知道的

答了方法区和堆区的线程共享,方法区存的类信息,常量等,堆里存放的是实例对象。程序计数器记录线程的执行的上下文(应该是位置),栈帧是方法执行的地方。讲了用递归的时候脑子里会有栈帧的模型。

17.   垃圾回收机制了解吗?

讲了堆区的分代,新生代,老年代,元空间。回收对象的识别方法,引用计数器法和根可达性法区别,然后讲了对象的强弱引用导致回收策略不同,接着讲了标记清除,标记复制。标记整理算法和他们的优缺点,

18.   然后问了CMS垃圾收集器和啥没听清楚

没深入理解,忘了,

19.   项目用到了Redis,Redis内的几种数据结构?

List ,String,Set,zSet,hashmap.

20.. Redis持久化了解吗? 不了解~~~

21.MySQL引擎有哪几种?区别是什么?

答了MyISAM和InnoDB,区别说了索引的结构不同,还有的想不起(忘了说事务支持不一样)

22.  其实有很多种,那你说说InnoDB的索引使用的什么结构?

一下忘了,说是红黑树或者B+树。。最后说是红黑树。。尴尬

23.   其实是B+树,B树和B+树有什么区别?

大概讲了一下B+ 根节点不存数据,叶子节点存数据,并用链表连接。

  24.   MySQL的隔离级别,默认隔离级别是什么?

  可重复读,

  什么是可重复读?

  (这里答错了,答成了已提交读。)

(还有一些零碎的问题想不起来就不说了)

  有没有可能来北京面试?答:略

总结: 感觉面试官人很好,可能看我非科班的,只问了Java基础,网络操作系统都没问,虽然我也准备了好久, 体验还是不错的。



小米一面面经

面试官刚好出差来武汉,就现场面的,主要问的都是java基础,把我记住的和大家分享一下吧

  1简单的聊了会项目,似乎不太感兴趣

  2Hashmap如何实现线程安全,concurrentHashmap原理

  3讲到synchronized,说一下它的锁的不同粒度

  4synchronized和reentrantlock的区别,当都被interrupt时,有什么区别

  5jvm内存模型,类的加载过程

  6如何确定内存泄露的位置

  7jvm内存中出现大图片,该如何处理,涉及到软引用

  8手写单模式,写了懒汉式和双重检验,问了双双重检验为什么要这么写,为什么锁住了还要加null判断

  9不同排序算法的稳定性和空间复杂度

  10手写归并排序

  11单次遍历删除链表倒数第n个节点


美团一二面面经


一面50min

  1问项目,哪个项目你印象最深,亮点在吗,怎么实现页面访问,怎么实现异步的,你做的过滤算法数据结构是怎么样的

  2redis的set的数据结构

  3项目中并发量大的情况下,如何保证数据的一致性,rabbitmq在项目中怎么用的

  4elasticsearch为什么检索快,它的底层数据结构是怎么样的

  5为什么学netty,它应用在那些中间件和框架

  6jvm内存模型

  7线程池的参数,拒绝策略

  8B树和B+树的区别

  9为什么要用redis做缓存,单线程且支持高并发

  10tcp三次握手四次挥手,挥手的时候为什么要连续发两次请求

  11Springboot的启动流程

  12如何解决bean的循环依赖问题

  就记得这么多了,不过感觉答得还不错

  二面30min

  1、聊项目,项目里除了用redis里面的队列,还可以用什么作为队列 回答的好像不太满意

  2、java有哪些队列

  3springboot和spring的区别 没回答好

  4说说你看了哪些书

  5为什么要看netty的源码

  6http是什么,除了post和 get还有哪些请求方式,这个没答好🙃

  7你不是计算机专业的,学了哪些课程,在实验室里面做什么

  8说说你的优点

  9要不我们视频面试吧,我:我这边没wifi,开下热点,然后面试官说算了吧,不稳定

  10今天就到这里吧,问什么时候有通知,说应该还有三面,就这几天。

  感觉二面面的很差,问到了那些没有复习到的基础。给自己打个气,希望早日有offer,也祝大伙们顺利!


最新经典文章,欢迎关注公众号




参考
https://www.jianshu.com/p/f8adcca6f648
https://www.jianshu.com/p/ef74a2f6eb35
https://www.jianshu.com/p/9f753196b77b


本帖被以下淘专辑推荐:

已有(1)人评论

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条