Software Developer Interview Questions For Experienced
- What is the difference between computer software and computer program?
A computer program is a portion of programming code which executes a well-defined task and software includes programming code, its documentation and user guide.
- What are the 3 principles to simplify your life?
This might sound something spiritual and related to life, but this is related to what you’re thinking right now. A developer’s life gets complex with extreme coding and so the 3 principles- KISS, YAGNI and DRY help him in overcoming it. KISS is ‘Keep it Simple Stupid’, YAGNI stands for ‘You Aren’t Gonna Need It’ and DRY indicates ‘Don’t Repeat Yourself’. This question generally stands out for experienced and senior developers, but still, you can let the interviewee learn about this to simplify his life.
- Ask the full forms of abbreviations:
You can ask the full form of abbreviations related to the software development industry. Few known abbreviations include MVP, MVC, MVVM, SRS, SDLC, DFD, HIPO, ER, CASE, etc. A quick response is likely to impress the interviewer. You can also ask about their functions and how are they programmed.
- What language do you prefer while writing complex algorithms?
Every developer would have a different viewpoint when it comes to the technical questions. Like the preferred language for complex algorithms, the choice might vary. For example, if a developer prefers extremely super high-level languages those are dynamic, and then he won’t need to worry about the low-level details.
- Which are the important tools to test the quality of your codes?
The developer will state about the tools that he uses for quality assurance of his codes. A good developer will also explain how those tools help them in quality checking and unit testing of the codes.
- How to create technical documentation of your product?
Good documentation of the product leads to profit. If the developer is a good one then he’ll explain a product documentation strategy that is focused on profit rather than the cost. In terms of marketing, technical documentation can bring you prospects.
- Analyze CV:
Not to forget, you should give a deep reading to the developer’s CV. Check out the list of skills and experiences he has listed, and question him on that basis. Emphasize on those particular skills and see if he is really proficient with those. A good developer would not showcase any other skills that he doesn’t have and focus on the one that is listed.
- Ask tricky questions:
Tricky questions refer to problem-solving questions that might not be related to the job. Such questions are fired to check the developer’s capability to find the correct solution within a short time. Brain racking questions tests the developers thinking skills and how smartly he can solve a problem. Similar questions are, “How would you store 1 million contact numbers?” or “How would you find a good estimate of 2000 samples from this set of data and write a code for it?”
- Take a short coding test:
If you are still not convinced with the answers then you can take a practice test to judge the developer’s skills. This is even a better option rather firing a bundle of questions. Taking a practical examination will determine the capability and quality of the developer. You can take possible tests like Fizzbuzz during the interview which is a small test. Or maybe you can ask him to create a high-level design for a small system.
- The question simply for a reason; he’s been referred:
Referrals have great powers than your skills. When the developer is sent by a referral or company person, you’ll interview him just because you need to. The developer has made strong contacts within the network and now he is capable of getting inside the company with the aid of that particular person. And since a company person or the manager referred him, you don’t have the chance to throw him away.