They first called me for the HR and technical interview. The former was simple and went fine. The latter was very detailed and parts of it were tricky. The interviewer dived deep into Java and asked some tricky questions, most of which I asked correctly.
The second interview session was conducted by the iOS developer they were general development questions.
After I cleared that, I was contacted by the HR (I'll refer her as X now) who asked me about my present compensation which I did not agree to disclose (since I was underpaid at the time). This is where the things went wrong. She reluctantly proposed that if I did not disclose my present compensation package then I will be offered a position with 3 month probation period. I accepted. So she sent me a formal job offer letter listing the salary and benefits.
Once I accepted, I received an email from another HR saying that I was required to submit a copy of experience letters (including the one from current employer), a salary slip along other documents.
When I replied back that I can not disclose my current salary, X called again and was a bit annoyed and warned me with "I'll rescind the offer" if I didn't share my current salary.
I declined and the process stopped here. I was left disappointed by the unethical attitude shown by the HR, because the development team looked what I was looking for (they were using TDD based development which many don't). I felt it was wrong for them to persistently ask about my present compensation because they knew years of experience I had and the interview was very detailed to judge what an appropriate compensation for my experience could be.