After applying online, the recruiting process started with a basic screening/interest call with one of the engineering managers. After that, I was sent a take home assignment to complete. The assignment wasn’t particularly difficult, although it did have multiple parts which ended up requiring me to use a few different tools. It asked to not spend more than 5 hours on it (which is still a bit long for an interview assignment, in my opinion). The next interview was a video call, walking through my project solution as well as a typical systems design question. This interview also included a few basic SQL questions related to the system to be designed. The final step in the process was the onsite, which was conducted virtually through Zoom. The virtual onsite was ~5-6 hours long, and consisted of: an introduction to the company’s product, a coding round, a casual chat with a bunch of employees, a culture chat, an endpoint design round, a systems design round, and finally a talk with the CTO. I had the opportunity to interview with several higher-ups in the company during these rounds.
The coding round was pretty easy, and I appreciated that it wasn’t the usual algorithmic roulette kind of interview that I’m used to. I also appreciated the opportunities to get a feel for the culture and the people at Graphika during the final round interviews. Now, my least favorite part of the experience was the systems design round of the onsite. For context, I’m a relatively fresh grad (with ~1 year of experience). Right off the bat, the two interviewers weren’t nearly as friendly as any of the others that day, and the system they told me to design was exactly the same as the one I got in the previous phone interview. I was thrown off by this, but I went ahead and walked them through my potential design (which was naturally the same as the previous round, and it was pretty textbook given how common the question is). From how thoroughly they were questioning specific details in my implementation, I got the impression that they were expecting someone more senior, and they seemed to expect me to have a more detailed level of knowledge than is typical for a junior engineer. While that’s totally reasonable given the size of the company, if there was a mismatch in expectations that should have been sniffed out well before the final round interview. Neither of the two interviewers had seen my resume before that very call (they said so themselves), and I didn’t get the impression that any of the other interviewers had either.
After waiting a little while, I had to follow up with my point of contact just to receive a canned rejection email the next day (no feedback was given). The generic rejection was disappointing, as all my previous communication with Graphika was generally pleasant and personable. Overall, the interviewing process felt frustrating - in total, I had spent several hours on that take-home project, and taken a day off from work to do the final round interview. If the role was intended for someone with more experience, I would have much preferred my resume been screened by those making the hiring decisions and told so immediately, instead of burning time on the rest of the interview process (and wasting interviewers’ time in the process too).