美团 java 面试题之 - 拿到offer

一面(电话)

  • 自我介绍

  • 项目介绍

  • Redis介绍

  • 了解redis源码么

  • 了解redis集群么

  • Hashmap的原理

  • hashmap容量为什么是2的幂次

  • hashset的源码

  • object类你知道的方法

  • hashcode和equals

  • 你重写过hashcode和equals么,要注意什么

  • 假设现在一个学生类,有学号和姓名,我现在hashcode方法重写的时候,只将学号参与计算,会出现什么情况?

  • 往set里面put一个学生对象,然后将这个学生对象的学号改了,再put进去,可以放进set么?并讲出为什么

  • Redis的持久化?有哪些方式,原理是什么?

  • 讲一下稳定的排序算法和不稳定的排序算法

  • 讲一下快速排序的思想

  • 我特意整理了一下,有很多问题不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,用来回答这些面试题。很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。如果想学习Java工程化、高性能及分布式、深入浅出。性能调优、Spring,MyBatis,Netty源码分析的朋友可以加我的Java进阶群:675047716,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。

二面(现场)

  • 自我介绍

  • 讲一下数据的acid

  • 什么是一致性

  • 什么是隔离性

  • Mysql的隔离级别

  • 每个隔离级别是如何解决

  • Mysql要加上nextkey锁,语句该怎么写

  • Java的内存模型,垃圾回收

  • 线程池的参数

  • 每个参数解释一遍

  • 然后面试官设置了每个参数,给了是个线程,让描述出完整的线程池执行的流程

  • Nio和IO有什么区别

  • Nio和aio的区别

  • Spring的aop怎么实现

  • Spring的aop有哪些实现方式

  • 动态代理的实现方式和区别

  • Linux了解么

  • 怎么查看系统负载

  • Cpu load的参数如果为4,描述一下现在系统处于什么情况

  • Linux,查找磁盘上最大的文件的命令

  • Linux,如何查看系统日志文件

  • 手撕算法:leeetcode原题 22,Generate Parentheses,给定 n 对括号,请写一个函数以将其生成新的括号组合,并返回所有组合结果。