I added a recruiter on LinkedIn and sent a private message about hiring opportunities. I received a quick reply and was able to set up an interview for the following week. The interviewer spoke with me on the phone and was very nice.
Tableau seemed like a great company to work for, and they were hiring extensively. I was advised to study CS fundamentals and to practice with their software, which they stressed was important for the interview. I completed every interview question I found from other users on Glassdoor, along with additional practice from Cracking the Code. I also tried out the trial version of their software (though it cannot be installed on Linux).
I felt completely ready for the interview. The following week, the interviewer called me. He spent about 10 minutes discussing his position at Tableau and what to expect. Then, he asked about basic data structures, specifically the difference between a linked list, a tree, and a hashmap. The question seemed fairly straightforward, so I explained how each of them worked and provided example use cases. The interviewer repeatedly asked, "Okay, but what else?" until I had exhausted my knowledge on the subject. He eventually revealed what he was looking for: linked lists preserve insertion order, trees are good for finding ranges of values, and hashmaps are for quick lookups. I was a bit annoyed, as I felt I had already touched upon these concepts but perhaps hadn't articulated them in the exact way he desired. It seemed he was seeking one specific answer for a rather vague question.
Next, we moved on to the coding question. The requirement was to consolidate a series of stream readers into one combined stream reader, given they all implemented a common class with a function int read(char*, int). Honestly, the goal was initially difficult to grasp, and I asked many clarifying questions, partly due to my limited experience with stream readers. I did manage to finish the problem, and although he asked to implement another feature, we ran out of time.
Overall, I was a little bummed because I felt my interview questions were vague and the interviewer did not clarify much, even when I asked questions. The process was fast, and everyone was nice, so I won't say anything negative about that.
Difference between linked list, tree, and hash map.
Create a stream reader in C++ that consolidates multiple different stream inputs.
The following metrics were computed from 16 interview experiences for the Tableau Software Engineer role in Seattle, Washington.
Tableau's interview process for their Software Engineer roles in Seattle, Washington is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Tableau's Software Engineer interview process in Seattle, Washington.