Omar Halabieh’s Post

View profile for Omar Halabieh
Omar Halabieh Omar Halabieh is an Influencer

Tech Director @ Amazon | I help professionals lead with impact and fast-track their careers through the power of mentorship

System design interviews are an essential component of tech hiring acrosss a variety of technical roles (e.g. SDEs, SDMs, TPMs). Below I share my top four tips to ace such interviews: 1️⃣ Ask Clarifying Questions: System design questions are intentionally vague, and help the interviewer assess the candidate's ability to deal with ambiguity. Be sure to start with some questions that help you narrow down the scope of the problem to be solved and the complexity that your design must accomodate. For instance if asked to design a certain application, a clarfying question could be: "Does the system need to support both mobile and web users, or just one or the other?". Jumping straight into the design without asking a single question is generally a red flag. A litmus test for what is appropriate to ask is anything that (basis the answer) would significantly change your design. 2️⃣ Talk through your Solution: As you are working on your design, showcase your design thinking to the interviewer. This will help them gather essential datapoints on your clarity of thought and logical thinking. Pay particular attention to showcasing the why behind the design decisions you are making. For instance, I am introducing a relational database here because of the relational nature of our data (one user has several posts) and the simplicity/efficiency with which such database can deal with this requirement. 3️⃣ Consider Non-functional Requirements: While you may not have the time to address every non-functional aspect of the solution (e.g. scalability, security) in the time allocated, your interviewer does need to observe you acknowledging and to the extent possible accounting for these. For example, we will need to compress the content crawled given its size, would you like for me to get into more details about this aspect? Brushing over these important aspects of the design (without even an acknowledgment) is generally a red flag. 4️⃣ Practice, Practice, Practice: There is no shortcut to readiness without practicing. Luckily, there are tons of resources available online (youtube videos, blogs, forums, books) that you can leverage. One of my favorite resources in this area is Alex Xu’s website: https://bytebytego.com/ .

Aniuska Naveira

I help global companies drive operational efficiency & multimillion-dollar growth through strategic product management & innovation | Senior Product Manager | Strategy & Operations Leader | Fortune 500 | Ex-Amazon & Wise

2y

This is indeed extremely insightful specially for us in the PM community that focus in the technical aspect of our products. And yes “Learn with Omar blog/channel” sounds like a superb idea Morad Al Jabi

Morad Al Jabi

Sr. Manager, Products & Delivery | Payment | FinTech | eCommerce

2y

You need to start considering moving these insightful resources to a place where we don’t lose the tracker. You can start a blog. I,e: Learn with Omar :)

Michelle Li

Head of Sports Playback Experience, Prime Video Sports

2y

Well said. Love the book and the tips provided

Jake Armijo

Full Stack Engineer | 2x AWS Certified | JavaScript, Python | Efficient Communicator | I turn ideas into code and then reality

2y

I just finished vol 2 of his book! It was very insightful. Really open my eyes to so much more.

Eman Abdellatif

Financial services & e-Payment Expert | Board Member | Fintech | Digital Transformation | Change Management

2y

Very Insightful, thanks Omar for sharing.

Amir Ghanem

Senior Software Engineer

2y

Very helpful. Thank you for sharing Omar Halabieh

Eslam Zanaty

Software Development Engineer

2y

Highly Helpful! Thanks for sharing the tips 🥰

Great tips! Glad to hear our site is one of your favorite :)

See more comments

To view or add a comment, sign in

Explore topics