3 min read

How I Make Interviews Difficult for Candidates

Challenge candidates with real-world problem-solving questions to evaluate their practical skills, not just their theoretical knowledge.

Interviews are not just about evaluating a candidate’s knowledge but also about assessing their problem-solving abilities. As an interviewer, it’s crucial to ask questions that challenge candidates to think critically and apply their knowledge effectively. This article delves into my approach to making interviews difficult—but fair—by focusing on practical problem-solving rather than theoretical knowledge.

Let's start with two questions you could ask a child:

  1. How can I pick a jar placed at a high spot?
  2. What is the use of a ladder?

Which question do you think is more challenging?

The first question prompts the child to think creatively and come up with a tool that can solve the problem. The second question, on the other hand, asks the child to identify problems that a given tool (a ladder) can solve. Real-life scenarios are more like the first question. In reality, you don’t have to think about all the potential uses of the tools you already have. Instead, you need to discover or create tools that solve the problems you encounter.

Similarly, during interviews, I design questions that require candidates to think of a feature of a language or technology that addresses a specific issue, rather than just asking them about the predefined uses of a feature.


A Better Approach to Technical Interviews

When I interview candidates for Frontend Developer or Website Designer positions, I avoid straightforward questions like:

  • “What does the <input type='file' /> element do in HTML?”
  • “What does the caret-color property do in CSS?”

These questions test theoretical knowledge but don’t provide insight into whether the candidate can apply these features in real-world scenarios. In reality, candidates won’t be explaining these properties to clients. Instead, they will be asked to implement specific features, like a file upload control or changing the cursor color in a text box.

The <input type='file' /> tag, for example, is used to create a file upload button, allowing users to select files from their device. The caret-color property controls the color of the blinking cursor inside a text box. If the developer has practical experience with these features, they will be able to implement them effectively.


Real-World Interview Questions

Instead of asking candidates what these features do, I pose questions like:

  • “How would you implement a file upload feature and ensure the uploaded file is of a specific type, such as a PDF?”
  • “How can you change the cursor color in a text box?”

These types of questions assess whether the candidate has a deep understanding and practical experience with these technologies. They can only answer accurately if they’ve worked hands-on with these features and have a solid grasp of the concepts.

For instance, I once interviewed a candidate who could recite definitions of CSS properties but struggled to implement a responsive design. This showed that while theoretical knowledge is important, practical application is what truly matters. On another occasion, a candidate with less theoretical knowledge excelled in solving a complex layout problem because they had hands-on experience with flexbox and grid systems in CSS.


Key Takeaways

  1. For Technical Interviewers: To better evaluate a candidate's proficiency, ask questions that focus on achieving a specific outcome rather than just identifying a feature's purpose. For example, while interviewing for VB.NET positions, instead of asking, “What is the use of the MustInherit keyword?”, ask, “How do I ensure a class is compulsorily inherited?” This approach will reveal whether the candidate has practical experience with the MustInherit keyword or not.
  2. For Candidates: Learn programming languages and technologies by doing practical projects rather than just reading theories from books or tutorials. Real-world experience is crucial for developing a comprehensive understanding of different features and their applications. Build projects from scratch to encounter and solve real-world problems, and ensure you’re well-prepared for any scenario you might face in an interview.

By focusing on practical problem-solving and real-world application, both interviewers and candidates can ensure that the interview process is not just challenging but also meaningful. This approach helps in identifying truly skilled professionals who are capable of tackling the complex challenges they will face in their careers.