Interview process was of 4 steps, Interview with hiring manager, then engineering manager, then a live coding interview and a systems design interview.
All interviews went well, coding problem resolved with proper explanation and execution. Systems design went well as well, but in the end received an auto generated email with rejection.
No response received from hiring manager when I asked for a reason behind the rejection as all stages went well. If they already hired someone they should have said so but keeping a person in suspense despite excellent interviews is not fine. Should have told me either in the beginning or in the end.