Tooling engineer Interview Questions
300
Tooling Engineer interview questions shared by candidates
How do you find the biggest number ?
4 Answers↳
If you sorted the list of numbers why would you have to binary search to pick it out? It should either be the first or last one in the list depending on what you past as your comparator. And sorting is slow for this kind of question, since you will be removing and inserting items to figure out which one is the biggest. What they probably wanted to hear is if they didn't want it optimized was a single for-loop with a comparator. This should get done in O(n). If they wanted it optimized, a divide and conquer strategy will find the answer in lesser number of comparisons. If you're looking for a STD solution it's "std::minmax_element(first, last);" Less
↳
You are so right ! Now I can't remember whether the question was to find a target number, or the biggest. If the latter, then for sure that would be the killer reason I failed the interview! Thanks very much for the solution. Less
↳
Sorting + Binary search = O(n log n) + O(log n) Linear search = O(n) ???

For the one-on-one video interviews, some of them asked me to draw up assembly tooling based on a short prompt.
2 Answers↳
Drew the design, which you're given about a minute or less to think about, on a piece of paper and showed it to the camera. Less
↳
Can you add any details on the prompt that was given?

Like many other reviews, they always ask why do you want to work for Blizzard. Seems like they want you to kiss up to them.
2 Answers↳
What a terrible answer. They want to know that you're coming to them with passion and enthusiasm for their products and services and you basically told them you have no reason to want to work there. It's not hard to do a little pre-interview research and come up with *something* especially since most of their job postings explicitly require that you should include reasons why you want to work there in your cover letter. Less
↳
I said I don't know anyone who works for Blizzard, so I really can't say.

How do you start a form?
2 Answers↳
(What?! It's always automatically generated by Qt, the use Qt for interface) I just told a story of creating customisable form as a sensible answer. Less
↳
It's good for every developer to at least learn to create basic elements natively and without the help of a 3rd party framework holding their hand. In WinForms, you can create a new form by deriving a new Class (say MyAwesomeForm) from the Form class. Then to make it the main form of the application and launch it, in static void Main() -- "Program.cs" -- launch it by using the Application.Run(new(YOUR_FORM_HERE)); In HTML, it's basically the tag. At least they didn't ask you to code up the basic WIN32 windows from scratch. Less

Given a input string and a dictionary, find the longest substring that also appear in the dictionary. each subset need to retain the original order of the characters. what's the efficiency of the solution ?
2 Answers↳
You could use a trie and probably change the implementation a bit to fit this specific need Less
↳
the solution is quite straight forward - use a bfs style to analyze all the potential substring. since each char can either appear to disappear from the tested substring we have 2 ^ n permutation to test. Yet, it's an opportunistic algorithm, and it will "succeed" early. Less

What should not be in a constructor?
2 Answers↳
I answered several things that should not be in, apparently the answer should have been any virtual functions. Less
↳
Hmm, the first answer that came to mind was: two new statements, without a try-catch around the second that deletes the first. There are probably many answers to such a vague question; it is indeed unintuitive to programmers coming from e.g. C#, that virtual function calls in the constructor wouldn't call overrides (that's called dynamic binding, C++ doesn't have it), but it is almost as unintuitive that your destructor which tries to delete both objects would not be called at all, if the constructor throws an exception. Less
