面试太难了!一位3年crud经验开发的美团社招Java三面,差点遭毒打

Posted java路人甲乙丙丁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试太难了!一位3年crud经验开发的美团社招Java三面,差点遭毒打相关的知识,希望对你有一定的参考价值。

面试太难了!一位3年crud经验开发的美团社招Java三面,差点遭毒打

 

一面(问了并发,设计模式,算法等,1小时)

  1. concurrent包下面用过哪些?
  2. countdownlatch功能实现
  3. synchronized和lock区别,重入锁
  4. thread和runnable的区别
  5. AtomicInteger实现原理(CAS自旋)
  6. java并发sleep与wait、notify与notifyAll的区别
  7. 如何实现高效的同步链表
  8. java都有哪些加锁方式(synchronized、ReentrantLock、共享锁、读写锁等)
  9. 设计模式(工厂模式、单例模式(几种情况)、适配器模式、装饰者模式)
  10. maven依赖树,maven的依赖传递,循环依赖

二面(主问了数据库,Redis,Spring,网络等,50分钟)

  1. synchronized和reentrantLock的区别,synchronized用在代码快、方法、静态方法时说的都是什么?
  2. 介绍spring的IOC和AOP,分别如何实现(classloader、动态代理)
  3. JVM的内存布局以及垃圾回收原理及过程讲一下,讲一下CMS垃圾收集器垃圾回收的流程,以及CMS的缺点
  4. redis如何处理分布式服务器并发造成的不一致
  5. OSGi的机制
  6. spring中bean加载机制,bean生成的具体步骤,ioc注入的方式
  7. spring何时创建applicationContext
  8. listener是监听哪个事件?
  9. 介绍ConcurrentHashMap原理,用的是哪种锁,segment有没可能增大?
  10. 解释mysql索引、b树,为啥不用平衡二叉树、红黑树
  11. Zookeeper如何同步配置

三面(主要是集合,JVM,线程,算法,40分钟)

  1. Java线程池ThreadPoolEcecutor参数,基本参数,使用场景
  2. MySQL的ACID讲一下,延伸到隔离级别
  3. dubbo的实现原理,说说RPC的要点
  4. GC停顿原因,如何降低停顿?
  5. JVM如何调优、参数怎么调?
  6. 如何用工具分析jvm状态(visualVM看堆中对象的分配,对象间的引用、是否有内存泄漏,jstack看线程状态、是否死锁等等)
  7. 描述一致性hash算法(Redis)
  8. 再谈谈消息队列

面试总结:

1、基础知识的准备

这一块,其实很重要,很多问题,必须轻松的理解,就和呼吸一样自然。因为这一块的掌握程度,就决定了一个后端工程师,能不能达到高级的程度。

 

抛砖引玉,比如面向对象、原型链、闭包、es6、html5、css3,它们是后端的基础,需要烂熟于心。比如连闭包都解释不明白的,真的该好好下功夫在这些基础上。

2、好的自我介绍

自我介绍,很多人其实做的不好,其实这是面试官对面试者的第一印象。

如果我是一个面试官,我基本能从自我介绍中,得知这么一些信息:

 

1、这个人是不是一个逻辑清晰的人?

2、这个人的性格是积极向上的,还是稍显自卑的?

3、这个人能不能很好的表达自我?

 

这些问题很重要,按照这个思路,其实你反过来就可以向面试官表现自我。

 

1、学校、专业

2、技术栈

3、职业履历

4、最近一家公司的贡献

 

千万不要和面试官说,和产品、后台很好的配合,完成公司的项目之类。因为完全是废话!

 

自我介绍一般是两分钟左右,你确定你能两分钟,把上面四个问题给面试官讲清楚?并且你还要突出一些重点,比如说,我比较擅长react,做过XXX优化之类,有过XX年的项目经验之类。

3、如何“讲故事”

一定要相信,因为你,什么才发生了变化。其实大多数人是一个被动的状态,不知道自己有什么用,自己在团队中的定位,自己的职责是什么。在工作中,我希望每个人相信自己的是有用的,然后寻找你可以发力的点,去做真正的改变。如果你在找工作,那就好好思考,自己确实在团队中,承担了什么。

面试必考题目:

  1. java的基础知识点,主要围绕在集合类和多线程等:ArrayList、LinkedList、HashSet、HashpMap的数据结果,以及如何扩容、以及ConcurrentHashMap相关的多线程安全等。
  2. JVM的内存分配、几个常见的垃圾回收算法以及原理、还有对应的JVM优化参数需要牢记。
  3. 网络:TCP的三次握手等网络都必问,重点掌握网络协议。
  4. Redis:作为分布式缓存的主力,基本也是BAT每次必考,重点是Redis的数据结构、内存、算法、持久化,以及与别的缓存memcached的优劣势。
  5. 多线程:状态流转、多线程的实现,以及与高并发的区别等。
  6. Spring框架问得是最多的,BAT非常喜欢问,重点掌握。
  7. 最后就是分布式架构设计
  • 常用的分布式架构设计方案:单点登录、分布式缓存、存储、消息的选型,还有就是数据库端的优化方案(需要提前了解)。
  • 最好能提前了解深入一个类似秒杀这样的项目,如果面试官问到类似的项目,你能把设计思路讲出来,这对你的面试结果是很大的加分项。

以上就是头条Java题目,以下最新总结的阿里P8资深Java必考题范围和答案,包含最全MySQL、Redis、Java并发编程等等面试题和答案,用于参考~

面试太难了!一位3年crud经验开发的美团社招Java三面,差点遭毒打

 

更多笔记分享

面试太难了!一位3年crud经验开发的美团社招Java三面,差点遭毒打

 

面试太难了!一位3年crud经验开发的美团社招Java三面,差点遭毒打

由于篇幅限制,就不一一展示了,有需要文中资料完整版的小伙伴们注意啦:一键三连(点赞+收藏+关注)

 

以上是关于面试太难了!一位3年crud经验开发的美团社招Java三面,差点遭毒打的主要内容,如果未能解决你的问题,请参考以下文章

Java开发社招面试经验:java培训黑马

1年半经验,2本学历,Curd背景,竟给30K,我的美团Offer终于来了

这些题目都不会,面什么美团?(附答案)

阿里三面真题,每一面都离不开插件化的问题,真是太难了

1-3年经验面试回顾

Java开发社招面试总结!dockerubuntu镜像端口