小天才Java架构方向面经(3)

反问
(上面那个问题如何解决,哈哈哈哈,没啥其他想了解的,我就想了解怎么解决)
其实你不需要那么考虑性能,解决方法简单的就是设定一个额外字段,这个额外字段存储的是当前部门的父部门的信息,比如你现在有:id=1,ids=「2,3,4」,parentid=0.
id=2,ids=「3,4」,parentid=1.
那么其实你知道你只是修改id=2的父部门,他的ids你是不用变的,也就是你开一个额外字段,存储信息为到达当前部门的全量路径,比如你现在是到达2对吧,那么就设定一个prefixpath = 「1,2」。
然后你现在就能在一条语句中查询出来你的prefixpath了,由于你的ids不用变,你只要变2前面的1就可以了不是吗,你在一条语句中实现predixpath做一下切割,切割到2这个位置,然后你把1改成你的新的parentid就解决了。
其实这个问题确实性能不好,但是能解决,你的设计思路也大致没问题。)

个人感觉:爱了爱了,虽然被拷打了,但是还是很开心。
全部评论
我哭死,真的好详细,感谢
1 回复 分享
发布于 2023-11-02 14:28 重庆

相关推荐

1. 介绍项目2. 你有用过MQ,你了解一些消息丢失以及重复消费和消息的顺序性的问题吗?3. 消费端是怎么避免漏消息的?4. 消息顺序性问题怎么保证呢?5. 比如有些场景,用户提交多条消息,必须生产者12345写进来,你也只能12345去消费6. 如果流量特别大,一个队列处理不过来,用多队列的模式有了解过吗?7. 消费者和队列之间的对应关系,比如我有五个队列,然后你有两个消费者,这个消息是会被拿到一次,还是大家都拿?8. redis分布式锁你是怎么实现的?9. setnx存在什么问题?10. redis的核心数据结构,你的项目中用到了哪些数据类型?11. 你的key是什么?field存的是什么?value是什么?12. 缓存雪崩和缓存击穿,穿透是什么以及解决方法?13. 布隆过滤器存在什么问题?14. redis的单线程模型说一下,有了解过为什么要用单线程吗?15. Redis的多路复用讲一下16. IO模式:select epoll 讲一下17. Redis的持久策略讲一下18. 你们项目的redis缓存预热是怎么做的19. 优化http线程池,具体是怎么做的?20. 网络OSI七层模型21. TCP属于哪一层,http属于哪一层22. 浏览器输入一个url按下回车,会发生什么23. TCP建立连接的过程24. 操作系统为什么要分为内核态和用户态25. 了解零拷贝吗26. 讲一下你了解的设计模式27. 微服务架构设计当中这个服务注册与发现,实现的手段有什么?28. Linux基本命令熟悉吗?我要看一个日志前十行用什么命令?#虾皮##java##面经#
虾皮信息一面247人在聊 查看27道真题和解析
点赞 评论 收藏
分享
2 4 评论
分享
牛客网
牛客企业服务