转载声明:文章来源:https://www.nowcoder.com/discuss/530430969858314240
一面 50分钟
原本约的17点结果排队排到18点才面。
一面的面试官是个姐姐,很温柔。
1.自我介绍
2.手撕算法(反转链表)
3.手撕了一条sql(一个邮件表统计出邮件次数出现最多的邮件和次数)
4.一道智力题:两个桶,一个5升一个3升问怎么得到4升水(不能各装一半,我一开始没有答出来最后姐姐点醒了我)
5.问 ArrayList 和 LinkedList 的区别
6.问可以通过什么数据结构来加快LinkedList的访问(我答的HashMap)
7.介绍 HashMap (底层结构,put流程,是否线程安全)
8.介绍 ConcurrentHashMap (底层结构,通过什么来保证线程安全)
9.问道ReentrantLock当弹道AQS时问我这是什么设计模式(模板方法)
10.介绍实习项目,并挑几个功能来详细介绍
11.Redis 数据结构和相关使用场景
12.从我的角度理解为什么Redis那么快
13.Redis 6.0 以后引入的多线程,让我详细说说(没回答上)
14.Mysql 的锁介绍
15.如何排查慢sql,并怎么优化
16.反问(给我提一些建议:思维不够发散,叫我对自己的职业生涯阶段性地设置目标)
二面 30分钟
1.自我介绍
2.介绍Redis 的缓存雪崩、缓存击穿问题如何解决
3.介绍 ReentrantLock 底层原理(讲到了AQS,和通过AQS实现的公平锁和非公平锁)
4.公平锁使用场景(我说排队的情况)
5.介绍 synchronized 的原理
6.synchronized 和 volatile 的区别
7.线程池核心参数,参数怎么设置(核心线程数、最大线程数、队列大小以及拒绝策略)
8.介绍 Executors 中的四个线程池
9.Mysql 索引结构(对 hash、B树、B+树做一个对比)
10.口述单例模式(饿汉式、懒汉式和线程安全问题)
11.责任链模式在哪里用到了(过滤器、SpringMVC的拦截器)
12.谈论实习项目中的一个功能,并且扩展了一个场景(高并发的场景,但是我之前没有考虑过所以没有搭出来)
13.一道手撕(回环链表)
14.反问:说我基础不错、对源码也有一定的了解,不足就是对于一些简单的场景没有去复杂化的考虑;
HR 面 20分钟
1.自我介绍
2.介绍自己在校的经历
3.为什么不考研
4.介绍实习经历,经历了什么,带给我了什么
5.base在北京,为什么会选择省外工作呢
6.有没有提前实习的意愿
7.希望公司能提供什么(技术方面)
8.还有一些聊天的内容记不太清了
9.反问:上班考勤时间(弹性打卡 10 7 5)
帖子还没人回复快来抢沙发