Search This Blog

Wednesday, May 31, 2006

Technical (Java) Interview Experiences and tips - I

I'm much more composed now than I was 6 hours back. The last post which I decided not to take down speaks volumes about my state of mind then. I wrote that minutes after that grilling 55 min interview.

Just a little background on what's going on. I'm looking out for a job because we are relocating to a new city and I began interviewing with prospective employers today. I went through a similar experience just 3 months back. For whatever reason, this experience is frustrating and teaching me so many lessons. So I decided to hell with anonymity and decided to blog about it here. Some Do's and Dont's. The process of getting a Project Lead job in India involves the following steps :

Precursor

1. Making a resume and I confess I'm not very creative at it.
2. Posting a resume in a job portal or through referrals.
3. Answering to hundreds of e-mails from thousands of consultants within hours of posting the profile.
4. Hundreds of calls come for administrators and network guys if you are looking for a project lead position. Everything is software and IT for consultants. Its their job and they don't give a damn.

Finally when something materializes, REAL interview calls start coming in. The criteria for every company varies. You can judge the kind of organization you are getting into by the way interviews are organized and conducted. Just like they say you can judge a man by the company he keeps, you can judge a company by the HR personnel the company employs.

Every company typically has about 4-5 round of interviews of which atleast 2-3 are technical nature varying in complexity.

What went wrong today?

Interviewee - that's me :

1. preparedness : If you are not prepared, do NOT agree to take an interview. If you do, then only 2 things can happen. Either you try to prove that you are smarter than the interviewer or you end up saying "I don't know" for the answers you know too because you are not confident.

2. Location : The place where I took the interview was just not right. It was in the open with 37 deg C Sun rays right over my head that made my temperature and temper rise.

Otherwise I think I did a good job.

Interviewer:

1. If you ever happen to interview someone, please review the role you are interviewing the person for. Asking the person what each member in "system.out.prinln" does not make any sense. How many times do you really care before writing system.out.println as to what it does?

2. No Googling: Please please do not Google for Java Interview Questions and ask questions from there. People are smart enough to do the same before taking an interview.

3. Ask questions relevant to what is needed to get the job done and what you encounter daily in the project. Ask design and architecture related questions for a project lead and not what is the difference between classes111.zip and classes12.zip.
Test for spontaneity and practical application, not theoretical knowledge.

4. Focus not on you: Your motto is to judge how good the person you are interviewing is. Your motto is NOT to prove that you are better than the person you are interviewing. I'm sure you get more chances and avenues to do that on a different forum.

5. Do NOT test syntax : In this age of Rapid Application Development, asking someone for the syntax of something is the most stupid thing one can do. IDEs do that for you. Use your gray cells to remember design patterns and better stuff.

6. Test the aptitude : Aptitude to be able to judge the right solution and the attitude to get the solutions by any means is what you need to test. Understand that one would not have answers to all the problems and one need not know anything.

7. Area of Expertise : Interview and explore their knowledge on an area of expertise extensively. A little knowledge of everything is not what you need. My interview this afternoons spanned from normalization techniques of databases to textbook definition of joins to Rational Unified Processes to Project Manegemnt tools to Reflection API of Java. What are you trying to judge by interviewing on all such varied topics? Have a focus area and attack that!

8. Problem Solving Approaches : The way a person thinks comes out best when you ask him/ger to solve a problem. I like ThoughtWorks way of interviewing. First they give youa problem to solve and then in the later round, ask you to critique it and improve the solution.

No comments: