Questions about Distributed systems by @tsantero.
- explain the life of an http request.
- what does the FLP result teach us?
- what is a byzantine failure?
- explain CRDTs
- explain linearizability.
- how does DNS work?
- crash-stop vs crash-recovery?
- difference between soft and hard real time
- model GC in an eventually consistent system
- discuss clock skew, NTP, and AWS vs metal
- what is causal consistency?
- whats the difference between a vector clock and a version vector?
- what is chain replication?
- at-most v at-least once
- model RYOW in an EC system.
- why does fail-stop rely on perfect fault detection?
- how is this flawed?
- how does 2PC fail?
- how does 3PC fail?
- why CANT Raft survive byzantine failures?
- why can Raft survive byzantine failures?
- how is 2PC different from fast-consensus?
- what do merkel trees accomplish?
- how do replicated logs work?
- discuss an EC system that implement idempotent increments and decrements of counters
- why are timeouts common in RPC?
- push vs poll for stats and why?
- advantages and limitations of the actor model?
- what is process calculus?
- what does termination, agreement, and validity guarantee in consensus protocols, respectfully?
- which systems are best optimized for safety?
- liveness?
- what are the characteristic differences among the two?
- why is WAN replication difficult?
- which programming languages are best suited for building concurrent systems? why?
- have you ever been to a RICON?
- watched the videos?
- what are 3 fundamental diffs between Cassandra and Riak?
- how can you reduce tail latencies in distributed systems?
- why do they matter?
- explain set union vs set intersection
- in your opinion why arent there any decent distributed time series databases on the market?
- how can you break paxos?
- why is a total order reflexive?
- what are the fundamentals of atomic broadcast?
- what does a POSET guarantee?
- what is TCP incast?
- compare and contrast Kafka, Storm, and Spark
- are you familiar with LASP?
- difficulties of programming concurrent systems in shared memory env?
- do you even know how vector clocks work?