Twitter Interview Question
Software Engineer / DevelopersA quick question before my interview with Twitter, I have seen some questions from Twitter on CareerCup, and most of them are focused on design. So is Twitter mostly focusing on finding design guys. BTW, I will interview for software engineer for new graduate.
Yes, Paxos is used in a distributed system when any sort of decision is to be made. E.g. who is to be made the leader, how many nodes are present in the current view, what should the next sequence number of the request be etc. Here the primary (usually a node with the smallest id in the current view) proposes a value (which can be anything depending upon what sort of consensus is to be reached). If the primary receives an OK response from majority of the nodes in the view, the primary commits this value, else we need to run another instance of Paxos. So the question is, when does Paxos commit/complete? Theoretically we may never reach a consensus, but when designing a system like this, you will eventually get majority of the nodes to agree on some value.
- ZhableBaba January 08, 2012