How we interview in Engineering at Qualtrics
echild // January 2, 2019 // 12min read
At Qualtrics, we work hard to cultivate our engineering culture. As part of our hiring process, we assess whether or not we believe that candidates will make a positive impact on our organization. We have found that people who succeed here are typically detail-oriented, growth-minded, and capable of effective collaboration.
In this blog post, we are going to provide some more detail about the interview process at Qualtrics. You will typically come in for 4-6 hours to meet engineers who will ask questions about your background and experience, guide you through some coding exercises, and challenge you with problem solving and/or system design problems. Along the way, interviewers will ask questions to get a sense for how well you represent our corporate values (listed below).
There are three types of interviews, appropriately adjusted for your level of experience:
- Technical coding interviews
- Architecture and design interviews (only experienced candidates, not new college grads)
- Personal qualities interviews
Technical coding interviews
What to expect in the technical coding interviews:
Our coding interviews are straightforward exercises in fundamental computer science topics. We want you to focus on algorithms and problem-solving, supplemented with appropriate use and general knowledge of data structures. You should be able to reason about how your code will work in terms of resource usage, speed and efficiency, reliability, and computational complexity.
The reason for this type of interview is that we value generalists who have a solid understanding of computer science principles. This skill set will enable you to write maintainable systems that delight our users and help Qualtrics to do great things! #customerobsessed
Remember to do the following in the interview: Ask questions about the problem - make sure you fully understand the requirements and expectations. Think about different approaches and validate your assumptions. Break down the problem into smaller pieces and iterate on a solution. While we do not expect syntactical perfection in an unfamiliar IDE, try to make your syntax as clean as possible in your chosen language. Explain your choices and help the interviewer understand your rationale and decision making.
In addition to coding, we also assess a variety of other skills (with varied expectations depending on experience) during the technical coding interviews, including:
- Algorithmic analysis and design
- Data structures
- Edge and error cases
- Testing strategies
- Be able to talk about your recent professional successes and your specific contribution and impact
- Discuss how you involved your team and the leadership you have demonstrated
A couple of representative examples of coding problems are the clock hands and is scrambled palindrome problems detailed below
Write a function that returns the acute angle between two clock hands, with two integers for the number of hours and number of minutes.
E.g. For 3:00, the acute angle would be 90°. For 6:00, it would be 180°.
Is Scrambled Palindrome
Write a function that, given a string of letters, returns true or false for whether the letters in the string could be arranged to form a palindrome.
E.g. For “torro”, the answer is True, because the letters can be rearranged to spell “rotor”.
For either of these questions, we will provide the problem description and answer any questions you may have. We will then support you, as you work through demonstrating your problem solving / algorithmic skills to deliver a solution. You should consider tradeoffs in memory, space, ease of implementation, and code readability. Being able to discuss Big O complexity is also helpful in working towards a good solution.
How to prepare
The best way to prepare to do coding interviews at Qualtrics is practicing coding questions. For example, Leetcode has some great courses on Top Interview Questions. (https://leetcode.com/explore/interview/)
Architecture and design interviews
What to expect in the architecture and design interviews:
Architecture interviews focus on your ability to dig in and understand requirements from an ambiguous problem description and utilize modern tools to design a solution. You should expect to demonstrate the following two skills:
Requirements gathering - ask questions to define the scope of the problem that needs to be solved, starting with the customer; define the use cases and make sure you have a concrete understanding of the problem that must be solved.
Design - discuss trade-offs with different system design strategies, settle on one, model the data, and describe the logical and physical architecture of the components or services involved. Some tips for preparing include:
- Use industry standard technologies (databases, messaging systems, caching systems, restful web services, etc.)
- Demonstrate good design practices and the ability to apply your experience and computational theory to a problem domain.
How to prepare:
As you are preparing for our architecture and design interviews, make sure that you can speak to the architecture patterns that you have used in the past. Anything on your resume is fair game for a conversation. It is helpful to be familiar with concepts presented at
https://www.hiredintech.com/system-design/the-system-design-process/. We will give you an intentionally ambiguous design question. We are interested in your ability to address each of the following in your design:
- Business Requirements (what problem are we solving for the customer?)
- Engineering Requirements
- Definition of data and storage requirements
- Breakdown of systems as components or services
- Fault tolerance and Operations
In addition, you might want to cover other topics, such as scalability, operational excellence, correctness/validity, and security. Obviously, you will not be able to discuss each of these topics in-depth in an hour - pick a few and focus on them.
One example of an architecture question is Design the homepage of the Seattle Times.
Personal qualities interviews
What to expect in the personal qualities interviews:
At Qualtrics, we feel strongly about getting to know your story. What challenges have you overcome? What have you learned interacting with other teammates or your leaders? How did you learn from a mistake you made? We are looking for gritty, growth-mindset individuals who understand how to collaborate with others.
As an example, a couple of years ago, we had a candidate that graded out technically right around our bar. However, they spiked in our personal qualities assessment, demonstrating a high degree of grit and resilience. Today, they are a team lead and making a significant impact in the broader organization. We weigh more than just your technical ability.
How to prepare:
Be ready to discuss successes and setbacks; share stories of how you have had impact in an organization. Have questions prepared to ask your interviewer - this is an opportunity for you to interview Qualtrics! Even if you ask the same question to multiple interviewers, you may get a different perspective.
In our personal qualities interviews, we strongly index on our corporate values, which are:
- Customer Obsessed
- One Team
The more you ask, the more you know. We want you to leave the interview feeling like you understand what it will be like to work at Qualtrics. The goal of this article is to give you some confidence going into the interview process by knowing what to expect - and then being able to perform your absolute best in the process.