Mostly lack of sleep and having to sacrifice a lot of weekends to work on the assignments. I took OMSCS with the goal of learning as much as possible since I did not have a traditional CS degree, so I took all the hard classes in the Computing Systems track (DC, Compilers, ISL:BE, IHPC, etc).
CS7210 (DC) is the hardest class I took. We had to write a correct Paxos implementation, then use it to build a distributed sharded KV store. I remember having to spend 10+ hours on a single day during weekend. It was worth it though, learned a lot about distributed consensus, and how difficult it is to get right (there were test failures that were fixed after hours of debug, and the fix was literally changing the order of some code lol).
CS7210 (DC) is the hardest class I took. We had to write a correct Paxos implementation, then use it to build a distributed sharded KV store. I remember having to spend 10+ hours on a single day during weekend. It was worth it though, learned a lot about distributed consensus, and how difficult it is to get right (there were test failures that were fixed after hours of debug, and the fix was literally changing the order of some code lol).