其实两年前校招的时候就往米哈游投了一次简历,结果很明显凉了,随后这个理想就被暂时放下了,但是这个种子一直埋在心里
这两年除了工作以外,也会坚持写博客,也因此结识了很多优秀的小伙伴,从他们身上我学到了特别多东西,把这次面试分享出来,也是希望可以帮助到更多的人。
【资料图】
一面(远程视频面)
自我介绍
项目介绍
Redis介绍
解redis源码吗
了解redis集群吗
Hashmap的原理
hashmap容量为什么是2的幂次
hashset的源码
object类你知道的方法
hashcode和equals
你重写过hashcode和equals么,要注意什么
假设现在一个学生类,有学号和姓名,我现在hashcode方法重写的时候,只将学号参与计算,会出现什么情况?
往set里面put一个学生对象,然后将这个学生对象的学号改了,再put进去,可以放进set么?并讲出为什么
Redis的持久化?有哪些方式,原理是什么?
讲一下稳定的排序算法和不稳定的排序算法
讲一下快速排序的思想
我特意整理了一下,有很多问题不是靠几句话能讲清楚,所以整理成一份文档,用来回答这些面试题。很多问题其实答案很简单,但是背后的思考和逻辑不简单
二面(现场)
自我介绍
讲一下数据的acid
什么是一致性
什么是隔离性
Mysql的隔离级别
每个隔离级别是如何解决
Mysql要加上nextkey锁,语句该怎么写
Java的内存模型,垃圾回收
线程池的参数
每个参数解释一遍
然后面试官设置了每个参数,给了是个线程,让描述出完整的线程池执行的流程
Nio和IO有什么区别
Nio和aio的区别
Spring的aop怎么实现
Spring的aop有哪些实现方式
动态代理的实现方式和区别
Linux了解么
怎么查看系统负载
Cpu load的参数如果为4,描述一下现在系统处于什么情况
Linux,查找磁盘上最大的文件的命令
Linux,如何查看系统日志文件
手撕算法:leeetcode原题 22,Generate Parentheses,给定 n 对括号,请写一个函数以将其生成新的括号组合,并返回所有组合结果。
三面
说一说Java内存区域。
什么是分布式系统?
分布式系统你会考虑哪些方面?
为什么说TCP/IP协议是不可靠的?
OSI有哪七层模型?TCP/IP是哪四层模型。
讲一讲TCP协议的三次握手和四次挥手流程。
为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?为什么不能用两次握手进行连接?
为什么TCP TIME_WAIT状态还需要等2MSL后才能返回到CLOSED状态?
什么是DoS、DDoS、DRDoS攻击?如何防御?
描述一下Java异常层次结构。
什么是检查异常,不受检查异常,运行时异常?并分别举例说明。
finally块一定会执行吗?
正常情况下,当在try块或catch块中遇到return语句时,finally语句块在方法返回之前还是之后被执行?
try、catch、finally语句块的执行顺序。
Java虚拟机中,数据类型可以分为哪几类?
怎么理解栈、堆?堆中存什么?栈中存什么?
为什么要把堆和栈区分出来呢?栈中不是也可以存储数据吗?
在Java中,什么是是栈的起始点,同时也是程序的起始点?
为什么不把基本类型放堆中呢?
Java中的参数传递时传值呢?还是传引用?
Java中有没有指针的概念?
Java中,栈的大小通过什么参数来设置?
一个空Object对象的占多大空间?
对象引用类型分为哪几类?
讲一讲垃圾回收算法。
如何解决内存碎片的问题?
大家在去面试自己中意的公司之前建议大家先去练练手,我首先去了美团和快手,每次都会带上录音笔,这样可以更快的发现自己的错误并改正,校招看重的是基础,社招也重基础但是更多的是考察项目,上面一些题可能有些很简单,但是某些点面试官会深挖
面试前也准备了挺久,前面主要是看电子书,学习笔记视频什么的,后面就是刷面试真题我也整理出来了,(附大厂面试原题)redis+ssm+Mysql+消息中间件+分布式+微服务等
我的学习笔记
redis高频面试题(附答案)
redis实战
Mysql高频面试题(附答案)
MySQL性能调优与架构设计解析
基础篇
性能优化篇
架构设计篇
springboot高频面试题(附答案)
springboot开发指南
MyBatis 高频面试题(附答案)
MyBatis源码分析
并发编程高频面试题(附答案)
迅雷,百度,阿里,网易等大厂笔试真题
虽然只是微不足道的一点成绩但这是对我这两年努力的肯定,也是圆了自己一个梦想,以后也会继续努力。
以上都为大家整理好了,希望大家有帮助!