滴滴面试题:滴滴打车数据库如何拆分

前端时间去滴滴面试,有一道题目是这样的,滴滴每天有100万的订单,如果让你去设计数据库,你会怎么去设计?
当时我的想法是根据用户id的最后一位对某个特殊的值取%操作,然后根据余数定义表的名字为order_0,order_1,orerder_2......等等,但是这样设计有个问题,滴滴的用户是分成司机和乘客的,现在司机和乘客都有app,,他们在自己的app上看自己的订单的时候那怎么查询呢?这样设计数据只有一方可以便捷的取到数据,对于另一方来说取数据会很麻烦,因此这个方案肯定是不行的。
昨天和在滴滴的一个同事聊这个问题,他和我大致的聊了下他们现在的解决方案,答案就是:搜索引擎,他们目前的解决方案是这样的:订单表按照城市拆分,每个城市的订单只保留最近一个月的订单,一个月之前的订单切换到备库,然后后台通过建立任务将订单的信息都通过索引的方式创建到Elastic Search中,后台的订单列表及app的订单列表展示都是通过搜索引擎来获取的,直接通过接口来获取数据,这样就不需要读表了,大大提高了读取的速度,听完他讲之后,我有种醍醐灌顶的感觉,这样设计不失为一种比较好的解决方案。


优秀技术博客汇总:

http://www.cnblogs.com/wendingding/

美团点评技术博客:

http://tech.meituan.com/

iOS入门实例:弄个目录,前后顺序排版一下,为了方便查看。

1iOS学习之动态添加Button和监听UIAlertView按钮

2iOS学习之Tab Bar的使用和视图切换

3iOS学习之第二个View使用UITabBarViewController

4、 iOS学习之UIActionSheet的使用

5iOS学习之 plist文件的读写

6iOS学习之Table View的简单使用

7iOS学习之分段Table View的使用(Grouped样式表格)

8iOS学习之UITableViewCell的操作

9iOS学习之UISwitch控件两种使用方法和监听

10iOS学习之iOS沙盒(sandbox)机制和文件操作()

11iOS学习之iOS沙盒(sandbox)机制和文件操作()

12iOS学习之iOS沙盒(sandbox)机制和文件操作之NSFileManager()

13iOS学习之NSBundle介绍和使用

14iOS学习之UINavigationController详解与使用()添加UIBarButtonItem

15iOS学习之UINavigationController详解与使用()页面切换和segmentedController

16iOS学习之UINavigationController详解与使用()ToolBar

17iOS学习之UIDatePicker控件使用

18iOS学习之UIPickerView控件的简单使用

19iOS学习之UIPickerView控件的关联选择

20iOS开发之iOS程序偏好设置(Settings Bundle)的使用

21iOS学习之Map,定位,标记位置的使用

22iOS学习之sqlite的创建数据库,,插入查看数据

23iOS学习之WebView的使用

24iOS学习之iOS 使用NINetworkImageView下载图片,google地图图片的获取。

25iOS学习之Xcode Debug技巧

26iOS学习之自定义弹出UIPickerViewUIDatePicker(动画效果)

汇总各大公司高质量的面试题:

http://ifeve.com/questions/

******IT公司面试题汇总+优秀技术博客汇总的更多相关文章

  1. 各大IT公司 技术博客汇总

    来自:http://www.cnblogs.com/IT-Bear/p/3191423.html 腾讯系列(13)  阿里系列(18)  百度系列(3)  搜狐系列(3)  新浪系列(2)  360系 ...

  2. 50家硅谷IT公司技术博客

    分享一下 50 家硅谷优秀 IT 公司技术博客,从中可以了解企业文化,技术特色和设计语言,如果直接列出来很单调,加上点评,算吐槽版吧. 知名大厂   1. Facebook https://www.f ...

  3. 【新版】Android技术博客精华汇总

    [新版]Android技术博客精华汇总(原文链接内持续更新) http://www.apkbus.com/thread-313856-1-1.html Kotlin Kotlin学习资料汇总 http ...

  4. IT公司技术博客地址

    IT公司技术博客 美团点评技术团队今日头条技术博客Tencent ISUX DesignTGideas-腾讯互动娱乐创意设计团队>AlloyTeam | 腾讯全端 AlloyTeam 团队 Bl ...

  5. 优秀it博客和文章

    优秀博客 综合 杨文博(供职于百度公司,任复合搜索部资深研发工程师,目前作为tech lead,负责垂直行业搜索后端架构研发.) 杨远骋 徐宥(Google 软件工程师. 这个中文博客是我的思考记录, ...

  6. 转: BAT等研发团队的技术博客

    BAT 技术团队博客   1. 美团技术团队博客:  地址: http://tech.meituan.com/ 2. 腾讯社交用户体验设计(ISUX) 地址:http://isux.tencent.c ...

  7. iOS常用第三方开源框架和优秀开发者博客等

    博客收藏iOS开发过程好的开源框架.开源项目.Xcode工具插件.Mac软件.文章等,会不断更新维护,希望对你们有帮助.如果有推荐或者建议,请到此处提交推荐或者联系我. 该文档已提交GitHub,点击 ...

  8. 开始写自己的iOS技术博客了

    2015-09-26 中秋节前夕,开始写自己的iOS开发相关的技术博客,还请广大专业的人士批评指教!欢迎纠错和交流! 在来到北京的第二家公司艾亿新融资本管理的子公司——资配易.由于基本没有加班,也算有 ...

  9. [福大软工] Z班——个人技术博客评分

    个人技术博客 作业地址 https://edu.cnblogs.com/campus/fzu/SoftwareEngineering2015/homework/1070 作业要求 个人技术博客单次作业 ...

随机推荐

  1. 后台动态添加的button,如何触发button_click事件?

    后台动态添加的button,需要在Page_Load或者Page_Init重新动态生成才能执行button_click public Panel GetContrlType() { Panel pan ...

  2. jQuery文本框中的事件应用

    jQuery文本框中的事件应用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...

  3. git 命令操作

    git add .   : 将所有修改过的工作文件提交暂存区 git commit -am 'new'  : 将修改过的文件进行记录 git push origin dev : 将项目推送到dev分只 ...

  4. 2016总结-->生活不只有技术和代码,还有诗和远方的田野。

    生活不只有技术和代码,还有诗和远方的田野. //---------------------------技术 1.应用框架的架构----->收银系统 一般情况开发中常用activity+fragm ...

  5. virtualbox设置共享文件夹代替sftp同步代码

    通常的开发场景: 代码放在virtualbox上运行,本地的IDE通过sftp实现和虚拟机的代码同步. 有 一个不能避免的问题是,当使用git时,如果装在virtualbox端,那么每次virtual ...

  6. mysql代码执行漏洞

    mysql  (5.7, 5.6, 和 5.5版本)的所有默认安装配置,包括最新的版本,攻击者可以远程和本地利用该漏洞.该漏洞需要认证访问MYSQL数据库(通过网络连接或者像phpMyAdmin的we ...

  7. Swift3.0变化分享

    Swift 3.0 做出的改变很大,在这篇文章中,我将尽我所能,利用代码样例给大家解释Swift 3.0最重要(要命)的改变,希望大家能够做好升级Swift 3.0 的准备.Swift 3.0的改变不 ...

  8. 关于ie版本判断

    //see: http://tanalin.com/en/articles/ie-version-js/ var browser = function(){ var isIE=!!window.Act ...

  9. 笔记:程序内存管理 .bss .data .rodata .text stack heap

    1.未初始化的全局变量(.bss段) bss段用来存放 没有被初始化 和 已经被初始化为0 的全局变量.如下例代码: #include<stdio.h> int bss_array[102 ...

  10. String字符串针对常量池的优化

    String对象是java语言中重要的数据类型,但是不是基本数据类型.相对于c语言的char java做了一些封装和延伸. 针对常量池的优化:当两个String拥有相同的值时,它们只引用常量池中的同一 ...