ThousandEyes is a network intelligence company that provides visibility into the digital experience by monitoring, analyzing and troubleshooting network performance. Its platform provides insights into the performance of applications and services across the Internet, cloud and enterprise networks. Today PROGRAMHELP is sharing ThousandEyes Interview experience.
Behavioral Question (BQ).
The interview process emphasized "critical feedback" and "dive deep". Interviewers repeatedly emphasized that they expected candidates to work well together, not alone when problems arose. The faulty narrative logic is: encounter a problem, identify it, and then solve it alone without communicating with the team. Whatever solution is adopted, it must be discussed with the team, made known and summarized afterwards. This should never be overlooked.
Coding section:
Product Filter Design Questions
The interviewer asked to design a class that would be used to filter web products based on multiple criteria (e.g., category, price, and Prime eligibility).
The example given in the question is to filter out products in the category "Clothing > Women > Dresses" with a price not exceeding $20.
The key is to design a flexible filtering mechanism that can filter data based on multiple search criteria. The interviewer suggests that when clarifying the requirements, ask about the logic of combining multiple filters, whether it is AND or OR, which can be determined in the context of actual business scenarios.
Coding Topic 1: Word Ladder
Given two words (beginWord and endWord) and a dictionary of words, return the number of words in the shortest sequence of transitions from beginWord to endWord (or 0 if no transition sequence exists).
Although the question itself is categorized as Hard, because of its high frequency, common BFS can easily pass the question.
The difficulty lies in the follow-up part: BFS is prone to double loops and double counting when finding neighbors.
The interviewer suggested that we need to preprocess the words into several patterns, and then build a pattern map, so that finding neighbors based on patterns in BFS can greatly reduce the duplication of computation. The interviewer approved of this optimization idea, and the next question followed.
To summarize, the difficulty of this question lies in achieving the specific optimization method desired by the interviewer, and many candidates tend to stop after a simple BFS.
Coding Topic 2: Distance between two nodes in a tree
getAllAncestors- on the basis of
getAllAncestorsrealizationfindLCA - Finally the distance between the two nodes is calculated using LCA
This is the simplified version of Binary Lifting, and while the questions themselves are more common, the requirements for solving them are more demanding than ever before.
Coding Topic 3: Chained List Representation of Digit Sums
Given two linked lists, each representing a number, the operation of addition is required to be performed on the two numbers. The question is given in a verbal form and no specific example is provided, so special attention needs to be paid to clarification in solving the question.
The key is to confirm whether the numbers are stored in the order of "most significant digit" (high digit first) or "least significant digit" (low digit first). The interviewer confirms "most significant digit", so there are two common ways to handle this:
- The first method uses two stacks, pressing the numbers in the chained table onto the stacks and then summing them sequentially;
- The second method is to write an inverse function that first inverts the chained list and then sums it up by the lower bits.
Note that at the end of the loop, make sure that both the chain list and the feed are processed.
Follow-up. How can an algorithm with space complexity O(1) be implemented if one of the input linked tables is allowed to be modified? The solution is to modify the shorter linked table in place and then add nodes if necessary, the process is similar to the previous idea, but instead of creating a new linked table, the result is to reuse the existing nodes.
Overall, this round of interviews was quite challenging in both the BQ section and the Coding section. the Coding questions were relatively high in difficulty, especially for the requirements of certain specific optimization solutions, which required candidates to have a certain degree of topic depth and real-world experience. Behavioral questions focus on teamwork and communication, and test the candidate's ability to adapt and reflect when facing problems.
After our powerfulInterview assistance, OA ghostwriting, candidates through these interview questions analysis and communication, the interviewer not only understand the candidate's programming ability, but also see my clear thinking and effective communication skills in the problem solving process. These not only help to deal with Thousand Eyes interviews, but also enhance our ability to solve practical programming problems. I wish you all good luck in your interviews!