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
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
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
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
Implement regular expression matching with support for
Session #5 August 20, 2017
Topic: Design – popular design questions such as design an Instagram, design Snapchat.
PhD in computer science.
Software engineer at Google.
Former LinkedIn staff software engineer.
Cracked interviews at Facebook, Airbnb, and Snap.