贡献个系统设计题兼讨论# JobHunting - 待字闺中
h*o
1 楼
上周面了个小公司,问了个System design 题:
有个网站(下称我的网站)本周末允许任何人捐钱给指定组织. How to design the
web server and back end?
我大致说了下。然后又问:
1. 捐钱可用各种方式,paypal, credit card, bank account, etc. 此网站如何实
现?
我不知道一般网站怎么实现付款的,请问怎么答,是不是paypal或相应credit card,
bank 公司各自有API 让网站call 还是怎么的?
2. 那要paypal之类当了怎么办? 我的网站返回error还是怎么的?
3. 我的网站可不可以存捐助者信息?例如姓名,捐给谁,信用卡等?
4.信息存哪?是central DB or distributed DB?
5.当我的网站和payment system交互时,我的网站和用户之间在干吗?(我猜可能用户
发http post form 后我的网站就会一个response 说正在处理请等待,然后让用户poll
付款结果什么的,具体我也不大清楚)
6.如果我的网站用message queue, 用几个queue 呢?如果用多个queue如何做到FIFO如
果有FIFO的要求?(我说message 里加seqNo之类的)如果queue 死了怎办?我说每个
queue要有个backup queue. 又问 How? 我说那每个queue定时copy个backup...然后开
始胡说八道了。
7.If DB becomes large, what to do? 我说就distributed, sharding..
好久没面了,也没准备,感觉不大好。如果面的是你,你如何回答这几个问题?特别是
1,2,3,5,6
有个网站(下称我的网站)本周末允许任何人捐钱给指定组织. How to design the
web server and back end?
我大致说了下。然后又问:
1. 捐钱可用各种方式,paypal, credit card, bank account, etc. 此网站如何实
现?
我不知道一般网站怎么实现付款的,请问怎么答,是不是paypal或相应credit card,
bank 公司各自有API 让网站call 还是怎么的?
2. 那要paypal之类当了怎么办? 我的网站返回error还是怎么的?
3. 我的网站可不可以存捐助者信息?例如姓名,捐给谁,信用卡等?
4.信息存哪?是central DB or distributed DB?
5.当我的网站和payment system交互时,我的网站和用户之间在干吗?(我猜可能用户
发http post form 后我的网站就会一个response 说正在处理请等待,然后让用户poll
付款结果什么的,具体我也不大清楚)
6.如果我的网站用message queue, 用几个queue 呢?如果用多个queue如何做到FIFO如
果有FIFO的要求?(我说message 里加seqNo之类的)如果queue 死了怎办?我说每个
queue要有个backup queue. 又问 How? 我说那每个queue定时copy个backup...然后开
始胡说八道了。
7.If DB becomes large, what to do? 我说就distributed, sharding..
好久没面了,也没准备,感觉不大好。如果面的是你,你如何回答这几个问题?特别是
1,2,3,5,6