Online Course
Complete Interview Preparation With Doubt Assistance
Active

Course Features

  • Dedicated TAs for Doubt Assistance

  • 200+ algorithmic coding problems

  • Lifetime access to the Course

  • Track-based learning

  • Weekly assessment tests

  • Premium Lecture videos by Mr. Sandeep Jain (CEO & Founder, GeeksforGeeks) and other industry experts

  • Subject-wise Theoretical content by subject experts

  • Objective Questions compiled by subject experts

  • Course Completion Certificate trusted by top universities and companies

  • Internship Opportunities at GeeksforGeeks

  • Access to the GeeksforGeeks Jobs portal

Course Overview

Want to cover all the important concepts and topics required for the interviews? Looking to get placement ready before the interviews begin? If yes, then we have the perfect tool for you. With our Complete Interview Preparation (With Doubt Assistance for one year) Course, you’ll get access to precise content required for placement preparation, nothing less, nothing more. What's the best part? You get dedicated TAs to solve any doubt that you face. Your 4 years of learning compressed into an extensive course of 6 months!

This course is specifically designed to help the pre-final/final year students and working professionals land their dream job.

Preparing for placements requires smart learning as some subjects hold more weightage than others. This course is extensively curated to do the same. It will provide you with premium lectures, theory, practice tracks, etc sorted in a convenient way to ensure unidirectional, smooth, and easy learning.

Be it product-based companies (like Amazon, Microsoft, Adobe, etc), startups (like Ola, Swiggy, Zomato, etc), or service-based companies (like TCS, Infosys, Cognizant, etc), this program is here to make you land the job you want!

What You Will Learn

  • Begin with the basics! Learn about the programming languages, C++ & Java

  • Learn the concepts of Object-Oriented Programming (OOPs)

  • Best in industry DSA learning experience, from basic to advanced

  • Learn the often asked concepts of Object-Oriented Analysis and Design

  • Also, learn about other important CS subjects like OS, CN, DBMS, etc

  • Learn about the frequently asked interview questions

Course Content

Programming Languages:

  • C++ : Introduction and Basic I/O, Variables, Different Errors, Operators, Loops, Arrays, String, Functions, Pointers, Dynamic Memory Allocation, Exception Handling and Smart Pointers

  • Java : Introduction and Basic I/O, Variables , Operators, Loops, Exception Handling, Arrays, String , Immutable Strings, ArrayList , BigInteger

Object Oriented Programming:

  • Classes and Objects

  • Inheritance and Polymorphism : Overloading and Overriding

  • Abstraction and Encapsulation

  • Access Modifiers

  • Friend and Virtual functions in C++

  • static, final, this and super keywords and Interfaces in Java

  • Analysis of Algorithms:

    • Growth of functions

    • Asymptotic Notations Omega, Theta,

    • Recursion Tree Method

    • Space Complexity

    • String:

      • Introduction to Strings

    • Searching:

      • Linear Search

      • Binary Search (Iterative and Recursive)

    • Sorting:

      • Stability in Sorting Algorithm

      • Bubble Sort

      • Selection Sort

      • Insertion Sort

      • Quick Sort

      • Different Partition Schemes in QuickSort

      • Merge Sort

      • Lomuto Partition

      • Hoare Partition

      • Heap SOort

      • Counting Sort

      • Radix Sort

      • Bucket Sort

    • Linked List:

      • Drawback of Arrays

      • Introduction to Linked List and Implementation

      • Traversal, Insertion and Deletion

      • Sorted Insertion in Linked List

      • Reversal of Linked List (Iterative and Recursive)

      • Finding Middle

      • Remove Duplicate from Sorted Linked List

    • Circular Linked List:

      • Traversal

      • Insertion (Head, End)

      • Deletion (Head, Kth Node)

    • Doubly Linked List:

      • Traversal

      • Insertion (Head, End)

      • Deletion (Head, End)

      • Reversal

      • Circular Doubly Linked List

    • Stack:

      • Introduction to Stack Data Structure

      • Implement using array

      • Implementation using Linked List

      • Stack Applications

    • Queue:

      • Introduction to Queue Data Structure

      • Implementation using array

      • Implementation using Linked List.

    • Dequeue:

      • Introduction to Deque Data Structure.

      • Implementations using Array

      • Implementation using Linked List

    • Tree:

      • Implementation

      • Traversals: preorder, postorder, inorder, level order(Iterative & Recursive)

      • Binary Tree: Height, Size, Maximum

      • Print Nodes at K Distance

    • BST:

      • Implementation

      • Search

      • Insertion

      • Deletion

      • Floor and Ceil in BST  in CPP and Java

      • Self Balancing BST

      • AVL Tree (Introduction and applications)

      • Red-Black Tree (Introduction and applications)

      • Applications of BST

    • Heap:

      • Implementation

      • Insert

      • Heapify and Extract in Heap

      • Decrease Key, Delete and Build Heap

    • Arrays:

      • Insertion, Deletion, Updation, Shifting

      • Reversal, Sort Check, Maximum, Minimum

    • Recursion

      • Introduction to Recursion

      • Tail Recursion

      • Natural Number Check Using Recursion

      • Palindrome Check Using Recursion

      • Sum of Digits, Rod Cutting and Subsets

      • Tower of Hanoi

    • Hashing:

      • Introduction to Hashing

      • Direct Address Table

      • Collision Handling

      • Chaining

      • Open Addressing

      • Double Hashing

      • Chaining Vs Open Addressing

  • C++ STL

    • Introduction to STL

      • Introduction and Application

      • Iterators

      • Templates

      • Function Templates

      • Class Templates

    • Pairs in CPP STL

      • Introduction

      • Problem(With Video Solutions): Sorting an array according to another array

      • Practice Problems

        • This track contains many practice problems for the users which are considered important and must-do as far as Data Structure and Algorithm is concerned.

    • Vectors in CPP STL

      • Introduction

      • Vector Declaration

      • More functions of Vectors 

      • Time Complexities of different operations and passing Vectors to function 

      • Internal Working of Vectors

      • Problems(With Video Solutions):

        • Vector and Vector of Pairs

        • Keeping track of previous indexes after sorting a Vector 

    • Forward_list and list

      • Forward List in C++ STL 

      • List in C++ STL 

      • Problems(With Video Solutions):

        • Josephus Problem using List in STL 

        • Design a Data Structure with Insert/Replace/Print operations 

      • Practice Problems

        • This track contains many practice problems for the users which are considered important and must-do as far as Data Structure and Algorithm is concerned.

    • Deque

      • Introduction

      • Problems(With Video Solutions):

        • Sliding Window Maximum

        • Design a Data Structure with Min/Max operations in O(1) time

      • Practice Problems

        • This track contains many practice problems for the users which are considered important and must-do as far as Data Structure and Algorithm is concerned.

    • Stack

      • Introduction and Various Operations

        • push()

        • pop()

        • top()

        • size()

        • empty()

      • Problems(With Video Solutions):

        • Reverse items using Stack 

        • Balanced Parenthesis 

        • Stock Span Problem

        • Previous Greater Elements

        • Next Greater Elements

      • Practice Problems

        • This track contains many practice problems for the users which are considered important and must-do as far as Data Structure and Algorithm is concerned.

    • Queue

      • Introduction and Various Operations

        • push()

        • pop()

        • front()

        • back()

        • empty()

        • size()

      • Problems(With Video Solutions):

        • Reverse first K items in a Queue

      • Practice Problems

        • This track contains many practice problems for the users which are considered important and must-do as far as Data Structure and Algorithm is concerned.

    • Priority Queue

      • Introduction and Various Operations

        • push()

        • pop()

        • top()

        • empty()

        • size()

        • Creating Min Heap based Priority Queue

      • Problems(With Video Solutions):

        • Sort an array using Priority Queue

        • K Largest Elements in an array

        • Buy maximum items with given money

        • Find K most frequent elements

      • Practice Problems

        • This track contains many practice problems for the users which are considered important and must-do as far as Data Structure and Algorithm is concerned.

    • Set & MultiSet

      • Set in C++ STL

        • Introduction and Implementation

        • insert()

        • begin()

        • end()

        • rbegin()

        • rend()

        • erase()

        • clear()

        • find()

        • Internal Working

        • Time Complexities

      • Problems on Set(With Video Solutions):

        • Design a Data Structure that supports the below operations:

        • insert()

        • delete()

        • search()

        • getFloor()

        • getCeiling()

      • Multiset in C++ STL with few operations

      • Practice Problems

        • This track contains many practice problems for the users which are considered important and must-do as far as Data Structure and Algorithm is concerned.

    • Map and MultiMap

      • Introduction to Map

        • insert()

        • operator()

        • size()

        • empty()

        • clear()

        • begin()

        • end()

        • Internal Working

        • Time Complexities

      • Problem:

        • Design a data structure for item prices. The operations are add(), find(), findGreater(), findSmaller() and printSorted()

        • Count greater elements for every array element.

      • Multimap in C++ STL with few functional operations

      • Problem(With Video Solutions):

        • Design a data structure for prices with duplicates allowed. The operations are add(), find(), findGreater(), findSmaller() and printSorted

      • Practice Problems

        • This track contains many practice problems for the users which are considered important and must-do as far as Data Structure and Algorithm is concerned.

    • Unordered_set

      • Introduction to Set

        • insert()

        • begin()

        • size()

        • end()

        • clear()

        • find()

        • Internal Working

        • Time Complexities

      • Problems(With Video Solutions):

        • Print Unique Elements of Array 

        • Print duplicate elements of the array 

      • Practice Problems

        • This track contains many practice problems for the users which are considered important and must-do as far as Data Structure and Algorithm is concerned.

    • Unordered_Map

      • Introduction

      • Problems(With Video Solutions):

        • Design a DS for storing user balance 

        • Find Winner of Election 

      • Practice Problems

        • This track contains many practice problems for the users which are considered important and must-do as far as Data Structure and Algorithm is concerned.

    • Non Mutating STL Algorithms

      • Explanation along with Time Complexities of

        • max_element()

        • min_element()

        • accumulate()

        • count()

        • find()

        • binary_search()

        • lower_bound()

        • upper_bound()

        • rotate()

        • fill()

        • is_permutation()

        • rand()

      • Practice Problems

        • This track contains many practice problems for the users which are considered important and must-do as far as Data Structure and Algorithm is concerned.

    • Mutating STL Algorithm

      • Explanation along with Time Complexities of

        • sort()

        • reverse()

        • next_permutation()

        • prev_permutation()

        • make_heap()

        • merge()

      • Problems(With Video Solutions):

        • The Thief problem 

        • Fractional knapsack problem 

        • Chocolate Distribution problem 

        • Sort array elements by frequency 

      • Practice Problems

        • This track contains many practice problems for the users which are considered important and must-do as far as Data Structure and Algorithm is concerned.

  • Java Collections

    • Collection Overview

      • Introduction to Java Collections Framework

      • Collections hierarchy

      • Generics

      • Wildcards

      • toArray() Methods

      • Collections Interface

      • Iterators

      • Collections Bulk operations

      • Iterating through Collections

    • Java Lambda Expressions

      • Introduction to Lambda Expressions and ways to use them

      • Introduction to Method References and examples

      • Syntax of Lambda Expressions

      • Practice Problems

        • Practice problems on Lambda Expressions

    • Java Streams

      • Introduction to Streams in Java

      • Various Applications of Streams

      • The Stream hierarchy and methods

      • Examples on Streams

      • Practice Problems

        • Practice problems on Streams

    • ArrayList

      • Introduction to List Interface

      • Using List Iterator

      • Introduction to ArrayLists

      • Implementation

      • ArrayList Methods

      • Traversal

      • Problems with video explanation

        • List of smaller elements

      • Practice Problems

        • Practice problems on implementation, iterator, methods, and using ArrayList to solve dsa problems

    • Linked List

      • Introduction and implementation of LinkedList in Java

      • Problems with video explanation

        • Josephus Problem using LinkedList

        • Design a DS for remove and print

      • Practice Problems

        • Practice problems on implementation, traversal, and use of LinkedList,

    • Stack

      • Introduction to Stack

      • Implementation

      • Methods

      • Traversal

      • Problems with video explanation

        • Reverse order of items

        • Check for balanced parentheses

        • Stock span

        • Previous greater element

        • Next greater element

      • Practice Problems

        • Practice problems on implementation, methods, and using Stacks to solve dsa problems

    • Queue

      • Introduction to Queue Interface

      • Implementation and usage

      • Methods

      • Traversal

      • Problems with video explanation

        • Reverse first k items

      • Practice Problems

        • Practice problems on implementation, methods, and using Queue to solve dsa problems

    • Deque

      • Introduction to Deque

      • Implementation and usage

      • ArrayDeque

      • Methods

      • Traversal

      • Practice Problems

        • Practice problems on implementation, methods, and using ArrayDeque to solve dsa problems

    • PriorityQueue

      • Introduction to PriorityQueue

      • Implementation and usage

      • Methods

      • Traversal

      • Problems with video explanation

        • Purchasing maximum items

        • K largest elements

        • Find k most frequent

        • Find k most frequent in Linear time

      • Practice Problems

        • Practice problems on implementation, methods, and using PriorityQueue to solve dsa problems

    • HashSet and LinkedHashSet

      • Introduction to HashSet

      • Introduction to LinkedHashSet

      • Implementation and usage

      • Methods

      • Traversal

      • Problems with video explanation

        • Print distinct elements

        • Print repeating elements

      • Practice Problems

        • Practice problems on implementation, methods, and using HashSet to solve dsa problems

    • TreeSet

      • Introduction to TreeSet

      • Implementation and usage

      • Methods

      • Traversal

      • Problems with video explanation

        • Ceiling on right

        • Count greater element

      • Practice Problems

        • Practice problems on implementation, methods, and using TreeSet to solve dsa problems

    • HashMap and LinkedHashMap

      • Introduction to HashMap

      • Introduction to LinkedHashMap

      • Implementation and usage

      • Methods

      • Traversal

      • Problems with video explanation

        • DS for balance

        • Print frequencies in order

      • Practice Problems

        • Practice problems on implementation, methods, and using HashMap to solve dsa problems

    • TreeMap

      • Introduction to TreeMap

      • Implementation and usage

      • Methods

      • Traversal

      • Problems with video explanation

        • Design a data structure for item prices

        • Design a data structure for item prices with duplicates allowed

      • Practice Problems

        • Practice problems on implementation, methods, and using TreeMap to solve dsa problems

    • String

      • Introduction to Strings

      • Introduction to StringBuilder and StringBuffer

      • Implementation and usage

      • Methods

      • Traversal

      • Problems with video explanation

        • Pangram checking

        • Pattern searching

        • Find one extra character

      • Practice Problems

        • Practice problems on implementation, methods, and using Strings to solve dsa problems

    • Comparator and Comparable

      • Introduction to Comparable Interface

      • Introduction to Comparator Interface

      • Methods of Comparator Interface and Examples on it

      • Practice Problems

        • Practice problems on using Comparator to sort effectively

    • Arrays Class

      • Introduction to Arrays and the Arrays Class

      • Implementation and usage

      • Methods like

        • fill()

        • BinarySearch()

        • equals()

        • mismatch()

        • compare()

        • asList()

        • toString()

      • Traversal

      • Practice Problems

        • Practice problems on implementation and methods

    • Collections Class

      • Introduction to Collections Class

      • Methods like fill(), reverse(), binarySearch(), max(), min(), frequency()

      • Practice Problems

        • Practice problems on methods

    • Sorting

      • Introduction to sorting in Java

      • Arrays.sort()

      • Collections.sort()

      • Comparable Interface

      • Problems with video explanation

        • The thief problem

        • Chocolate distribution problem

        • Keep indices after sorting

        • Sort an array according to other

        • Sort students by marks

        • Sort elements by frequency

        • Sort elements by frequency in Linear Time

      • Practice Problems

        • Practice problems on various sorting algorithms, and comparator sort

  • Mathematics

    • Count Digits

    • Palindrome Numbers

    • Factorial of Numbers

    • GCD of Two Numbers

    • LCM of Two Numbers

    • Check for Prime

    • Prime Factors

    • Sieve of Eratosthenes

    • Computing Power

  • Recursion

    • Josephus Problem

    • Subset Sum Problem

  • Arrays: 

    • Kadane’s Algorithm

    • Shuffling Algorithms

    • Sliding Window

    • Prefix Sum Technique

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Matrix: 

    • Multidimensional Array in CPP and Java

    • Search, Transpose and Rotate

    • Pattern Traversal: Snake, Spiral, Boundary

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Searching:

    • Two Pointer Approach

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Sorting: 

    • Union And Intersection of Sorted Arrays

    • Inversions Count

    • Tail Call elimination Quick Sort

    • Cycle Sort

    • Merge of Overlapping Intervals

    • Overview of Sorting Algorithms

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Hashing:

    • Double Hashing

    • Find frequencies of array 

    • Count Distinct element in Every Window 

    • Intersection and Union via Hashing

    • Frequencies of Array Elements

    • Distinct Elements in Window

    • Counting Occurences

    • Check for a Pair with given Sum 

    • Longest Consecutive Subsequence 

    • Subsequence Problems

    • Subarray Problems

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Strings:

    • Creation, Updation

    • Reverse, Pangram, Case conversion

    • Validation, Length

    • Palindrome Check

    • Overview of Pattern Searching

    • Pattern Matching Algorithms:

      • Rabin Karp Algorithm

      • KMP Algorithm

    • Rotations Check of two Strings

    • Anagram

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Linked List:

    • Doubly Linked List

    • Circular Linked List

    • Loop in Linked List (Detection and Removal)

    • Loop Detection Algorithms

    • Union and Intersection of LinkedLists

    • Reverse in Groups

    • LRU Cache Design

    • Palindrome LinkedList

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Stack:

    • Infix, Postfix, Prefix (Introduction)

    • Infix to PostFix (Simple Solution)

    • Infix to PostFix (Efficient Solution)

    • Evaluation of Postfix

    • Infix to Prefix (Simple Solution)

    • Infix to Postfix (Efficient Solution)

    • Evaluation of Prefix

    • Implementing Two Stacks in Single Array

    • Implementing K stacks in Single Array

    • Largest Rectangular Area in Histogram

    • Design a Stack that supports getMin() operation

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Queue and Deque:

    • Stack using Queue

    • Reversal

    • Maximum of all Subarrays of Size K

    • Generate numbers using given digits

    • Design a data structure with min/max operations

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Tree:

    • Line By Line Level Order Traversal

    • Printing Left, Right, Top and Bottom Views

    • Binary Tree to Doubly Linked List

    • Binary Tree from Inorder and Postorder Traversal

    • Maximum Width

    • Child Sum Property

    • Convert Binary Tree to Doubly LinkedList

    • Burning a Tree from Leaf

    • Diameter

    • LCA

    • Serialize and Deserialize

    • Count Nodes in Complete Binary Tree

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Binary Search Tree:

    • Top View

    • Bottom View

    • Vertical Sum

    • Vertical Traversal

    • Fix BST With Two Nodes Swapped

    • Check For BST

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Heap:

    • Heap Sort

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Graph:

    • Graph Representation: Adjacency List

    • Adjacency List Implementation in CPP

    • Adjacency List Implementation in Java

    • Adjacency List and Matrix Comparison

    • Breadth First Search and application

    • Depth First Search and application

    • Detect Cycle in Undirected Graph

    • Detect Cycle in Directed Graph

    • Topological Sorting

    • Shortest Path Problems

    • Prim's Algorithm Introduction and Implementation in CPP and Java

    • Dijkstra’s Algorithm Introduction and Implementation in CPP and Java

    • Bellman Ford Algorithm

    • Kosaraju’s Algorithm

    • Articulation Point

    • Bridges in Graph

    • Tarjan’s Algorithm

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Greedy Algorithm:

    • Introduction

    • Activity Selection Problem in CPP and Java

    • Fractional Knapsack in CPP and Java

    • Job Sequencing Problem

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • BackTracking:

    • Concept of Backtracking

    • Problems: Rat In Maze, N Queen, Sudoku

    • More Problems for Practice.

  • Dynamic Programming:

    • Introduction

    • Memoization

    • Tabulation

    • LCS and its variations

    • Coin Change

    • KnapSack

    • LIS and its variations

    • Egg Drop Puzzle

    • Subset Sum

    • Matrix Chain Multiplication

    • Palindrome Partitioning

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Trie:

    • Introduction

    • Insert, Search, Delete

    • Video Solutions for some standard and complex problems

    • More Problems for Practice.

  • Segment Tree:

    • Introduction 

    • Construction

    • Range and Update Query

    • More Problems for Practice.

  • Disjoint-Set

    • Introduction

    • Union-Find

    • Union By Rank

    • Path Compression

    • Kruskal’s Algorithm

    • More Problems for Practice

Object oriented Analysis and Design Concepts

  • Introduction to Object and Classes. 

  • Software Development Process.  

  • UML and its importance.

  • Class Diagrams & Object Diagrams 

  • Use-case Diagrams


Object-oriented Analysis and Design Case Studies: Complete step by step design and analysis of below case studies.

  • BookMyShow : Movie ticket booking application. 

  • MyFlipCart : Complete e-commerce application.

  • ParkingLot : Automated Solution for Parking-Lots. 

  • BlackJack : Most popular card game in casinos.

  • Chess Game

  • Live Cricket Commentary System

Show More

FAQs

  1. Should I enroll for this course if I have already enrolled for the Placement 100 Course?
    No, if you've enrolled for the Placement 100 Course, it is self-sufficient to prepare you for placements in product-based companies.
     
  2. For which companies can I prepare for this course?
    The course will help you prepare for product-based companies (like Amazon, Microsoft, Adobe, etc), startups (like Ola, Swiggy, Zomato, etc) and MNCs (like Infosys, Cognizant, etc)
     
  3. How can I register for the course?
    You need to sign up for the course. After signing up, you need to pay when the payment link opens.
     
  4. Is this a paid course?
    Yes, the course is priced at INR 8,999.
     
  5. When can I make the payment for the course?
    The payment link is active now. You can make the payment by clicking the "Pay Online" button. If you're not a logged-in user then you need to login & signup for this course then only you can make the payments.
     
  6. What is the duration of the course?
    This course comprises more than 150+ hours of video lectures. A dedicated geek can complete the course in 2-3 months of duration.
     
  7. What is the Validity of this course?
    The Course Content, Videos & practice content comes with lifetime validity. And the doubt assistance is available for a complete 1 year.
     
  8. Does this program offer a placement guarantee?
    The program is designed to prepare students for placement. You can apply for the Jobs using GeeksforGeeks Job Portal but there is no placement guarantee with this course.
     
  9. Who can I contact for queries/shift/upgrade regarding this course?
    For any queries regarding this course, you may write to us at Priyanka.sharma@geeksforgeeks.org
     
  10. Can I  make the payment through PayPal?
    Yes, Mail us with your details at geeks.classes@geeksforgeeks.org

  11. Is there a sample video to see how are the course videos?
    Yes, Please see this video.

  12. I am from a non-CS background will this course be suitable for me?
    Yes, if you are preparing for the IT sector companies


  13.  

Course Registration

Batch Date Type Register
CIP DA 1 Active Online Classes