前言
说一点做开发的经验吧,只有技术过硬,在哪儿都不愁就业,“万般带不去,唯有业随身”学习本来就不是在课堂那几年说了算,而是在人生的旅途中不间断的事情。
人生短暂,别稀里糊涂的活一辈子,不要将就。
蘑菇街Java开发一面(45分钟)
面试官比较亲切,会认真听我讲,就我说的项目进行深度的挖掘,整体感觉挺不错的,是一次体验感极佳的面试
自我介绍
项目介绍
我在介绍中有说使用布隆过滤器配合Redis的bitmap抵御缓存穿透,于是面试官就这个点深入问我问题
如果数据库的数据很大怎么办,也要在项目启动的过程中直接加载到redis中吗
(我回答了懒加载),如果实现懒加载呢?
(我说使用一些判断机制),后来面试官又问我,如果需要删除数怎么办
上面三个问题我都没有给出比较满意的回答,于是面试官引导我说出另外的解决方案
缓存null值,设置过期时间
假设此时有一个热点数据过期了,但过期的瞬间,有上百万QPS打到Redis中,你能给出你的解决方案吗?(等效于解决缓存击穿问题)
蘑菇街Java开发二面(35分钟)
蘑菇街的二面是交叉面,有点出乎我的预想,然后问的问题也是我基本没有复习过的,不过这也为我日后的复习有一定的启示作用。
数据结构设计题-----让我设计一个队列,我该如何设计
不能使用链表
O(1)的时间复杂度
一道sql题-----现在有一个表含学生的信息,让我写一条sql,查询学校内男女学生的人数
后面就是聊学习任务、为什么学计算机
两道大题我的回答都不是很好,没有完整的回答出来。
蘑菇街java开发三面
springboot自动装配
redis跳表以及为什么要用跳表
redis你都用来干什么(说了缓存和分布式锁)
redis分布式锁
一致性hash
mysql底层数据结构
mysql存储引擎区别
springico
spring循环依赖
rabbitmq消息队列及底层实现原理
java里边的锁都有哪些
synchronize和lock的区别
countdownlatch和cyclicbarrier的区别
jvm方法区里都有什么,方法区会oom吗
AtomicInteger底层实现
蘑菇街Java开发HR面
不太记得问的啥了,大概面了20-30分钟
我的面试经验汇总
下面先给大家上一个总的目录大纲,基础的东西就不进行过多的赘述,我们将会从面试必问的说起,同时由于每篇的内容过多,我们也只说重点,太过基础的内容谁都会,我就不多敲字浪费大家的时间了!
有需要的朋友点击这里自取就好了,希望资料对你有帮助!
SpringCloud
Redis
JVM
MySQL
Zookeeper
Kafka
Dubbo
spring
Rabbitmq
springboot
最后
由于文章篇幅有限,PDF的内容又很多,全部手敲下来很累…所以需要阅读阅读学习的,大家“一件三连后:“查看下方””即可拿到手之后自己学习吧,博主真的打字打累了。
有需要的朋友点击这里自取就好了,希望资料对你有帮助!
预祝大家前程似锦,工作顺利!