J'ai postulé via un recruteur. Le processus a pris 2 jours. J'ai passé un entretien chez Shopify (Waterloo, ON) en août 2019
Entretien
A team lead reached out to me for a position that they had.
They were quick to set up two interviews, one hour each. I opted to do the interviews in person, at the Waterloo, ON office.
The first one is the 'life story' interview. The recruiter I spoke to was warm and friendly and showed me around .The important question here is towards the end where you're asked why you want to work at Shopify. The real answer is: because I'm a skilled developer looking for a job that pays money for my skills. They probably don't want to hear this, so you're better off saying something flattering about the company and how you want to work there really bad.
The second interview is a short coding exercise on coderpad.io. The problem was about computing the checkout value of a cart of items after applying some discount rules (BOGOF or buy more that 2, get 20pc off). I chose to do it in Java because that's what I've been coding in lately, and produced a solution that worked for all of the test cases in about 30 mins.
The next day I received a rejection call from the HR. The feedback was that they were looking for someone more senior for the role, and my code could use more comments and should account for scalability.
I find it funny that they contacted me for the role and rejected me saying they were looking for someone more senior. The coding feedback is pretty useless. The code is very simple and with variable names and function names that explain what is happening, there should be no need for useless comments. About scalability: I was told that the important thing is to produce something that works by the end of test. If I was asked to address scalability, I would have made appropriate changes.
I suspect Shopify gets a stream of good candidates that want to work there so they prioritize things other than skill. I suspect you need to be 'hip' to work there, I saw a bunch of yuppie types in hipster clothes. So I would suggest you look and act cool if you want to work there.
Questions d'entretien [2]
Question 1
Given a list of items and quantities, apply discount rules and determine the cart's checkout value.
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.
Questions d'entretien [1]
Question 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.
J'ai postulé via la recommandation d'un employé. Le processus a pris 2 semaines. J'ai passé un entretien chez Shopify (Toronto, ON)
Entretien
Lots of rounds and meeting multiple team members enjoyable experience and the interviews really ensure that the job is a right fit. There are multiple checkpoints to ensure both parties are on the same page
Questions d'entretien [1]
Question 1
Walk through a past technical project you worked on or owned.
J'ai passé un entretien chez Shopify (Montréal, QC)
Entretien
Interview process went quickly. The recruiter was very responsive and nice, and made the whole experience 10 times better. The interviewers did not ask impossible questions and focused more on the thought process than the correct answer.
Questions d'entretien [1]
Question 1
The first 2 interviews were LeetCode-like questions. Not directly from leetcode, but if you know your data structures you'll be good. 3rd interview I had to prep a design document and share it and they asked questions about the decisions that were made and the rationale behind it.