当前位置: 首页 > 面试经验 >

2023-08-05小红书一面(已挂)

优质
小牛编辑
90浏览
2023-08-07

2023-08-05小红书一面(已挂)

岗位是Java后端(DTS方向)
DTS部门做异构数据源之间的数据同步
(按照项目问的)
项目一
项目中Redis的功能是什么呢?Redis存的是什么数据,使用过程中有什么问题?
Redis的过期在哪里过期的?
Redis大约部署了多少个节点,以什么形式部署?单个分片or水平扩展机制?
数据体量多大?Redis里数据量多大?Redis容量不够怎么办?Redis缓存命中率低怎么办?(项目中是先写Redis,过期后再写MySQL)
Redis与MySQL如何保证双写的一致性?写Redis失败了怎么办?数据以谁为准,数据一致性如何保证?(项目中没有考虑)让你优化该如何优化?
MySQL部署如何保证高可用?主从复制是不是会有时延,是异步复制还是MGR?读到从库是否有脏读问题?
项目二
项目中RocketMQ是怎么保证消息有序的?
流量特别大的情况下,要用多个Queue,如何保证全局有序?
RocketMQ是架构是怎么样的,是怎么做横向扩展的?(没回答出来)
可以类比Kafka或Redis,一个Redis里面存不下了,要用多个Redis,怎么实现?哪个Redis该存什么样的数据,客户端怎么找到对应的Redis,怎么写进去?(答根据哈希值分给不同节点)
能具体一点吗,比如我一开始有2个master节点,我升级为3个master节点,升级过程中如何保证数据读写正常?
项目三
项目中持久化是怎么做的?
事务隔离级别有哪些?
幻读怎么理解,MySQL怎么解决的,RR级别下可以解决吗,InnoDB在RR级别下如何解决幻读?
MySQL的锁有哪些?
为什么采用B+树索引?
索引具体在磁盘中是如何存储的?比如主键索引,在磁盘怎么存的,数据怎么分布的?叶子节点存储的是什么?非聚集索引呢,联合主键呢
concurrentHashMap原理
项目中NIO是用的原生的NIO吗?有调研业界比较成熟的方案吗?为什么不用Netty呢?
NIO是什么原理,为什么比IO快,多路复用的概念,为什么快?
CountDownLatch底层的实现原理
可重入锁与synchronized关键字的区别,底层实现原理
项目中LRU缓存怎么实现的?Java中有没有类似的数据结构?
算法题
和为0不重复的三元组
感觉面试官的问题非常好,但是自己积累不够,答不上来
 类似资料: