上个周看了一份JAVA简历。
这位同学说做了一个社区的项目,这个项目有一个发帖的功能,就使用了Redis实现了页面的防抖。
我就问他:你这不是一个前后端分离的项目吗?你为什么在后端要考虑到防抖的功能呢?
他说前端不靠谱,逻辑被什么人给改掉了,没限制住。
在正常的商业项目里面,不管是后台还是业务端,我们大部分环境的防抖就是前端的事。
这对前端来说是必须要能卡住的。
如果前端搞不定,那就是前端的人能力不行、无法胜任,这是要走人的。
所以这事如果你是真的在公司做过,你就不应该说是后端来控制。
只有少数人作恶的人,会故意的。
那碰上这种人的话,前端控制不住,你后端也控制不住,那是属于另外的事情了。
而且这不是redis的使用场景。
我继续和这个学生进行问答:
我:如果是防抖的话,你这个redis的主键是什么?是怎么来进行的这个帖子短时间不能发两次?
他:估计是用户ID加上标题。
我:如果是标题,那用户能不能内容改一字,再发一次?
比如说他觉得这个标题少打了个空格,他快速打了个空格,就用了0.5秒,然后又顶了一下,你是让他过还是不让他过?如果前端没有做防抖的话。
他:那我不能让他过。
我:你为什么不能过?这个不是正常的用户使用场景吗?
他:是,但是我也不知道为什么……
到这卡住了。
访问频度高,不一定是防抖场景。
对我们后端来说,可以是正常的访问量大的场景。
而且访问量大一定要用redis来做吗?
访问量大,那就上微服务扩展,多容器去扩展。
不是什么东西都是用缓存来实现。
所以现在有些学生老是看那些培训班出身的讲师包装出来的产品。
为了追求中间件和亮点,但是没有产品点,这东西不对。
不然像在这种场景,一问就又卡住了。
不要在简历上瞎包装。
不然面试官按照你简历上写的东西去提问,你还答不出来,那你不就直接就挂掉了吗?
这道题套路也太多了,一不小心就中了陷阱