Cracking Software Engineering Interviews – level 1

The requirements for software engineering jobs are ever changing, and the only way is to be prepared, do your homework, and succeed in tough interviews.

The class consists of five sessions, each session lasts 90 minutes.

Session #1   July 23, 2017
Topic: Algorithms – Arrays and Strings
Sample Questions:
Given an array of integers, return indices of the two numbers such that they add up to a specific target.

Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.

You may assume that the array is non-empty and the majority element always exist in the array.

Session #2  July 30, 2017
Topic: Algorithms – Binary Search

Sample Questions:

There are two sorted arrays nums1 and nums2 of size m and n respectively.

Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).

Session #3  Aug 6, 2017
Topic: Algorithms – Graphs

Sample Questions:

Given a binary tree, find its maximum depth.

The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

Session #4   August 13, 2017
Topic: Algorithms – Backtracking

Sample Questions:

Implement regular expression matching with support for '.' and '*'.

Session #5  August 20, 2017

Topic: Design – popular design questions such as design an Instagram, design Snapchat.



Hailin Wu
PhD in computer science.
Software engineer at Google.
Former LinkedIn staff software engineer.
Cracked interviews at Facebook, Airbnb, and Snap.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s