Ho presentato la mia candidatura online. La procedura ha richiesto 4 settimane. Ho sostenuto un colloquio presso Shopify (Ottawa, ON)
Colloquio
The first part of the process was a remote pair-programming session using CoderPad. Followed later with a remote one-on-one session talking about my background and choices leading up to the interview and another remote pair-programming session. I was invited to their offices after that, where the on-site interviews consisted of a technical deep-dive talk, a design/problem solving session, and an on-site pair-programming session. All pair-program sessions were done with the programming language of my choice.
Domande di colloquio [2]
Domanda 1
In the design/problem solving session, I paired with the interviewer to design a web service. Given an initial set of requirements, we made a high-level design of the service (while asking questions back and forth). As we worked through solving the problem, additional requirements were thrown in to add to the complexity, where we would build on the design to accommodate them.
In the pair-programming sessions, I was allowed to use the programming language of my choice and was allowed to look at resources online. The problems did not involve regurgitating algorithms or otherwise require knowing something beforehand. Rather, they were simpler problems that were either more related to the role (any domain knowledge required was explained during the interview in my case) or perhaps more fun problems that one wouldn't normally solve day-to-day professionally. Additional requirements and complexities were also thrown onto the problems as I made my way through them. One of the problems I had was: given a string, return an array of strings based on certain rules. During the pair-programming sessions, I was also asked to talk about my thought process to the interviewer.
typical interview process, one round with hr. followed by a 75 min coding interview pair programming with one of the engineers. In the coding interview it was encouraged to use ai.
Domande di colloquio [1]
Domanda 1
create a autocomplete system for search based on a list of search frequencies.
There was a first round with hr followed by a 1hour interview, use of AI was encouraged. Interviewer was not very knowledgeable and I had to discover a solution that she understands
The interview was intense and definitely exceeded my expectations. The technical rounds were particularly challenging, but I felt prepared. One of the system design questions was about creating a webhook delivery system with various complexities, and I was relieved because I had explored that exact topic on PracHub just days before. After tackling some coding problems, I faced some behavioral questions that tested my thought process. Overall, the experience was demanding, but I was thrilled to receive an offer, which I happily accepted.
Domande di colloquio [1]
Domanda 1
Design a webhook delivery system that retries on failure with exponential backoff. Cover idempotency, ordering guarantees, dead-letter queues, and how you'd handle a downstream consumer that's been offline for hours.