蘑菇街一面凉经
在上上周走完几家流程等开奖的时候,又收到了蘑菇街的面试邀请,心想着没啥事就面面呗,不面还好一面心里堵得慌。
1.自我介绍。
2.你熟悉哪些。答:java语言,spring系列框架运用,mysql,hbase,redis,kafka等。
3.噩梦开始了~~~
4.说一说mysql两种存储引擎,谈了锁,存储结构,索引等区别。谈一下数据库事务,答了ACID,让我再详细说下这几个概念。追问mvcc,间隙锁。问了一个关于间隙锁的问题,我不太懂,卒。
5.讲一下你对Redis的了解,谈了数据类型,使用场景,跳表,项目中咋用的。追问RDB,AOF区别,谈了RDB保存一段时间内的数据,子进程完成操作。AOF记录操作命令。追问还有没有区别,又卒。
6.说说你对java集合的了解,JUC里面的类,讲了semaphore,cyclicBarrier,countDownLatch的使用场景与区别。追问底层怎么实现,讲了一下AQS,追问再细致点,再卒。
7.map如何解决冲突,1.7,1.8区别,讲讲put源码。
8.tcp,拥塞控制,讲了一下慢开始,拥塞避免(乘法减小,加法增大),追问详细解释一下乘法减小,加法增大,我又又卒了。快重传讲一下。
9.讲一下udp。追问怎么让udp像tcp一样可靠(我内心是奔溃的),尴尬地一批说了这个不了解,躺好了。
10.说一下kafka分区设置,怎么持久化的,怎么确定向哪一个分区写消息,为什么快(答零拷贝,只需一次用户态与内核态切换,扯了一点用户态和内核态的东西,追问再详细地说一下(我太菜我无话可说))。
11.kafka消息幂等性怎么做呢,offset批量提交如何做的。我说手动批量提交的,他说那万一有一个消息没有持久化成功怎么办。我说我们设计的是全部成功之后再提交。他说那就有一个没成功咋办(我不会行了吧)。
12.讲一哈spring,谈了ioc,aop,jdk动态代理和cglib,反射,spring中用到的设计模式。
13.项目相关,自己讲了一堆项目场景,难点,如何解决。
14.反问环节(终于让我反问了,我感受到了解脱),蘑菇街月活(不告诉我,让我自己去网上查),和小红书区别,你觉得蘑菇街前景怎么样(淡淡地说了一句我觉得还好啊)。
因为并不是很想去,也没啥准备,4:20面试,前一秒我还在看LGD的比赛,全程感觉很尴尬,面试官尬我也尬,在这里跟面试官说一句,对不起了。
最后,自己太菜了,太菜了,还是要静下心来多读点源码,更加深入一些。不面了也不投了,希望那几家公司赶紧开奖吧,大不了春招再战。
最最最后,很喜欢鲁迅先生的一句话:九月机会多多,十月国企更香,来年春招再战,延毕又是应届。