I appeared for a system design round at in-mobi with 2 years of experience in semi-product based company in bangalore. I was asked to design a high level of twitter system design.
I designed as follows:

I was REJECTED. I was not prepared with system design as well.
Q1. I was asked if which DB to use for tweets.
Suppose a user A follows B and B follows C, and B has not posted anything but C has. Then A should be able to see C's tweets in his feed. So, for this I suggested graph-based DB.
I had suggested for RDBMS earlier, should have taken care of this networking thing.
Also I used noSQL for tweet DB as it has higher support to sharding in distributed environment
Q2. Suppose tweet service went down and people are bombarding API gateway and its sending requests to user service and user service sending to tweet service, in such case, with increasing number of requests, the user service also might get down. What to do?
I suggested to go for backup server of each service at different geo-locations. And let's say india's tweet service went down then user service could get the data from a replica of tweet service hosted in China, this might slow down for a while but system would work.
interviewer expected to hear about CIRCUIT BREAKERS that I was not aware of.
Q3. Difference between load balancer and API Gateway.
this I told, and he was happy with the answer.
Q4. Suppose I tweeted something and it trended. This will create a hotspot in system as every request to read that tweet will reach DB.
I told to put a caching layer in between DB and server to give frequently accessed data without DB queries.
Q5. Difference between SQL and noSQL. When to use which one.
There is no hard and fast rule to use what in which system. Told the pros and cons of both.
It was an half-an-hour interview. Feedback from HR was, lack of knowledge of microservice architecture. Rest all was good.