贝壳找房-Java 2024秋招面经
分享一下去年面试时的面经 内推码:IVVP10 欢迎投递 今年看通知应该是9.8-9.8开始面试,提前准备呀
您可登录链接:[campuske.zhiye.com] 进行投递,
投递之前填写我的推荐码:IVVP10 我就可以帮您内推哦~
一面 50分钟
原本约的17点结果排队排到18点才面。
一面的面试官是个姐姐,很温柔。
- 自我介绍
- 手撕算法(反转链表)
- 手撕了一条sql(一个邮件表统计出邮件次数出现最多的邮件和次数)
- 一道智力题:两个桶,一个5升一个3升问怎么得到4升水(不能各装一半,我一开始没有答出来最后姐姐点醒了我)
- 问 ArrayList 和 LinkedList 的区别
- 问可以通过什么数据结构来加快LinkedList的访问(我答的HashMap)
- 介绍 HashMap (底层结构,put流程,是否线程安全)
- 介绍 ConcurrentHashMap (底层结构,通过什么来保证线程安全)
- 问道ReentrantLock当弹道AQS时问我这是什么设计模式(模板方法)
- 介绍实习项目,并挑几个功能来详细介绍
- Redis 数据结构和相关使用场景
- 从我的角度理解为什么Redis那么快
- Redis 6.0 以后引入的多线程,让我详细说说(没回答上)
- Mysql 的锁介绍
- 如何排查慢sql,并怎么优化
- 反问(给我提一些建议:思维不够发散,叫我对自己的职业生涯阶段性地设置目标)
二面 30分钟
- 自我介绍
- 介绍Redis 的缓存雪崩、缓存击穿问题如何解决
- 介绍 ReentrantLock 底层原理(讲到了AQS,和通过AQS实现的公平锁和非公平锁)
- 公平锁使用场景(我说排队的情况)
- 介绍 synchronized 的原理
- synchronized 和 volatile 的区别
- 线程池核心参数,参数怎么设置(核心线程数、最大线程数、队列大小以及拒绝策略)
- 介绍 Executors 中的四个线程池
- Mysql 索引结构(对 hash、B树、B+树做一个对比)
- 口述单例模式(饿汉式、懒汉式和线程安全问题)
- 责任链模式在哪里用到了(过滤器、SpringMVC的拦截器)
- 谈论实习项目中的一个功能,并且扩展了一个场景(高并发的场景,但是我之前没有考虑过所以没有搭出来)
- Spring、SpringBoot、SpringCloud 之间的关系
- Mybatis 原理
- 为什么使用 RabbitMQ 而不是使用 RocketMQ或者Kafka
- 一道手撕(回环链表)
- 反问:说我基础不错、对源码也有一定的了解,不足就是对于一些简单的场景没有去复杂化的考虑;
HR 面 20分钟
- 自我介绍
- 介绍自己在校的经历
- 为什么不考研
- 介绍实习经历,经历了什么,带给我了什么
- base在北京,为什么会选择省外工作呢
- 有没有提前实习的意愿
- 希望公司能提供什么(技术方面)
- 还有一些聊天的内容记不太清了
- 反问:考勤时间