Question: Provide an example of a time when you have had to make a difficult decision under pressure and then defend and justify it. Was it the right decision?
Answer: The candidate described a situation at his current employer working on query optimization. A design decision was to be made on how to implement a solution for running the TPC-H benchmark. The first option was to use the Apache community solution, which was faster to implement but anticipated not to perform well. The second option was to start from scratch, which would potentially perform better but take longer to develop.

Q: What is the TPC-H standard about?
A: It is a database standard with 24 queries for real-time query performance evaluation.

Q: Where did the pressure come from in this situation?
A: My current employer wanted to be the first company to announce that they have run the TPC-H benchmark on their system and present the benchmarks results on an opensource conference.

Q: Can you help me understand the technical challenge?
A: We decided to build our version of TPC-H. The performance of every database should be evaluated against this standard. We ran the benchmark with our solution. We tested our platform in batch mode and in streaming mode. We were able to show that our platform was five times faster than Apache Spark in batch mode.

Q: What about streaming?
A: We were the first to develop a model for streaming. There was no reference value to compare against.

Q: Can you share the technical details of the streaming model and how you measured performance?
A: There is a data stream that is, in principle, infinite. For the benchmark, we assumed the data stream to be finite. We measured the TPS and compared it with the batch model.

Q: Can you give a concrete query optimization example for streaming?
A: Determine the max number of a list of numbers. In streaming, you might have to keep all the data to determine the final result. Memory usage becomes an issue.

Analysis

Competency asserted: Have Backbone; Disagree and Commit
Job title: Software Development Engineer II, SDE II
Interviewer role: Software Development Manager

Vote: Mixed

The technical data points were not convincing. The example wasn’t convincing because to determine the max number of a list, you have to keep only the max number that occurred previously. No more data points as we were running out of time—clearly a lack of tech depth mostly due to language problems.

The candidate talked about the same query optimization work throughout the interviews, which does not indicate a breadth of experience. He did not provide sufficient data points for technical depth.

Language/communication was an issue in the sense that it took a long time for the candidate to formulate the answers and me to understand them. It wasn’t easy to guide him STAR-like. He did not describe the situation clearly, what the problem was, how he solved it, and his role.

Learnings

The candidate kept talking as “we” instead of “I,” which made it difficult for the interviewer to know what he did. Read our behavioral interview tips.

More importantly, the candidate reused the same story for most of the questions and interviewers. Read more about how to prepare your stories.

Leave a Reply