SlideShare a Scribd company logo
My 2 Cents of Preparing Coding Interview
Introduction 
ž In most experience of Coding Interview, 
we have noticed more and more 
interview questions are focusing on 
algorithms. 
ž To tell whether algorithms are better or 
worse, there is complexity BigO to 
measure the performance in theory. 
ž Today, I would like to introduce 
Algorithm Hierarchy to organize thinking 
way.
Not only Algorithm 
ž Remember: Not only is Algorithm one 
key part of coding interview, but also 
working attitude, communication skills, 
big picture thinking and so on are more 
considered etc.
Algorithm Hierarchy in thought 
ž 1. Basic Algorithm 
ž 2. Space–time tradeoff 
ž 3. Pruning Algorithm 
ž 4. Optimized Algorithm 
ž 5. Big data Algorithm 
ž Remember: As hierarchy is like pyramid, 
you would better working more on 
foundation then looking forward.
1. Basic Algorithm 
ž (completed and easy reading –cy) 
ž Recursion, Backtracking, Blind 
searching and sorting like DFS, BFS, 
merge sort and qsort etc.
2. Space–time tradeoff 
ž (completed and fast by additional space 
–cy) 
ž Iteration, Dynamic Programming, Hash, 
Priority queue etc.
3. Pruning Algorithm 
ž (completed and fast via shortcuts –cy) 
ž Binary search in rotated array, K largest, 
Single Linked List cycle detect, Matrix 
multiplication etc.
4. Optimized Algorithm 
ž (faster and almost completed –cy) 
ž Estimated value, Hill climbing, Greedy 
Heuristic search like A*, D* etc.
5. Big data Algorithm 
ž (fastest and almost completed –cy) 
ž Divide and Conquer (Cloud, Cluster) 
and Machine learning, (Genetic, Ant 
Colony), Artificial intelligence (Alpha- 
Beta, MCTS) etc.
Example of Algorithm Hierarchy 
ž Let me explain hierarchy by calculating 
Fibonacci sequence. 
ž 0, 1, 1, 2, 3, 5, 8, … 
ž Now we need to calculate nTh number 
in Fibonacci sequence.
Fibonacci sequence (1) 
ž 1. Basic Algorithm : Complexity O(n!) 
ž long long f1(int n) { 
ž return n < 2 ? n : (f1(n-1) + f1(n-2)); 
ž }
Fibonacci sequence (2) 
ž 2. Space–time tradeoff : Complexity O(n) 
ž long long f2(int n){ 
ž long long f[2] = {0, 1}; 
ž while (--n>=1) { 
ž f[0]=f[0]+f[1]; 
ž swap(f[0], f[1]); 
ž } 
ž return f[n+1]; 
ž }
Fibonacci sequence (3) 
ž 3. Probing Algorithm : Complexity O(log 
n) 
ž long long f3(int n){ 
ž return (n < 2)? n : 
MatrixPower(n-1).m_00; //power of 
matrix { {1,1}, {1, 0} } 
ž }
Fibonacci sequence (4) 
ž 4. Optimized Algorithm : Complexity 
O(1) 
ž const double sqrt5 =sqrt(5.0); 
ž long long f4 (int n){ 
ž return 0.5 + (pow((1+sqrt5)/2, n)) / 
sqrt5; 
ž }
Fibonacci sequence (5) 
ž 5. Big data Algorithm 
ž long long f5 (int n){ 
ž return f[n]; 
ž }
Fibonacci sequence (Output) 
ž f1(90) = timeout 
ž f2(90) = 2880067194370816120 
ž f3(90) = 2880067194370816120 
ž f4(90) = 2880067194370824704 
ž f5(90) = 2880067194370816120 
ž You may see f4(90) is slightly different 
because of double-precision, but it 
works for n<=70
No Recursion 
Remember: Don’t use Recursion for large 
scale problem, using Iteration instead at 
least, especially for graph problems like 
tree verify, sum and traversal etc.
Algorithm Hierarchy in Interview 
ž For Algorithm Hierarchy in Coding 
Interview, in my humble opinion, most 
Phone interview is on level 1, and most 
on-site interview is on level 2-3, 
however, you may asking about level 
4-5 algorithm.
Real Sample: Amazon’s most 
asked interview questions 
ž (source: geeksquiz.com) 
ž 1) K largest elements from a big file or array. 
ž 2) Find a triplet a, b, c such that a2 = b2 + c2. Variations of this problem like find 
a triplet with sum equal to 0. Find a pair with given sum. All such questions are 
efficiently solved using hashing. 
ž 3) Binary tree traversal questions like left view, right view, top view, bottom view, 
maximum of a level, minimum of a level, children sum property, diameter etc. 
ž 4) Convert a BST into a DLL and DLL to BST in place. 
ž 5) Vertical traversal of a Binary Tree. 
ž 6) Lowest Common ancestor in a Binary Search Tree and Binary Tree. 
ž 7) Implement a stack with push(), pop() and min() in O(1) time. 
ž 8) Reverse a linked list in groups of size k. 
ž 9) Given two numbers represented by two linked lists, write a function that 
returns sum list. 
ž 10) Rotate a matrix by 90 degree. 
ž 11) Some stack based questions like stock span problem, next greater element. 
ž 12) Some Dynamic Programming problems like maximum sum subarray, 
maximum sum subarray such that no elements are consecutive, edit distance, 
assembly line scheduling. 
ž You may easily find out there are 4 questions in each level 1-3, well balanced.
KISS in phone interview 
Think aloud face to face 
ž Remember: Don’t think too complex in 
phone interview, just clarify your idea 
and keep it stupid simple(KISS). 
ž For on-site interview, you would better to 
well prepare and think aloud.
oj.leetcode.com for preparing 
ž Last but not least, let me recommend 
oj.leetcode.com for preparing Coding 
Interview. 
ž After solving more than 140 problems in 
oj.leetcode.com in several days, I could 
summary out its Hierarchy: 49% level 1, 
28% level 2, 23% level 3. 
ž LeetCode is focusing on data structures 
and algorithms. It requires not only just 
workable, but also optimized code. So you 
need to program in strict time and space 
complexity.
Bottom line to pass interview 
ž Remember: In order to pass coding 
interview, you may need to solve 2-5 
problems per hour in oj.leetcode.com.
Thanks 
ž Thanks for watching. It is just my 
humble opinion, my 2 cents. 
ž Should you have any questions, please 
feel free to contact me. 
ž All rights reserved. Please contact 
changyu.yang for permission to copy, 
distribute or reprint.

More Related Content

PPTX
Algorithm Development
PDF
Algorithm
PPTX
Introduction to Programming
PPT
Copy of dti2143/dam31303 chap 1 problem solving and program design
PPTX
Algorithm Introduction
PPT
3 algorithm-and-flowchart
PPT
8.1 alogorithm & prolem solving
PPTX
Types of algorithms
Algorithm Development
Algorithm
Introduction to Programming
Copy of dti2143/dam31303 chap 1 problem solving and program design
Algorithm Introduction
3 algorithm-and-flowchart
8.1 alogorithm & prolem solving
Types of algorithms

What's hot (19)

PDF
Unit 1-problem solving with algorithm
PDF
Algorithm defination, design & Implementation
PPT
Algorithms and flowcharts ppt (seminar presentation)..
PPT
2.3 Apply the different types of algorithm to solve problem
PPTX
Our presentation on algorithm design
PDF
Lecture 2 role of algorithms in computing
PPTX
phases of algorithm
PPTX
flowchart & algorithms
PDF
Algorithm and Programming (Introduction of Algorithms)
PPT
Programing Fundamental
PPTX
Flowchart and algorithm
PPTX
Flowcharts and algorithms
PPT
Programming aids- Algorithm, Flowchart, Pseudocodes and Decision table
PPT
Introduction to Algorithms & flow charts
PPTX
Algorithm and flowchart with pseudo code
PDF
Design & Analysis of Algorithms Lecture Notes
PPTX
Algorithm and pseudocode conventions
PDF
Writing algorithms
Unit 1-problem solving with algorithm
Algorithm defination, design & Implementation
Algorithms and flowcharts ppt (seminar presentation)..
2.3 Apply the different types of algorithm to solve problem
Our presentation on algorithm design
Lecture 2 role of algorithms in computing
phases of algorithm
flowchart & algorithms
Algorithm and Programming (Introduction of Algorithms)
Programing Fundamental
Flowchart and algorithm
Flowcharts and algorithms
Programming aids- Algorithm, Flowchart, Pseudocodes and Decision table
Introduction to Algorithms & flow charts
Algorithm and flowchart with pseudo code
Design & Analysis of Algorithms Lecture Notes
Algorithm and pseudocode conventions
Writing algorithms
Ad

Viewers also liked (7)

PDF
Develop and Deploy Scalable Apps with Google App Engine
PPT
Introdução ao OpenLayers
ODP
Mapping, GIS and geolocating data in Java
PDF
FOSS4G2011 Report
ODP
Geospatial for Java
PPTX
Symbian Os
PDF
Integrating PostGIS in Web Applications
Develop and Deploy Scalable Apps with Google App Engine
Introdução ao OpenLayers
Mapping, GIS and geolocating data in Java
FOSS4G2011 Report
Geospatial for Java
Symbian Os
Integrating PostGIS in Web Applications
Ad

Similar to Algorithm hierarchy (20)

PDF
Analysis of Algorithms
PDF
Zoho Interview Questions By Scholarhat.pdf
PDF
Data Structures and Algorithms (DSA) in C
PDF
Tiling matrix-matrix multiply, code tuning
PPTX
Introduction to cp
DOCX
Data structure notes for introduction, complexity
PPT
Lecture 01-2.ppt
PPT
467719275-Lecture-01 designe and alg.ppt
PDF
Design & Analysis Of Algorithm
PPTX
ADA_Module 1_MN.pptx- Analysis and design of Algorithms
PPT
chapter 1
PPTX
Bit-Manipulation for competitive programming
PPTX
2-Algorithms and Complexity analysis.pptx
PPTX
Design Analysis of Alogorithm 1 ppt 2024.pptx
PPTX
Analysis of Algorithm full version 2024.pptx
PDF
Effective Algorithm for n Fibonacci Number By: Professor Lili Saghafi
PDF
Data Structure - Lecture 1 - Introduction.pdf
PPTX
VCE Unit 01 (2).pptx
PDF
Lecture 1 (bce-7)
Analysis of Algorithms
Zoho Interview Questions By Scholarhat.pdf
Data Structures and Algorithms (DSA) in C
Tiling matrix-matrix multiply, code tuning
Introduction to cp
Data structure notes for introduction, complexity
Lecture 01-2.ppt
467719275-Lecture-01 designe and alg.ppt
Design & Analysis Of Algorithm
ADA_Module 1_MN.pptx- Analysis and design of Algorithms
chapter 1
Bit-Manipulation for competitive programming
2-Algorithms and Complexity analysis.pptx
Design Analysis of Alogorithm 1 ppt 2024.pptx
Analysis of Algorithm full version 2024.pptx
Effective Algorithm for n Fibonacci Number By: Professor Lili Saghafi
Data Structure - Lecture 1 - Introduction.pdf
VCE Unit 01 (2).pptx
Lecture 1 (bce-7)

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PPT
Teaching material agriculture food technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
cuic standard and advanced reporting.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Modernizing your data center with Dell and AMD
PDF
Empathic Computing: Creating Shared Understanding
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Advanced Soft Computing BINUS July 2025.pdf
20250228 LYD VKU AI Blended-Learning.pptx
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Teaching material agriculture food technology
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
cuic standard and advanced reporting.pdf
MYSQL Presentation for SQL database connectivity
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Review of recent advances in non-invasive hemoglobin estimation
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Modernizing your data center with Dell and AMD
Empathic Computing: Creating Shared Understanding
The AUB Centre for AI in Media Proposal.docx
Chapter 3 Spatial Domain Image Processing.pdf
Advanced Soft Computing BINUS July 2025.pdf

Algorithm hierarchy

  • 1. My 2 Cents of Preparing Coding Interview
  • 2. Introduction ž In most experience of Coding Interview, we have noticed more and more interview questions are focusing on algorithms. ž To tell whether algorithms are better or worse, there is complexity BigO to measure the performance in theory. ž Today, I would like to introduce Algorithm Hierarchy to organize thinking way.
  • 3. Not only Algorithm ž Remember: Not only is Algorithm one key part of coding interview, but also working attitude, communication skills, big picture thinking and so on are more considered etc.
  • 4. Algorithm Hierarchy in thought ž 1. Basic Algorithm ž 2. Space–time tradeoff ž 3. Pruning Algorithm ž 4. Optimized Algorithm ž 5. Big data Algorithm ž Remember: As hierarchy is like pyramid, you would better working more on foundation then looking forward.
  • 5. 1. Basic Algorithm ž (completed and easy reading –cy) ž Recursion, Backtracking, Blind searching and sorting like DFS, BFS, merge sort and qsort etc.
  • 6. 2. Space–time tradeoff ž (completed and fast by additional space –cy) ž Iteration, Dynamic Programming, Hash, Priority queue etc.
  • 7. 3. Pruning Algorithm ž (completed and fast via shortcuts –cy) ž Binary search in rotated array, K largest, Single Linked List cycle detect, Matrix multiplication etc.
  • 8. 4. Optimized Algorithm ž (faster and almost completed –cy) ž Estimated value, Hill climbing, Greedy Heuristic search like A*, D* etc.
  • 9. 5. Big data Algorithm ž (fastest and almost completed –cy) ž Divide and Conquer (Cloud, Cluster) and Machine learning, (Genetic, Ant Colony), Artificial intelligence (Alpha- Beta, MCTS) etc.
  • 10. Example of Algorithm Hierarchy ž Let me explain hierarchy by calculating Fibonacci sequence. ž 0, 1, 1, 2, 3, 5, 8, … ž Now we need to calculate nTh number in Fibonacci sequence.
  • 11. Fibonacci sequence (1) ž 1. Basic Algorithm : Complexity O(n!) ž long long f1(int n) { ž return n < 2 ? n : (f1(n-1) + f1(n-2)); ž }
  • 12. Fibonacci sequence (2) ž 2. Space–time tradeoff : Complexity O(n) ž long long f2(int n){ ž long long f[2] = {0, 1}; ž while (--n>=1) { ž f[0]=f[0]+f[1]; ž swap(f[0], f[1]); ž } ž return f[n+1]; ž }
  • 13. Fibonacci sequence (3) ž 3. Probing Algorithm : Complexity O(log n) ž long long f3(int n){ ž return (n < 2)? n : MatrixPower(n-1).m_00; //power of matrix { {1,1}, {1, 0} } ž }
  • 14. Fibonacci sequence (4) ž 4. Optimized Algorithm : Complexity O(1) ž const double sqrt5 =sqrt(5.0); ž long long f4 (int n){ ž return 0.5 + (pow((1+sqrt5)/2, n)) / sqrt5; ž }
  • 15. Fibonacci sequence (5) ž 5. Big data Algorithm ž long long f5 (int n){ ž return f[n]; ž }
  • 16. Fibonacci sequence (Output) ž f1(90) = timeout ž f2(90) = 2880067194370816120 ž f3(90) = 2880067194370816120 ž f4(90) = 2880067194370824704 ž f5(90) = 2880067194370816120 ž You may see f4(90) is slightly different because of double-precision, but it works for n<=70
  • 17. No Recursion Remember: Don’t use Recursion for large scale problem, using Iteration instead at least, especially for graph problems like tree verify, sum and traversal etc.
  • 18. Algorithm Hierarchy in Interview ž For Algorithm Hierarchy in Coding Interview, in my humble opinion, most Phone interview is on level 1, and most on-site interview is on level 2-3, however, you may asking about level 4-5 algorithm.
  • 19. Real Sample: Amazon’s most asked interview questions ž (source: geeksquiz.com) ž 1) K largest elements from a big file or array. ž 2) Find a triplet a, b, c such that a2 = b2 + c2. Variations of this problem like find a triplet with sum equal to 0. Find a pair with given sum. All such questions are efficiently solved using hashing. ž 3) Binary tree traversal questions like left view, right view, top view, bottom view, maximum of a level, minimum of a level, children sum property, diameter etc. ž 4) Convert a BST into a DLL and DLL to BST in place. ž 5) Vertical traversal of a Binary Tree. ž 6) Lowest Common ancestor in a Binary Search Tree and Binary Tree. ž 7) Implement a stack with push(), pop() and min() in O(1) time. ž 8) Reverse a linked list in groups of size k. ž 9) Given two numbers represented by two linked lists, write a function that returns sum list. ž 10) Rotate a matrix by 90 degree. ž 11) Some stack based questions like stock span problem, next greater element. ž 12) Some Dynamic Programming problems like maximum sum subarray, maximum sum subarray such that no elements are consecutive, edit distance, assembly line scheduling. ž You may easily find out there are 4 questions in each level 1-3, well balanced.
  • 20. KISS in phone interview Think aloud face to face ž Remember: Don’t think too complex in phone interview, just clarify your idea and keep it stupid simple(KISS). ž For on-site interview, you would better to well prepare and think aloud.
  • 21. oj.leetcode.com for preparing ž Last but not least, let me recommend oj.leetcode.com for preparing Coding Interview. ž After solving more than 140 problems in oj.leetcode.com in several days, I could summary out its Hierarchy: 49% level 1, 28% level 2, 23% level 3. ž LeetCode is focusing on data structures and algorithms. It requires not only just workable, but also optimized code. So you need to program in strict time and space complexity.
  • 22. Bottom line to pass interview ž Remember: In order to pass coding interview, you may need to solve 2-5 problems per hour in oj.leetcode.com.
  • 23. Thanks ž Thanks for watching. It is just my humble opinion, my 2 cents. ž Should you have any questions, please feel free to contact me. ž All rights reserved. Please contact changyu.yang for permission to copy, distribute or reprint.