3 stages:
1) Phone interview asking 1 complex system design problem, 2 coding problems, and 2-3 specific questions about Python.
2) Phone interview asking 3 coding problems.
3) On-site interview, 5 sessions, each of which with 1-2 people. The first 2 sessions were asking 1 coding and 1 system design problems. Third session was about system design problem. Fourth session was about background and personalities. And fifth was with HR.
I thought I will get the job since I met the HR staff, but at the end I didn't get it. After flashback, I think it's fair enough since I didn't give satisfying answers in the first session. I think getting a senior position is very difficult since you have to give nearly perfect answers.