百度的系统设计题
来源:互联网 发布:重庆seo推广公司 编辑:程序博客网 时间:2024/06/04 20:12
你得先知道什么缓存
假设 我现在要从包含大数据的文件中查找一个数据
数据格式是一个结构体
struct Data
{
int id;
char name[255];
...
};
数据格式是一个结构体
struct Data
{
int id;
char name[255];
...
};
那现在我们需要这么做呢 当用户发送一个id过来的时候 我们开始遍历文件 查找id相等的结构体记录
现在我们发现一个规律 在多数情况下 前后 5次左右的请求 id 是相同的
我们是不是可以优化一下,每次在内存中保留上一次找到的 结构体记录,那么下次请求来的时候 我们直接对比上次的查找结果 如果id确实相等 那么我就直接返回,如果不等 再查找文件
万一这个时候数据变了呢...我们先讨论不变的情况。
那么问题就来了 我们采用什么数据结构 来组织这些内存中的缓存呢?
链表是最直观的 ,简单 但是每次就变成先遍历链表了
于是 我们可以考虑 树结构。根据ID 分级存储。二叉排序树。这样二级缓存就出来了。
第一级我们先确定id位于哪个子树中 接着 我们遍历对应的子树
这个就是数据结构的应用之一 大型的公司 产品中都有类似的问题
整个意图是提高大数据的查找性能
当数据量比较大的时候,将所有的数据建成一棵树是否可行? 当你采用的缓存技术不能提高访问性能的时候 就要考虑是不是需要继续了
百度的这个题 除了考察缓存的思想 还考察分布式系统的概念
其实就是在不同的机器上都分配缓存的备份,这样可以保证 当一台机器down掉之后 服务可以持续
- 百度的系统设计题
- 系统设计七(百度笔试题)
- 百度技术沙龙:如何设计优良的日志分析系统
- 系统设计一(百度笔试题,请大家讨论)
- 系统设计四(百度笔试题,请大家讨论)
- 系统设计六(百度笔试题,请大家讨论)
- 百度地图的设计
- 急急急,毕业设计,项目:基于百度lbs的车辆监控系统的设计与实现
- 一个完整推荐系统的设计实现-以百度关键词搜索推荐为例
- 一个完整推荐系统的设计实现-以百度关键词搜索推荐为例
- 百度登陆窗口的设计
- 【转载-系统设计】系统设计题常见的思路
- 系统设计题五(百度笔试题,请大家讨论)
- 35. 百度研发笔试题:设计一个系统处理词语搭配问题
- 百度系统研发笔试题
- 百度精心设计的招聘信息
- 百度首页的测试用例设计
- 转自WebScope的系统设计题
- .NET中使用Memcached的相关资源整理
- 自定义Navigation和TabBar(一)
- 编写一个公司的面试题问题
- 发布Android APK应用流程!
- poj 3375 Network Connection (优化 dp)
- 百度的系统设计题
- Leetcode: Candy
- 帝国cms 万能标签(ecmsinfo)的使用。
- c++ delete[]:怎么知道需要释放的空间大小
- 关于C++ const 的全面总结
- mysql command line client打不开(闪一下消失)的解决办法
- epoll_转自“知乎”
- shell编程速记
- 2013/7/29-----今