Fullstack Software Engineer
Bio
Background
Years of Experience
6
Highest Education
Masters
Current Company
JP Morgan - L3
Accepted
Meta
E4
L4
Microsoft
L62
Rejected
Uber
L4
Atlassian
P4
Interview Preparation
Behavioral
Technical
Interview Experiences
Accepted
Only did Leetcode daily challenges this month and went through 10-15 FB tagged problems(sorted by frequency) before the interview.Spent 1-2 days in preparing for behavioural round as well (writing stories following STAR approach).
Had 2 coding + 1 product design + 1 behavioural round with Facebook.
In 1 coding round I had to solve 2 LC mediums and in other round 1 LC easy and 1 LC Hard was given. Solved all 4 problems. These were all variations of FB tagged problems on Leetcode and if you have solved them, it's fairly easy. Yep, FB is very predictable w.r.t. coding.I had very strong feedback for 2 coding rounds, good feedback for behavioural but my product design round didn't meet E5 expectations. This was I believe happened due to following reasons:
Recruiter reached out to me and offered to send my packet to HC for E4 as feedback for product design didn't meet the bar for E5. I declined as it was not worth and a down-level for my experience.
I had 3 coding rounds , 1 system design and 1 googlyness round.
Round 1 (Coding): 1 ambiguous problem with follow-ups. Expectation was to gather requirements and frame the problem statement. Once the scope was defined I provided few solutions with Time/Space complexities. Coded the same. Had few follow-ups w.r.t. what changes I'd make to make it thread-safe etc. This went well.
Round 2(Coding): 2 problems were given. First was related to 2-D matrix and 2nd was a graph problem. Solved both.
Round 3(Coding): A problem statement was given related to a e-commerce website. Had to gather requirements and once the scope was clear I understood it was a graph problem. Provided solutions using both DFS and BFS approach, implemented using DFS. Follow-up was again how to make it thread-safe. Next was kind of LLD question where I was given a problem and was expected to define classes/schema and relations. I provided a generic solution which would scale even for cases outside of problem statement scope.
Round 4(System Design): Was a given a problem related to a real life scenario. Very practical but not something you'd find on any YT channel or course. Since I had never seen the problem before there were no biases or known design in my mind. Kept it simple from the beginning. After gathering functional and non-functional requirements and some back-of-the-envelope estimations presented a very simple high level design. I literally drew just 3 components: client, server and a database. Then started talking about how I can scale each layer and talked about trade-offs as well. This was 1 hr round and first 45 mins went pretty well. In last 15 minutes I wasn't sure about what to talk about more as I was not getting any feedback from my interviewer. I believe he only talked during first 10 mins when I was gathering requirements and he had to answer my queries. In last 15 mins I thought of providing an algorithm of how to implement my approach and talked about few data-structures as well (although this might not be in scope of system design round). After the interview I knew it won't be a No Hire but was also not sure whether it would be Lean Hire or Hire etc.
Round 5(Googlyness): This was the best round. I discussed about various scenarios and situations following the STAR approach. I had prepared a lot of answers w.r.t. ambiguity, leadership, conflict, strengths etc. but I was kind of surprised as he didn't ask any direct questions which you usually prepare. I guess I only used 1 prepared story and rest was on the fly. But if you had prepared enough, you'll know what to answer and how to answer and would be able to relate to it using one of your experiences/projects.
Problems asked in Google were not directly from LC or any other platform. If you had practiced enough, you'll be able to solve them.Make sure you gather requirements, ask questions before jumping to solution. Keep talking and explain your thought process through-out. This is very important as interviewer would be able to judge you better and provide hints, if required.
Round 1 (Coding):Â It was a online assessment round. I had to solve 2 problems in 90 mins time. These 2 problems were new to me and I didn't find them on Leetcode. I'll categorize them as LC medium from algorithm perspective. But I had to write a lot of boiler-plate code unlike the usual LC mediums. You are given few visible test-cases and option to add custom test-cases. When you submit, 10-12 hidden test-cases are executed which are only visible post submission. So make sure you write your own test-cases well. After talking to various folks and going through community discussions, I also focused on code quality.I was able to solve both of them in 60 mins. Spent next 15 mins in adding comments in various functions to explain what they were doing. I also mentioned time and space complexity wherever I felt it was required. This is really important as this was not the screening round for me but an actual coding round where I would be judged not just on code correctness but also on code quality/modularity.My score was 100% (I passed all the visible and hidden test-cases for both the problems)
Round 2(Coding): 2 LC mediums with follow-ups. This went really well. Since we completed the coding exercise in ~35 mins, spent next 10 mins discussing my work experience/projects.
Round 3(LLD): First 10-15 mins were spent on my work experience. I had to design a Parking-Lot. Went well. You can find a lot of example/tutorials on Y**tb etc.
Round 4(HLD): This was the Hiring Manager round. First 20 mins spent on my projects and various discussions w.r.t. how I handled a particular scenario and why I chose one technology over other. Next was given a popular HLD question. I did very well here.
Round 5(Director): This was mostly project discussions and behavioural questions. Nothing technical. Went well.
Rejected
Screening Round: This was rather unexpected as interviewer gave me a LC Hard graph problem!! Who expects a LC hard in screening ? Well, Graph theory is one of my favourite and kind of my strength too, so I solved the problem well within time limit. At the start of the interview she told that if I could write the psuedo-code, that'd we fine too. But since we had time, I wrote some test-cases and tried the ones she copied pasted as well. All worked, pheww.
Round 1(Coding): 2 LC medium types. 1 related to Linked-List and other binary tree problem. Solved both.
Round 2(Coding): 1 data-structure design problem with lot of follow-ups including making it thread safe. Similar to Design a HashMap with custom O(1) operations. I was able to come up with design and implemented the same with O(1) complexity. Couldn't find the variation given to me on Leetcode.
Round 3(System Design): Design Uber. (yep, LOL)
Round 4 (Hiring Manager): Mostly project discussions and Behavioural questions.
Round 5 (Behavioural) - Cancelled. I received offers from Google and Microsoft and asked them to cancel as I had a deadline to make a decision on offers.
I felt Atlassian's interviews are really practical and they don't ask questions which you won't be expected to solve on a daily-basis. No screening round here, just a 30 min discussion with recruiter before scheduling interviews:
Round 1(Coding) : 1 problem was given. I was expected to code the same in my preferred IDE (IntelliJ, Eclipse etc.). Focus was mostly on data-structures and code quality. The algorithm itself was really easy if you chose correct data-structures. I used HashMap, Set and PriorityQueue in my solution. Created multiple classes, methods etc. Wrote a few test-cases. You end-up writing a lot of boiler-plate code in IDE as you need to write the main class and method, instantiate everything and then create test-cases. I even used a debugger to debug one of the test-case. This round went well.
Round 2(Machine Coding): Asked to implement a Rate-Limiter. Used an IDE again. Was given 1 problem statement and was expected to write a Object-oriented and modular code. This also went well.
Feedback of both the rounds were positive and recruiter scheduled 3 more rounds for me. 1 Design and 2 Cultural fit types. But I had to cancel them all as I had a deadline to make a decision on offers.
Sign up to be notified of new interview experiences!
One weekly email curated with top-tier FAANG interview experiences. No spam.