Skip to content

Latest commit

 

History

History
198 lines (148 loc) · 16 KB

README.md

File metadata and controls

198 lines (148 loc) · 16 KB

Software Engineer Interview Questions 💻 🚀

👋 Hi, I'm Michael! I put together this interview guide with questions and resources I encountered over the course of 50+ technical interviews at companies anywhere from startups to FAANG to hedge funds.

It's not meant to be an exhaustive list, but it's a great place to start if you're studying for interviews! :)

📢 Big shoutout to everyone who contributed questions & resources!! 📢

🙏 Want to add questions/resources? Make a PR! 🙏


Applying to SWE jobs or internships?
Autofill all your applications in a single click.

Simplify
Stop manually re-entering your information. Simplify’s extension helps you autofill online job applications on millions of sites.


Concept Review 🔄

Not quite ready to jump into problem solving? Check out this list of crash course/review content to brush up on concepts before working on the problems

Resource Notes
Crash Course on Data Structures Great crash course for everything DS – good refresher
10 Most Important Concepts for Coding Interviews Quick overview of important concepts, helpful to identify what to focus on
Linked List Review Self explanatory
BFS and DFS Review Self explanatory
Binary Search Review Self explanatory
Stacks and Queues Review Self explanatory
Trees Review Self explanatory
Heaps Review Self explanatory
Hash Table Review Self explanatory
Recursion Review Self explanatory

Interview Questions 🏔

Here's the list you've been looking for! I've categorized the questions by their overarching category/concept, with notes on tips and what company asked me (or one of the contributors) the question.

Important Note: The companies that asked these questions are self-reported from repo contributors and per my memory. Companies are constantly changing their interview bank, so don't read too much into it!

10 Must-Know Questions

💡 Note: I encountered these questions multiple times over the course of my interviews. Make sure you know these well since many future problems will build off of your knowledge of these concepts! Feel free to start with these questions or come back at the end to test your knowledge :)

Question Difficulty Company/Notes
Valid Parentheses 🟩 Meta, Microsoft
Two Sum 🟩 More than 5 companies
Longest Common Prefix 🟩 Amazon, Google
Merge Sorted Array 🟩 Meta, Microsoft
Best Time to Buy & Sell Stock 🟩 Citadel, Amazon
Number of Islands 🟨 Palantir, Bloomberg
Spiral Matrix 🟨 Citadel, Palantir
Validate Binary Search Tree 🟨 Twitter, Airbnb
Coin Change 🟨 Meta, Google

Arrays

Question Difficulty Company/Notes
Search Insert Position 🟩 Google
Binary Search 🟩 Wasn't asked directly, but definitely important to know
Remove Duplicates from Sorted Array 🟩 Amazon, Microsoft
Find First and Last Position of Element in Sorted Array 🟨 Meta, Yelp
Longest Substring Without Repeating Characters 🟨 Coding challenge problem
Search in Rotated Sorted Array 🟨 Meta, Google
Container with Most Water 🟨 Startup
Valid Sudoku 🟨 Tesla, Microsoft
Top K Frequent Elements 🟨 Palantir
Merge K Sorted Lists 🟥 Meta

Strings

Question Difficulty Company/Notes
Reverse String 🟩 Pinterest
Valid Parentheses 🟩 Classic question
Length of Last Word 🟩 Good problem to get comfortable with string operators/edge cases
Valid Anagram 🟩 Startup
Unique Email Addresses 🟩 Coding challenge problem
Isomorphic Strings 🟩 Tesla
Decode String 🟨 Netflix
String Compression 🟨 Amazon
Longest Substring Without Repeating Characters 🟨 Meta

Linked Lists

Question Difficulty Company/Notes
Reverse Linked List 🟩 Citadel, Meta
Palindrome Linked List 🟩 Duolingo
Linked List Cycle 🟩 Startup
Remove Nth Node From End of List 🟨 Meta
Swap Nodes in Pairs 🟨 Uber
Add Two Numbers 🟨 Slack, Meta
Copy Linked List with Random Pointer 🟨 Citadel (Final round), Startup (Phone screen)
Odd-Even Linked List 🟨 Meta

Trees and Traversals

Question Difficulty Company/Notes
Diameter of Binary Tree 🟩 Bloomberg
Balanced Binary Tree 🟩 Zoom
Symmetric Tree 🟩 Asana
Path Sum 🟩 Meta
Binary Tree Level Order Traversal 🟨 Twitch
Delete Node in a BST 🟨 Amazon
Validate Binary Search Tree 🟨 Microsoft
Max Area of Island 🟨 Palantir (Final round)
Binary Tree Right Side View 🟨 Meta (Final round)
Serialize and Deserialize Binary Tree 🟥 Meta (Final round)

Dynamic Programming

💡Note: DP questions aren't commonly tested for internship & new-grad roles at FAANG companies, but it doesn't hurt to get a good grasp of the basics!

Question Difficulty Company/Notes
Climbing Stairs 🟩 Coding challenge question
House Robber 🟨 Citadel
Best Time to Buy and Sell Stock with Cooldown 🟨 Citadel
Longest Palindromic Substring 🟨 A Stanford CS homework question
Maximum Subarray 🟨 NVIDIA
Longest Increasing Subsequence 🟨 Meta

Other Interview Prep

Time & Space Complexity and Big-O Notation

💡 Note: Big-O questions are asked in just about every technical interview (especially in FAANG), so be sure that you are familiar and comfortable with time and space complexity questions!

Resource Notes
Introduction to Big O Notation and Time Complexity Great refresher video to review key concepts for time/space complexity
Big-O Cheat sheet Self explanatory
Practice Questions on Time Complexity Analysis GeeksForGeeks post with a few practice questions

System Design Interview Prep

💡Note: System design questions are an important part of the technical interview that allow you to showcase that you are more than just a code monkey. Take a step back and look at the bigger picture – who is your customer, what are your constraints, how would you manage security/traffic? Show that you're able to design an effective program – and use common sense.

Videos/Resources
System Design Interview with Ex-Googler
Tiny URL
Parking Lot System
Uber App Design
Instagram
Tinder-like Service

Operating Systems & Concurrency

💡 Note: Threading/OS questions are pretty uncommon for most SWE interviews – I was only asked OS questions when interviewing for quantitative finance firms and some system-specific roles (performance engineering) at FAANG companies!

Videos/Resources Notes
Intro to Processes & Threads Great intro video to basic concurrency
Difference between process and thread Important concepts to know
Difference between forking and multithreading Important concepts to know
Commonly Asked Operating Systems Interview Questions GeeksForGeeks post for OS interview prep

Behavioral Interview Prep

People often overlook behavioral questions – and shockingly, I've heard of friends that have aced the coding parts of interviews only to struggle and ultimately get rejected because of the behavioral interview. Here's my favorite blog post on how to approach behavioral interviews!