Among the diversity of possible questions or often endless hiring steps a candidate could go through, the Case interview is probably the most annoying one or at least it could seem so if not well prepared: an odd and unrelated question that needs a reasonably quick answer while trying to show interest yet handling pressure and stress, that is, almost a nightmare. Interviewers would always justify Case interviews in the name of problem solving skills, thinking patterns, creativity and self-control, but I would personally never prompt such a type of questions, I would rather prefer to find some vacancy related scenario, even pushing it to a certain limit, closer to the Case interview style, but still reasonably consistent with expected competencies and expectations. Mount Fuji questions (another name for the same category) are normally reserved for leadership or management positions, but they could also be used when hiring developers and you can’t do much against them, if you are on the other side of the desk you simply have to solve it, somehow.
In the past I successfully passed a Case interview and there are few points I would like to share, hopefully worth a quick read.
- Forget about the madness of the question, transform it and focus on the issue. Did they ask you to fix poverty in the world? Translate it in something more meaningful and closer to your daily tasks and think about how would you face it, don’t think about poverty or about how odd it is such a question in the middle of the interview: it would just spoil your mood and expression, you would waste time and interviewers would notice your uncomfortable attitude. Did they ask you to move the Mount Fuji? Ok, that’s fine, let’s think about how to move it then.
- Define the problem and its context. As if you were speaking about something related to your competencies, explain what the issue looks like to you, think about its causes, the context, try to feel natural and confident, it’s just a matter of attitude towards questions and it would also help you to better understand the nasty problem. Did they ask you to solve corruption in the world? Let’s firstly define it, in which conditions it rises up and how would you measure it.
- Identify stakeholders. You should always try to identify the actors involved in the problem, even applying classic paradigms like producer-consumer. Did they ask you to estimate the amount of bottle of shampoo monthly consumed in Sidney? A rough estimation of its population, the consumption of shampoo per person per week/month, the type of products available in the market are all valuable starting points for your reasoning.
- Mention advantages and disadvantages related to the matter. And of any proposed solution. Try to think with stakeholder minds: poverty is obviously a disadvantage for affected people, but sadly it is also an advantages for others. Mention these points when describing stakeholders and their involvement in the matter, in order to better understand relationships and businesses. Never propose a solution as the best one, try to find pro and cons in it and present it as a trade-off.
- When in troubles, think out loud and try to get a tip, asking questions, repeating a certain statement, engaging the interviewer(s) in a thoughtful conversation. They would certainly understand the situation and share some tipping points which you should be ready to catch and relate to the ongoing reasoning. Be proactive and don’t panic in case you get stuck: it’s normal and interviewers could also value your attitude in these circumstances.
A real example
My Case Interview lasted about an hour and its subject was ‘Try to solve or reduce corruption in the world‘. It actually sounds as if a business analyst suddenly came to your desk asking ‘Can we process one billion transactions in less than a minute?‘, you would probably laugh at your colleague but you won’t do the same at your interviewer, for that reason let’s treat it as if it was a slightly different question, hence with the same analytic approach you would have facing a question like ‘Can we process more transactions in less time?‘. Of course we can, corruption in the world? Let’s firstly define what corruption is: an illegal act or process through which people would gain private incomes, power, agreements. You don’t need to provide the perfect definition, let’ stick with this one then and move on. What about the context? Transparency is the keyword, corruption rises up whenever there is a lack of transparency and a chance of private profit; worth to mention as well is the culture, the habits, the average attitude of people and the existing level of corruption in a given society. Stakeholders? stakeholders are the whole society broken up in two big categories: corrupted people gaining something and anyone else enduring its consequences. Pro and cons of corruption? For the first category, advantages are easy to identity: private profit, power, bureaucracy short-cuts; for the second one, disadvantages affect economy, development, meritocracy, environment, justice, quality of living. So, what would you do to reduce corruption in the world? Studying pilot projects among the world (there are well know experiments in UK, for instance) concerning transparency in city council administrations and how to extend them to other entities of public sector, enforcing controls on allocated budgets and tax payers, reduce complexity in bureaucracy and avoid centralization of power and responsibilities in single roles.
We don’t need to go too much into details, the interview clearly went well and hopefully you could deal with any Case interview just going through these simple steps and applying your favorite problem solving patterns. Don’t fall in the trap of firmly being against them: Case interviews can bother you, they can appear like something meaningless or completely unrelated to the position you applied for, yet the question could easily sound unreasonable, but nobody expects you to solve poverty in the world. That is, you won’t be a super-hero but your flow of thoughts can be more valuable than several qualifications and certified experiences. And of course, may good luck be your best friend while you will handle your next Case interview!
Be prepared for your next job interview with this tried-and-true advice.
In today's tight job market, competition for programming jobs is hotter than ever. This third edition of a popular guide to programming interviews includes new code examples, information on the latest languages, new chapters on sorting and design patterns, tips on using LinkedIn, and a downloadable app to help prepare applicants for the interview. Like its earlier editions, this guide covers what software companies and IT departments want their programmers to know and includes plenty of helpful hints to boost your confidence.