阿里面试题——天猫部
Posted 07H_JH
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里面试题——天猫部相关的知识,希望对你有一定的参考价值。
设计12306售票系统的数据库
订票系统分解,得到位池、余票池、订票池、取票池四个票务处理系统,以及独立的前台伺服系统、支付系统和通知系统,其中的精华就是位池、余票池系统。售票窗和电话取票内部原理与网上订票一样,只是多了一个人工客服或电话客服。将订票系统分解,目的是使订票事件异步处理,独立系统处理专业事件,实现简单,效率更高。子系统对应的数据结构也更符合实际需求,数据处理更快。每个子系统的处理任务不同,对服务器的要求也不同,从而实现服务器的灵活配置。分解系统的依据是使票务信息数据库结构更简单、查询链更短、“静态化”。如此以来,我们查询票务信息时面对的仿佛就是一张简单的表格,根据我们提供的列车车次或者出发站/目的站直接就可以定位到相应列车的余票信息。而且这个余票信息还是实时更新的——后台驱动在默默地为您服务。
位池系统
位池系统是余票查询与订票的基础。位池数据库记录所有列车每一个票位在沿途各站点的使用情况
/** 位池文档结构,订票系统的根基,发生订票时,向余票池请求减去或增加相应票位,向待支付票池请求生成订单。
一个文档对应列车中的一个位,如座位或者卧铺位,甚至站位。
文档的集合形成一个特定车次的列车。
一般一趟车次有不到2000车位,即集合里面文档树不到2000个,如开放站票可能会多点。
一天内所有列车集合形成当日所有列车位池数据库,当日列车位池形成当日位池数据库。
全国有不到5000次列车,即表示每日的数据库中约有不到5000个集合,每日一个数据库*/
以上是关于阿里面试题——天猫部的主要内容,如果未能解决你的问题,请参考以下文章
阿里P7Java最全面试296题:阿里天猫蚂蚁金服含答案文档解析
最新阿里天猫面试题(已拿Offer):线程池+并发编程+分布式设计+中间件
阿里天猫3面(Java研发面试题):GC回收+Redis Hash算法+架构部署+秒杀等
最新天猫3轮面试题目:虚拟机+并发锁+Sql防注入+Zookeeper