- Competitive salary
- Great engineering culture
It took me a month to finish the process. While I am not allowed to tell you everything especially SmartNews interview questions, I will try my best to describe the experience.
- Online coding test
- Talent Acquisition/HR round
- Programming round
- System design round x 2
- Backend domain knowledge round
- Behavioural round x 2
Online coding test
There will be 2 hours for you to solve 2 leetcode style problems (easy ~ medium). Should have more time than enough if you practice your leetcode well. I finished both questions within 45 minutes. They evaluate via score but you never know what is your score during the test so optimize if you have time.
Talent Acquisition/HR round
Nothing to talk about. The HR will guide you through the interview process roughly (I believe my post will do better) and present you with company cultures. Might be a good time to clarify culture but you will have more time later.
Not my favourite interview round especially they made me write my solution on a non-executable code editor. I have no way to verify if my code is working and I was asked to explain my codes step by step to my interviewer. I didn't come up with the most optimum solution. The interviewer had a hard time understanding my code, most probably the answer I gave wasn't what he expected. The best way to prepare this is no other than leetcode.
System Design Round 1st
You will get a huge topic like "Design a youtube" and you have to drive your design from there. You should be familiar with a lot of system design concepts to pass through this round. My first round was really huge topic and it took me some time to clarify and complete high-level design. Time was up before we could discuss any topic in detail. The ability to engage your interviewer to ask questions and the ability to drive your own solutions play a very important role in this round.
System Design Round 2st
Unlike 1st round, this round is a more narrow topic. This round interviewer is one of the nicest interviewers I had met. The interviewer started the interview by clarifying something on my resume (which means he read my resume. Or he tried to show me that he read!). The process is an enjoyable one because the interviewer makes me relaxed by telling me that from now on we are teammates, we are going to design this together and present it to other people later. Although I have to lead the design, when I asked questions not only he that told me his opinions, but he also clarify the reason behind it. During the process, the interviewer tried to lead me by asking the right question, where it doesn't seem like the solution he wants but he ends up saying "yes that will work !" because it was something that makes sense. We ended our system design interview after 35 minutes and he spent the rest 25 minutes answering my questions. System design is the most critical process in the SmartNews process, so preparation is the key. I would recommend you to checkout systemdesign.gaijineer.co (my own product) to help your preparation.
Backend domain knowledge round
This round wants to test how broad your computer science knowledge is. From your favourite programming language GC to the database to distributed system. This round of interviews has a lot of similarities with PayPay so if you prepare well you can tackle both at the same time. A few good resources that I find really helpful are
- Systems Performance: Enterprise and the Cloud, 2nd Edition (2020): Models, Concepts, Architecture of every chapter are your alliance
- High Performance Browser Networking: Chapter 2 ~ 4 are your friends
- Designing Data-Intensive Applications: Chapters 2, 3, 5 ~ 9 is for you
Behavioural Round 1st round
To go through this round, you have to be able to understand what is your motivation (social impact, engineering culture etc) to join them. You also have to show a certain interest in their product and understand how their business model work to help you. Overall I feel like he is looking for particular answers the interviewer has in mind. Which made the interview a bit stressful because behind my mind I have to figure out what does he want and try to impress him. I feel like I cannot be myself for 100% and we are not having genuine conversations. However, he spent the last 20 minutes answering my behavioural questions patiently and I am satisfied with his answer. He is not the friendliest interviewer but he is honest, straightforward, open-minded and has a great idea of what he is looking for.
Behavioural Round 2st round
Besides typical behavioural, this round also wants to see if you have done any leadership work that involves complex projects. You might get a higher rank if you do well in this round. My interviewer was wearing the mask all the time so it makes communication harder through Zoom. My interviewer gave me the impression that they are busy. Trying to finish the questions all they want to ask instead of focusing on what I say and making real conversation. A few times, my conversation was cut off. In the end, I have 5 mins to ask questions and most of those answers are short without much more elaboration. I would probably make him fail if I were the interviewer.
You can see it's a rather long process.
- Read a lot especially the book I introduce
- For system design please check out http://systemdesign.gaijineer.co/
- Understand the company culture and practice behavioural
If you would like to understand more, you can DM my Twitter.