查看: 2884| 回复: 3
跳转到指定楼层
上一主题 下一主题
收起左侧

[题目讨论] 设计订票系统演算法

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
给一个10 * 20的座位
有一个档案有许多的订票request
要给他们assign座位
可以一次全部处理全部的request或是来一个处理一个
求怎么分配可以让戏院作最满并且顾客满意度最大

我做了几个假设
1.同一个group的人坐一起满意度最大
2.坐越中间满意度越大

求帮助,有什么比较好的演算法?


上一篇:地图上分割成不同区域这个设计题的核心是什么来着?
下一篇:爬虫设计详解
推荐
makris 2017-11-23 21:20:41 | 只看该作者
全局:
本帖最后由 makris 于 2017-11-23 21:42 编辑

lz的問題可分成(1)商業 (2)技術問題

(1)商業
首先將戲院座位分區,分成中間區、兩側、前面、後面。
再來,假定看戲的人兩人成對或以上,因此若分區時以2的倍數較好
1. 兩側區的規劃成10*2 = 20(左)、10*2 = 20(右)
2. 前面區可規劃成2*(20-2-2) =32(扣掉兩側區),後面區可規劃成2*(20-2-2) = 32
3. 因此剩下的中間區則就是(10-2-2)*(20-2-2)= 6*16=96

(2)技術
首先我會先問機器的內存可提供多少、硬盤容量、網路頻帶大小
再來,會問大概有多少request/秒
根據面試官的回答,來決定CAP中要著重哪一個
而若要確保訂位時有位子,會先儲存使用者的session來keep住座位,讓別人不能讀取該位置(atomility)
之後決定使用的資料庫等等(面試官有提供更多資訊更好回答)
回复

使用道具 举报

推荐
abc_lc 2017-11-23 15:46:03 | 只看该作者
全局:
什么是演算法? 可以说一下吗?
回复

使用道具 举报

🔗
dddddjjjjj 2018-10-25 10:51:35 | 只看该作者
全局:
atomility 是什么高大上的概念
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表