First of all, I'd like to thank itself and its . I'm finally into FAAMG and I couldn't be more happy!
YOE: 9 Role: senior software engineer in south american tech company
1st phase (OA) For the online assessment, I had these: I was able to solve them in the allocated time.
2nd phase (virtual onsites) My onsites consisted of three interviews, and all of them were very unique. I wasn't expecting them to got the path they went. So, unfortunatelly, I'll not be disclosing the exact questions. But I can tell you that they were all questions that exist in .
1st interview Introductions at the begginning and then the interviewer passed one easy problem. I thought "OK, I'll just get this warm-up question done quick so we can jump into the real challenge.". I quickly communicated my solution, asked for permission to start coding and then I was allowed to code. After that, the interviewer told he knew couple other ways to implement a solution for that problem. He then proceeded to describe them, listed them and then asked me the pros and cons of each solution and which would I choose if I could start over. I was able to successfully describe each pros and cons and I presented reasons to maybe have decided to start over with a different solution. Space and time complexities and device constraints were the important things to be aware off. He told he was pretty satisfied with the answers and we then proceeded to spend some good time in behavioural and past experiences talk.
At some point the interviewer said he was satisfied and he didn't have anything else to ask or discuss, and the interview ended in 20min. The allocated time was 45min.
I was pretty happy with this interview. It seemed to like I had stellar performance.
2nd interview A medium question. And the interviewer stated that he was not expecting the best solution in the world.
For this one, I knew two different solutions. I wanted to do better than the first time and then I anticipated and proceeded to describe the two solutions I knew and talked about the pros and cons of each. And asked if I could proceed with the one I thought was best. I was given an OK. I coded, and then worked on lots of edge cases and clarifying with the interviewer, and he was satisfied.
We then had some behavioural discussion and I was asked a very open question about how would I design an app that when receiving a simple number input, outputs whether the number is even or odd (this was not precisely the problem, but it was as simple as that). This was not system design, the way the interview went from here was as if the interviewer wanted to me to clarify and think about a solution that considers: audience, user experience, device constraints, etc.
I was unsure if I did well this round, due to the final part.
3rd interview This was another medium question. I haven't seem it before, it is a very old question here on . The interviewer wanted me to code the best and most clever possible approach for it (e.g.: no additional space, in-place). I felt this was hard to do, given the pressure of the interview. I literally had to play around and explore the input back and forth, up and down, to finally find out how to do it the smartest way possible. With some hints, I was able to depict the necessary steps on the solution to get to the answer. We used a drawing app during the whole discussion and exploration.
I started to code, describing each step and in the same go, finding and fixing bugs in the solution. I wasn't able to finish or test the code. But the interview said it was fine, since I described the steps and so understood I should be able to correctly finish the code.
After this interview I thought I bombed, as we should always aim to finish and test code, and not doing that is assumed to be a bad a signal.
Results To my surprise, HR got to me couple days later telling I did really well and that the interviewers really liked me and then I had an offer (yay!!).
EDIT: I wrongly stated the 2nd question as an easy, but it is a medium question here in