Interviewer told to draw high-level system design of twitter.
I was not prepared for system-design.
I drew the following design:

Which DB to use for users data?
I initally suggested to go for RDBMS. But then interviewer asked me a question like suppose A follows B and B follows C. A logs in and B has posted nothing but C has, we need to show C's tweets to A in the feed. For this kind of networks, what to do.
Then I suggested to go for graph based DB.
Suppose tweet service is down and user are sending request to API gateway, its sending to user service, eventually user service will also go down if these many request will bombard.
In this case I suggested to keep the replica of each server as backup server in different geo-location. Suppose tweet service in india is down then user can get data from China's tweet server.
Interviewer expected to hear about CIRCUIT BREAKERS. But I was not aware of that.
Lets say I posted something, and that tweet trended, now when larger number of users are requesting same tweet, this will create hotspot in DB. How to fix this?
We can put a cache layer in between DB and servers, that will send the most-accessed data to users from cache without hitting DB again and again.
Difference between Load balancer and API gateway.
Difference between SQL and noSQL. Discussed about pros and cons of both.
That's all. The feedback from HR was, the rejection was majorly from lack of knowledge in microservices. (Question number 2)
If prepared well, this can be cracked.