黑马点评面试问题总结
2026/5/8 7:25:39 网站建设 项目流程

1.为什么项目选择用redis替代session,怎么想到的?

我直接背了准备好的回答:为了防止在集群部署的环境下解决多个服务器无法共享同一用户的登录态的问题

然后面试官应该是觉得我答得不到位,一直追问我你的项目是有多点网站还是跨区域吗?没有多点网站为什么要用redis,session应该就够了啊,我觉得你讲得不太清楚,还有为什么不考虑别的方案?(我当时也没理解他的意思,现在想了一下可能是要我回答集群部署和负载均衡的问题?)

2.项目为什么选用redis?有没有考虑过别的方案(考虑别的NoSQL)

我的回答:redis基于内存实现,速度响应快,并且使用测试软件测试过直接访问MySQL和使用Redis的响应时间和吞吐量都有很大的提升。

面试官追问:那除了性能,别的方面呢?

我:还有后面异步处理的时候使用RedisStream、Bitmap等数据结构,这是Redis中的数据结构,使用起来比较成熟并且方便

哎这块应该回答主要的不是这个,应该是要比较NoSQL和redis在这个项目里应用的优势和劣势,主要是别的NoSQL没有咋了解过,不敢直接说怕被追问。。。

所以优化一下应该是把Redis的数据结构结合项目后面的核心业务(比如分布式锁利用setnx、一人一单利用set的去重特性、异步下单利用Stream结构)一起说,同时再说别的NoSQL在这其中的不足:比如绝大多数不具备实现分布式锁所需的原子性命令和机制、主要面向海量存储和查询,其写操作的原子性粒度过粗或性能远不如内存操作,无法支撑如此高频的精准扣减

3.项目中什么场景下会出现线程安全问题?为什么?ThreadLocal怎么用的?

我没有说集群部署

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询