从两大方面给大家分享5面美团Java岗的面试总结,已顺利拿下offer
美团Java面试真题
- java虚拟机内存模型
- 内存溢出一般发生在哪个区?永久代会不会导致内存溢出?
- 动态加载类的框架了解哪些?
- 动态代理一般有哪几种实现方式?动态代理的应用场景有哪些?
- 栈会不会溢出?栈溢出一般抛什么异常?jvm在哪里设置栈的大小?设置的参数是什么?
- 用过哪些命令查看jvm的状态、堆栈信息?
- jvm的垃圾回收机制?
- java类加载机制?如何实现自定义类加载器?findClass与loadClass的区别?
- String、StringBuffer、StringBuilder的区别?对应的使用场景?
- 如何实现不可变的类?
- 浅复制和深复制?怎样实现深复制?
- HashMap、HashTable、ConcurrentHashMap的区别?
- CAS是一种什么样的同步机制?
- NIO的原理,包括哪几个组件?
- 简单介绍一下java的反射机制?反射在哪些地方有应用场景?
- spring加载bean的流程?
- java线程池?线程池构造函数的几个参数含义?keepAliveTime解释一下?
- 一个接口,要去调用另外5个接口,每一个接口都会返回数据给这个调用接口,调用接口要对数据进行合并并返回给上层。这样一种场景可能用到并发包下的哪些类?你会怎么去实现这样的业务场景?
- CountDownLatch和CyclicBarrier的区别?
- 线程加锁有哪些方式?synchronized和lock的区别?
- volatile关键字的作用?为什么使用AtomicLong而不使用Long?AtomicLong的底层是怎么实现的?
- mysql的存储引擎有哪几种?
- springmvc处理请求的流程?
- spring的事务怎么使用?事务回滚?自定义异常?
- 脏读?幻读?
- tcp四次挥手的过程?TIME_WAIT为什么至少设置两倍的MSL时间?
- get和post请求的区别?
- cookie和session的请求?
- 了解哪些开源的中间件?缓存?消息?分布式框架?
- 用到过哪些设计模式?单例模式的实现?
- 数据库的事务实现原理、操作过程、如何做到事物之间的独立性等问题
- 数据库的脏读,幻读,不可重复读出现的原因原理,解决办法
- 数据库的隔离级别、MVCC
- 乐观锁、悲观锁、互斥锁、读写锁的原理实现与区别
- 线程的生命周期
- 一致性hash算法原理与应用
- CAP原则
- CAS操作
- 分布式raft算法
面试经验总结
总体来说可以分为两大块:基础知识和大型网站架构所用技术。
- 基础知识
- 对基础知识的考察是每个企业面试必不可少的一个环节。基础就是一个岗位必须要熟悉并且熟练掌握的知识,包括编程语言的基础语法、数据结构、 JVM 、算法、操作系统、计算机网络、数据库等。
- 后端技术体系 这里所说的后端技术体系可以理解为基于海量用户处理的基础上衍生出来的一系列高并发和分布式处理技术。包括负载均衡、消息队列、高可用、数据一致性、分布式事务等技术或者基于这些技术实现的中间件。
总的来说 , 基础是否扎实决定了是否能够通过第一轮面试,主要考察面试者的基本功是否扎实。只要通过了第一轮面试,可以说至少已经成功了一大半。后端技术体系内技术决定了面试者面试评级或者第二三轮面试成败。
读者分享,共勉
假如离面试的时间非常接近了,这个时候看书的投资回报比就会比较低,最简单粗暴的方式就是直接刷面经和面试题。当然也少不了平时的积累!上面提到的Java后端面试高频考点PDF文档是免费分享,有需要的朋友可以帮忙转发关注下,后台私信回复我【学习】即可获得资料免费领取方式!
下面是我整理的一些Java学习笔记和后端技术点学习笔记导图,对需要长期积累的朋友会大有帮助!
资料免费领取方式:转发关注后,私信回复我【学习】即可获得资料免费领取方式!