热乎乎的美团Java后台一面面经!(8.28) 求人品~

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后台一面面经!(8.28) 求人品~)