京东美团Java研发暑期实习面经
京东一面:
自我介绍,交流项目细节
jvm:内存区域介绍及发生OOM的情况,GC过程,描述调优过程
多线程:synchronized和lock,sleep和wait,线程池种类和工作流程(重点讲new***d线程池)
框架: IOC,AOP,SpringMVC流程,事务怎么配置
数据库:innodb和myisam区别,B+树性质,多列索引及最左前缀原则和其他使用场景。
算法:手写快排
京东二面:
自我介绍,项目
jvm:full gc,内存泄漏,CMS收集器
框架:Bean的生命周期,mybatis和hibernate对比
多线程:线程池工作原理
NIO:NIO和BIO的比较,对netty的了解
Linux:常见命令ls,top,lsof,ps,grep等,vim快捷键
HR面:自我介绍,对京东的了解,有没有其他offer,你会选择哪个,有没有毕业留京的打算,亦庄比较远能不能适应。
总结:一面二面都是半小时左右,估计是人太多才这么赶,问题也比较简单直接,没有刁难性的问题。
美团一面:
项目
运行时异常及处理方法,抽象类和接口的区别,HashMap的put方法源码,ArrayList,LinkedList的实现以及插入,查找,删除的过程
TCP和UDP区别,三次握手,TIME_WAIT状态
jvm内存区域和GC,finalize方法,哪些对象可以作为GC Root
NIO的DirectByteBuffer和HeapByteBuffer,同步和异步,阻塞和非阻塞
写大数加法代码
Spring IOC,AOP,项目中怎么体现的,RestFul API的理解,框架源码中用到的设计模式
数据库的完整性约束,事务隔离级别,写一个SQL语句,索引的最左前缀原则
美团二面:
自我介绍,项目
数据库:两种存储引擎在索引以及锁机制上的实现方式的区别,limit offset优化,B+树及其查找过程,redis了解程度
GC,jvm调优,如果我自己定义一个String类会怎么样(双亲委派机制)
NIO和BIO的比较
ReentrantLock源码,AQS,synchronized实现,乐观锁和悲观锁,volatile,ThreadLocal原理,线程池工作流程
HashMap和ConcurrentHashMap基本原理,扩容机制等
描述一下知道的设计模式,装饰者模式和***模式的区别
jdk动态***和CGLIB***
海量URL数据,低内存情况下找重复次数最高的那一个
HR面:电话面,实习时间,口头offer
总结:都是一个多小时,面试官对项目细节问得较多,考察基础和重点概念的源码,大部分是常见的问题。
#京东##美团##Java工程师#