由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问到面试题:如何保证系统的可扩展性和容错能力
相关主题
IT行业的说说Facebook有什么高科技?一道面试题
现在Hiring Bar明显提高了很多借人气请教一个google面试题
关于去金融公司做软件 我给大家讲一个真实的故事System怎么实现Scalability,有这方面的面试题吗?
Can you offer some performance/scalability programming tips (转载)发个architect面试题
Can you offer some performance/scalability programming tips (转载)请教一个关于POSIX的面试题
一道面试题G家onsite new grad 面经
关于MySQL和NoSQL的一道面试题【设计模式】要达到啥水平?
我撕去一小块窗纸,你能看到多远的天?关于polymorphism和overloading
相关话题的讨论汇总
话题: 可扩展性话题: 容错话题: systems话题: 保证系统
进入JobHunting版参与讨论
1 (共1页)
i******e
发帖数: 273
1
- 问题很模糊,应该向面试官澄清哪些细节?
- 应该从哪些方面系统全面地阐述这个问题?
- 如果追求可扩展性,要牺牲什么其他方面的性能呢?
谢谢!
i******e
发帖数: 273
2
谁能回答一下?
b*******S
发帖数: 17
3
容错的话 先看有没有single point of failure
有的话 想办法变双份或多份 (请参考DNS的设计)
然后再来要问到底要那种层词的容错
是要挂掉后修得回来(Backup回来就可以继续动)
还是资源都给双份或多份 所以有错可以知道 或是可以经过计算把错误略掉
或是直接考虑东西本来就会东坏西坏 (如map reduce),把坏掉当常态 然后就把没算完
的重算就是
知道要那一种层次的容错后 就可以开始考虑各种resources 范例如下
CPU failure
RAM (e.g., ECC)
Storage (e.g., Hadoop file system)
Database (e.g., 异地备份)
Network (e.g., 双网路卡)
可扩展性就比较虎烂了
因为首先要知道甚么样的扩展性
是指memory space可以增大 还是CPU运算量可以一直冲
如果以Hadoop来讲 要变快就一直加 nodes,但是 map 跟reduce中间的中间值需要排序
等等 也会有个bottleneck,但是这bottle neck,可能不好估
像super computing就常用MPI,但也有其限制,因为网路的速度会根不上
所以我觉得这题要答就比较难 因为不同的系统bottle neck实在差别很大
有的是ram,有的是storage,有的是CPU
再来还有一点是扩展性指的是Scalability还是说可以把新功\能加进去(extensible)
我不是很确定. 后者的话肯定是就是实作像是Plug-ins的东西就可以
可以参考Radius Protocol,他就做一个framework,然后各种的secure authentication
protocol都可以放进去. 或者是可以参考XML,反正要怎么订都可以,只要改个版本 然
后向前相容即可
b*******S
发帖数: 17
4
可以参考distributed systems的教科书如
"Distributed Systems, Principles and Paradigms"
i******e
发帖数: 273
5
多谢指教,你的回答既全面又很有深度,膜拜一下!
有个疑问:可扩展性包括不包括算法和数据结构应该在大数据量情况下正常工作?比如
应该用iteration而避免用recursion, 能够用bitmap就不要用int array. 这些属于可
扩展性范畴吗?
谢谢!

【在 b*******S 的大作中提到】
: 容错的话 先看有没有single point of failure
: 有的话 想办法变双份或多份 (请参考DNS的设计)
: 然后再来要问到底要那种层词的容错
: 是要挂掉后修得回来(Backup回来就可以继续动)
: 还是资源都给双份或多份 所以有错可以知道 或是可以经过计算把错误略掉
: 或是直接考虑东西本来就会东坏西坏 (如map reduce),把坏掉当常态 然后就把没算完
: 的重算就是
: 知道要那一种层次的容错后 就可以开始考虑各种resources 范例如下
: CPU failure
: RAM (e.g., ECC)

d******a
发帖数: 238
6
可扩展性一般用data partition和consistent hashing, 容错能力一般需要data
replication.
d******a
发帖数: 238
7
你说的这些都不是可扩展性。可扩展性是当你数据分布在多台服务器时,你增加一个服
务器或者一个服务器挂了时,代码不用动,数据迁移要尽可能少。

【在 i******e 的大作中提到】
: 多谢指教,你的回答既全面又很有深度,膜拜一下!
: 有个疑问:可扩展性包括不包括算法和数据结构应该在大数据量情况下正常工作?比如
: 应该用iteration而避免用recursion, 能够用bitmap就不要用int array. 这些属于可
: 扩展性范畴吗?
: 谢谢!

i******e
发帖数: 273
8
谢谢

【在 d******a 的大作中提到】
: 你说的这些都不是可扩展性。可扩展性是当你数据分布在多台服务器时,你增加一个服
: 务器或者一个服务器挂了时,代码不用动,数据迁移要尽可能少。

a*****s
发帖数: 1121
9
还要考虑出错后如何处理吧,自我修复如 feedback control。
a*****s
发帖数: 1121
10
如果是服务器挂了,应该输入容错范围吧。scalability多数情况指的是扩容,扩容后
要体现出性能提升,否则设计也是失败的。对于缩容来讲,可能的情况较少,重要考虑
缩容后保有原来系统的ACID性。
Scalability主要有3个方面:
1)management
2)geographical
3)size

【在 d******a 的大作中提到】
: 你说的这些都不是可扩展性。可扩展性是当你数据分布在多台服务器时,你增加一个服
: 务器或者一个服务器挂了时,代码不用动,数据迁移要尽可能少。

f*******n
发帖数: 3
11
此题纯粹考你CAP theorem而已
为了要保证Scalbility和Partition Tolerance,就要牺牲Consistency
1 (共1页)
进入JobHunting版参与讨论
相关主题
关于polymorphism和overloadingCan you offer some performance/scalability programming tips (转载)
。。。Twitter内部到底出了什么问题? (转载)一道面试题
新鲜A家电面……请问设计题怎么算回答得好?关于MySQL和NoSQL的一道面试题
Update, - 1 明天几个月来第一次onsite, 求祝福我撕去一小块窗纸,你能看到多远的天?
IT行业的说说Facebook有什么高科技?一道面试题
现在Hiring Bar明显提高了很多借人气请教一个google面试题
关于去金融公司做软件 我给大家讲一个真实的故事System怎么实现Scalability,有这方面的面试题吗?
Can you offer some performance/scalability programming tips (转载)发个architect面试题
相关话题的讨论汇总
话题: 可扩展性话题: 容错话题: systems话题: 保证系统