I had an overall good interview experience. The bad part though was that I had to wait for 5 hours for my turn for the interview. They asked me in the mail to come around 8.00 am. I reach arnd 7.45, and reported myself available. Since I made some friends there, I spent time speaking with them. So I actually dint feel the time pass by. I was called at arnd 1 for the first round
1st Round
He was first started by asking to explain about me. Then he asked some basic questions on asp.net, C# like page life cycle, view state, sessions. Then he went into specifics of page life cycle like what exactly does page_init do, what happens during a postback, then how to you dynamically add a control to the asp.net page. Once he knew I had good understanding of asp.net, he went into OOPS and Design Pattern concepts.
Questions asked
- Diff bw Interface and abstract class
- Polymorphism
- He gave me list of classes (A, B deriving from A, C deriving from B, etc). He wanted to know how the constructor gets called if a instance of C is created. Then a few questions on virtual/overridden function concepts
- Signing of assemblies - practical qs on this
- He gave me a problem on design (cyclic dependency of dlls ) - and asked me to solve it.
- Factory pattern with example
- Singleton pattern with code
2nd Round
this round was much tougher. Here I was mostly asked design related questions. He would put down a design a problem, I would have to give the best possible design to overcome the problem. He asked me 3 different problem, I thought I could answer every one of them satisfactorily. Once that was done he asked me process related qs like, how would I actually go onto put in the design once the requirement comes - what are the steps involved between requirements to actual design code.
3rd round was more process oriented qs and less technical. Mostly they were assessing my attitude, and my fitment to the company and role.
4th was HR
I was told I was selected, and I was sent the offer letter the very next day morning.
My advice to people would be to know your basics well, brush up your design skills (Design patterns and OOPS) - knowing theory alone will not help here, they will ask you to apply the design principles on a practical problem.