I went through five stages of the interview process at Wix, each with its own focus and set of tasks.
1. Initial HR Screening (Phone Call): The process began with a phone interview with HR to discuss my background, qualifications, and general fit for the role.
2. Technical Background Review: The second interview was with a technical leader to explore my technical experience in more detail. This was an introductory session, lasting around 30 minutes, where I was asked about my previous roles and technical expertise.
3. Technical Interview - Server Guild:
This interview focused on my technical experience and practical problem-solving skills. It began with an overview of the company and the Server Guild, followed by an in-depth conversation about my past projects, particularly one I was proud of. The expectation was to describe the project in detail, including challenges and how I solved them.
I was then given access to a collaborative tool (Excalidraw) to help explain my approach visually, followed by a short coding task using Coderpad to assess my ability to implement solutions in real-time.
4. Coding Challenge:
The next interview was focused entirely on coding skills. Prior to the session, I was given a coding problem to review, and I was expected to set up my development environment to solve it in the language of my choice.
Before the interview, I was given a home assignment related to the GitHub Query API. The task required me to write code that reads a file containing GitHub queries, executes them, and prints the results, along with the total number of results . They gave me an hour to implement it and then we went on the Zoom meeting again and discussed my solution with the interviewer before moving on to the next phase.
For the second phase, I was asked how I would modify the implementation to allow control over parallelism levels.
Finally, I submitted my solution via WeTransfer for further review.
5. System Design Interview:
In the final interview, the focus was on system design and architectural skills. I was asked to discuss a project I had worked on in detail and walk through the design and architectural decisions I made.
The key focus of this interview was on understanding how I approached designing systems with specific requirements, my knowledge of distributed systems, and my understanding of how operating systems work. Additionally, I was asked to describe how I would implement a rate control mechanism for a mailing service.
Midway through the discussion, it became apparent that my profile didn’t fully align with their specific requirements, and the interview was concluded.