20 Essential Coding Interview Questions in Java and Python

20 Essential Coding Interview Questions in Java and Python

Learn Data Structure & Algorithm technical coding questions asked at GAFA. Array, HashMap, LinkedList, Tree, Recursion.

What you’ll learn

  • Learn most popular beginner’s data structure coding questions in Java and Python to set a path to getting a job at FANG
  • Apply data structure knowledge in array, linked list, hashmap, tree, recursions into real coding questions
  • Learn to visualize abstract problems and design pseudocode algorithms
  • Learn to test and debug code to showcase your coding skill during interview
  • Understand Big-O notation and runtime and space complexity of algorithms to impress your interviewers
  • Train your brain muscles to pattern-recognition various coding questions


  • Beginner level Java or Python coding experience
  • Beginner understanding of data structures (array, hashmap, string, linked list, tree, recursion)
  • Beginner algorithm knowledge


If I summarize this course in one sentence?

Learn data structure & algorithm (array, hashmap, string, linked list, binary tree, recursion) coding interview questions from scratch in Java or Python and prepare for your next job interviews at GAFA, Big N, etc.

☆Please check preview videos to see if this course is really for you☆

Are you one of the below?

  • You want to get a job at Big 4 (GAFA) or Big N but don’t know where to start
  • You feel stuck at current developer job
  • You want to switch your job but don’t know how to prepare for technical coding questions
  • You want to practice data structure and algorithm coding questions

Who should take this course

  • you are not satisfied with current job and want to grow as an engineer
  • you don’t know how to go about learning and practicing coding interview questions
  • you have coding experience in Java or Python for at least 3 months
  • you have never solved data structure coding questions in Array, HashMap, String, Linked List, Binary Tree, or Recursion
  • you want to learn ins and outs of coding questions from a senior software engineer working for an US company in SF
  • you want to practice and improve coding question skills
  • you want to review fundamentals of computer science (coding, data structure, algorithms)
  • you want to have deep understanding of abstract problems using diagrams, illustrations, pseudocode instead of memorizing solution code

who should NOT need to take this course

  • you already know a lot of data structure coding questions for Array, HashMap, String, Linked List, Binary Tree, or Recursion
  • you have a lot of experience and confidence in technical interview questions
  • you are not planning on switching a job or learning data structure
  • you have never done coding in Java or Python

In this course, you will tackle 20 coding interview questions.

With these 20 questions, you will learn:

  • to apply the fundamentals of data structure concepts (Array, HashMap, String, Linked List, Binary Tree, or Recursion) into code
  • how to conceptualize and visualize abstract problems
  • how to write and come up with pseudocode algorithms
  • coding skills in Java and Python
  • how to debug and test code
  • how to analyze code for Big-O runtime and space complexity

9 Reasons why you should take this course:

1. Instructed by a Software Engineer working for US company in SF

I have passed one of the most challenging technical coding interviews at Microsoft. With 6+ industry experience in both North America and Europe, I breakdown and explain questions using diagrams, illustrations, pseudocode, instead of just throwing you a solution code.

2. Solution code in Java and Python

You usually don’t find a solution in multiple languages. Catered for Java backend developers and Python developers. Also beneficial if you know one of them but also want to learn the other.

3. Questions are ordered by difficulty and solution pattern relevance

Questions are organized and ordered from easy to difficult, and also those using similar solution approaches are grouped together, hence making it easier for you to associate seemingly different questions.

4. Sharing my coding interview experiences at Microsoft, Google, Facebook, Intel, Adobe, etc

Coding interview is not just coding. I cover pre-work before coding such as conceptualizing & visualizing abstract problems, pseudocode、coding, testing, and Big-O analysis.

5. Clear prerequisite skills

Syntax cheatsheets are available so beginner coders can gauge their skill sets.

6. You learn two solution patterns in one question

Not only the optimal solutions but also brute-force anti-patterns are covered.

7. Focused on pre-coding conceptualization process

Special efforts have been paid for visualizing abstract concepts. I even explain looping through objects with diagrams so you know how variable values change, as if you do break-point debugging on IDE.

8. You can have sneak-peek over senior software engineer’s coding

My coding routine, how I define corder/edge cases, how I code/test and how I think while coding, everything is revealed.

9. Big-O runtime and space complexity analysis

You will be asked to analyze your own algorithm and code you write. So I explain Big-O in each question.

My background & Education & Career experience

  • Have interviewed at Microsoft, Google, Apple, Facebook, Intel, Adobe, etc
  • Cloud DevOps Software Engineer with 6+ years experience
  • Bachelor of Science in Computing Science from a Canadian university
  • Knows data structure, algorithms, design patterns well
  • Knows Java, C#, C++, Bash, Python, JavaScript, Terraform, IaC
  • Expert in AWS (holds AWS DevOps Professional certification) and Kubernetes (holds Certified Kubernetes Administrator, CKA)

I will see you inside!

Who this course is for:

  • Beginner computer science students learning data structures and algorithms courses in Java or Python
  • Junior or intermediate software developers/engineers looking to get a better job (like FANG or Big N)
  • Sophomore/junior/senior university students looking to get internship jobs
  • Any software engineers wanting to brush up their data structure knowledge

This is a practical course focus on interviews. The teacher will do a short concept explanations and jump right into coding. It’s better to have some experience so that you won’t face big issues during the course. Overall it’s a great course. Hope the teacher can produce more lectures like this.

Course content

23 sections • 182 lectures • 4h 49m total length
  • Welcome to this course!
  • Q1: Contains duplicate in array
  • Q2: First non-repeating char in array
  • Q3: Two sum array
  • Q4: Reverse characters in string
  • Q5: Move zeros in array
  • Q6: Remove elements in array
  • Q7: Majority element in array
  • Q8: Check if two strings are anagram
  • Q9: Reverse words in string
  • Q10: Intersection of two arrays
  • You are half way through! Take a break!
  • Q11: Middle node in Linked List
  • Q12: Find a cycle in Linked List
  • Q13: Delete a node in Linked List using only that node
  • Q14: Delete duplicates in sorted Linked List
  • Q15: Reverse Linked List (iteratively)
  • Q16: Search a node in Binary Search Tree (BST)
  • Q17: Find Max Depth of BT
  • Q18: Check if Binary Trees are same/identical
  • Q19: Check if Binary Tree is symmetric/mirror
  • Q20: Find Lowest Common Ancestor (LCA) in Binary Search Tree (BST)
  • CONGRATS! You finished this course!
Created by: CS Career Kaizen (元Microsoft現シリバレエンジニア) 元Microsoft→現Sillicon Valley DevOps、AWS DevOps Pro, CKA
Last updated 5/2020
English [Auto]
Direct Download Available (4.7 GB)

(7 ratings)
75 students

Download link

Add a Comment

Your email address will not be published. Required fields are marked *