Two most common job interview questions and how to tackle them
A. Firstly, never be negative about your current or previous jobs. Also, don't bring salary into the discussion.
- Enjoyed the people I worked with.
- Enjoyed solving technical and business problems.
- Enjoyed identifying gaps in the business requirements and technical designs and getting them rectified collaboratively.
- Enjoyed pro-actively identifying and fixing issues relating to non-functional requirements like performance, security, concurrency and memory leaks. These issues don't surface under normal scenarios and can be very challenging and satisfying.
- Enjoyed writing unit tests and initiating other code quality measures like automatic code reviews via tools like sonar and peer to peer reviews, and continuous build and integration tools.
Dislikes: (give a positive spin to your dislikes)
- Main reason for leaving is that I felt that I was not challenged enough at my current job. The company offered a great opportunity as someone with 2-3 year experience and appreciate the skills I acquired there, but now I am ready to face more challenges and take my career to the next level.
- I am looking for more potential to grow in my next job.
- I am also looking for an opportunity to get more involved with the hands-on design decisions in my next job.
Q. What was the biggest accomplishment and failure in your current job or career?
A. Reflect back on your career achievements and provide quantified answers.
- Successfully completed a high profile Java/JEE based online trading system that handles 100+ concurrent users and integrates with 4 other systems.
- Designed and developed a Java based non-blocking server that communicates with 240+ retail outlets, and integrates with 6 other internal systems.
Failures: (provide a positive spin to your mistakes or failures)
We all learn more from our mistakes or failures than from our successes or achievements. When you mention your mistakes or failures, make it a point to mention what you learned from them. You could say that these are classified more as mistakes than failures.
- The team was using a cut down database in the development environment and the technical solution I provided worked well for low volume of data, but when was moved to production like data, it caused some performance issues. Learned a valuable lesson of validating the solution with more production like data set early on in the SDLC. I subsequently revised the solution within a week and got the the big thumbs up from the users.
- Wrote some JUnit based integration tests that were bit fragile due to data fluctuations. The failing tests were causing the builds to fail. Took the initiative to fix this problem by performing the integration tests via more stable data sets that are populated via DBUnit during the set phase and the data are removed during the test tear down phase. Also, introduced other strategies for integration tests by using in memory databases like HSQL DB as opposed to actual database.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)