Yuri

Systems Software Engineer

Optimize for a healthy mix of work-life balance, culture, compensation and personal growth. It's easy to pick the first offer you get, but think about how much life you have to exchange for the paycheck once you start.

Bio

Background

Years of Experience

8

Highest Education

Bachelor's

Current Company

Notion - L4

Accepted

Facebook

E5

Google

L5

Rejected

Robinhood

L3

Stripe

L3

Interview Preparation

Behavioral

  • Explain your thought process as you go, and don't hesitate to ask for clarification. You have pretty much nothing to lose.
  • Don't embellish anything, they do thousands of interviews and they can sniff the BS.
  • As long so you have decent communication skills and a working style that is positive, don't stress too much here.

Technical

Coding:

  • Blind75: These are a strong representative sample of the typical coding questions I got. Know these like the back of your hand where you could code most of the mediums in less than 10 minutes (some weird Hards or complicated DS ones obviously will take longer). I kept a sheet like NeetCode’s where I wrote my own simple 1-sentence note for each solution.
  • Went through LeetCode most frequent for each company prior to their interviews. I never got company tagged questions in my interviews (companies are smart enough to check their problem sets against these by now) but it gives a good sense of the style/topics you’ll see.
  • Review previous interview experiences at Onsites.fyi mainly to survey the landscape and see what to expect with interviews these days. This really felt like the final step I needed to pass the coding interviews once I was done preparing with the DS&A.
  • While LeetCode skill ≠ being a good SWE, any good SWE should be able to excel at LeetCode with enough study.

System Design:

  • Designing Data Intensive Applications. This is really the manual for distributed system design. Deep dives into database paradigms, their backing data structures, and every aspect of replication, partitioning, and transactions.
  • System Design Primer: You don’t need every chapter here or even the full depth of info, I would just review the relevant sections at a high level.

Interview Experiences

Accepted

Facebook

A total of five interviews: two coding rounds, one system design interview, and two behavioral interviews.

System Design Interview:

During this interview, I was tasked with designing a high-scale nearby friends and place system (proximity server). I initiated by outlining the requirements, defining APIs, and providing a high-level design. However, the interviewer expressed a specific interest in understanding how the search functionality would operate. They explicitly mentioned that they were not concerned with onboarding and other implementation details. Our discussion delved deep into topics like data storage for nearby places/friends, scalability considerations, ensuring 100% availability, and cost optimization. This interview was particularly positive, as it encouraged an in-depth exploration of core design challenges rather than adhering strictly to the traditional system design format.

1st Coding Interview:

  1. Finding the Lowest Common Ancestor (LCA) in a tree with only parent references provided. Given a list of nodes, each with a parent reference, the task was to find the LCA for a given pair of nodes. I carefully considered corner cases, including scenarios when the nodes were the same, not in the list, and more.
  2. Merging three sorted arrays while removing duplicates. The challenge was to merge these arrays, each containing potentially duplicate items, into one array with duplicates removed. The interviewer sought an optimal solution, so I articulated my thought process and ran several test cases before writing a single line of code.

2nd Coding Interview:

  1. Calculating the Maximum Sum in an n-tree. The goal was to include only the current node and its child nodes when calculating the maximum sum. I proactively clarified whether the interviewer wanted the k maximum values, so I proceeded to write code for finding k maximum values directly.
  2. Checking for Strobogrammatic Numbers. This problem was relatively straightforward, and I was able to solve it efficiently.

1st Behavioral Interview:

This interview predominantly focused on behavioral questions and discussions related to my past projects. Topics covered included complex projects I had worked on, conflict resolution with colleagues, handling disagreements between me and my manager, and instances where I had provided feedback to peers and how I had done so.

2nd Behavioral Interview:

Similar to the first behavioral interview, this session requested different examples in response to similar questions.

Google

Went through a full Google interview loop.

Round1: Got a directed graph traversal problem and used DFS to solve it. Had a really great conversation with my interviewer and he nodded constantly. I finished like 20 minute early and the interviewer was like: "OMG, we still have 20 minutes". I started to explain the BFS approach and in the middle the interviewer remembered a edge case and asked me how would I solve it. I stumbled a bit, he gave a hint which I clicked and solved and explained it.

The interviewer seemed happy with my approach and we had the last 10 minutes just chatting. The problem was a medium level.

Round2: Got a matrix related + trie problem. I explained my approach and started implementing it. Ten minutes into the approach the interviewer gave me a small hint which again I clicked and immediately changed a lit bit of my implementation which the interviewer seemed happy. I made some small programming joke and we both laughed.

The interviewer seemed ok with my approach and I did finish the problem. This problem was more of a hard level.

Round3: Got a sliding window problem. Had to ask a lot of clarfying question and started coding up the solution I proposed. The interviewer was quiet for most of the time. After I finished the solution he was okay with it and we moved on to a followup and I coded it out quickly and he was okay with it.

The communication was okay but I couldn't really connect with the interviewer since he was a bit quiet. This problem with the followup is a medium level problem.

Round4: Got a nested recursive problem. I gave a lot example to clarify, the interviewer was mostly quiet. I finished super early with like 15 minutes left and we started optimizing the return type of function. Last 10 minute was just chatting and it was great.

The interviewer was nice but a bit quiet. This was definitely a hard level question.

Round5: Chatted with a manager and we laughed a lot. Also of all my behavior interviews, this was the only manager that had interest in my side projects which accumluated a few hundred stars and was reported by multiple tech medias.

Rejected

Robinhood

Domain specific interview since I approached a specific hiring manager over LinkedIn. Was asked questions that their team focuses on.

Big Data Technologies: Discuss your knowledge of distributed computing frameworks like Apache Spark or Hadoop. How would you optimize and tune a Spark job for performance? Explain the concept of partitioning and bucketing in distributed systems.

Data Warehousing and Database Systems: Describe your experience with relational databases like MySQL or PostgreSQL. What are the differences between OLTP (Online Transaction Processing) and OLAP (Online Analytical Processing) databases? How would you design a data warehouse schema for efficient querying and analysis purposes?

Cloud Technologies: Explain your experience with cloud platforms like AWS, GCP, or Azure. How would you design a scalable and cost-effective architecture for processing and storing large volumes of data in the cloud? Discuss your knowledge of serverless computing and its benefits for data engineering tasks.

Stripe

Rejected at the initial phone screen.

They asked what you do in your current team, what projects you have worked on in the past. Summarize your work experience in previous companies. which domain interests you (product, infrastructure, tooling). They are trying to gauge if you are the right fit for the role or if they have any other role which suits you better.

Doesn't look like I passed their culture fit.

$1M∫0 The FAANG Formula Newsletter

A weekly newsletter packed with insider insights, proven strategies, and the hottest job openings to land your dream job in big tech.