Interview Preparation: Complete
Interview Preparation: Complete
Interview Preparation: Complete
Interview Preparation
Detailed
Course Syllabus
Course Content
1) Resume Building
Resume Building
1) Programming Languages
2)
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
● ○ Classes
Classes and Objects
and Objects
● Inheritance and Polymorphism
○ Inheritance : Overloading
and Polymorphism and Overriding
: Overloading and Overriding
● ○ Abstraction
Abstraction and Encapsulation
and Encapsulation
● ○ Access
Access Modifiers
Modifiers
● ○ and
Friend Friend
Virtual
and Virtual
functions
functions
in C++in C++
● ○ final,
static, static,this
final,
andthis
super
andkeywords
super keywords
and Interfaces
and Interfaces
in Javain Java
○ Growth of functions
○ Asymptotic Notations Omega, Theta,
○ Recursion Tree Method
○ Space Complexity
● Arrays:
○ Insertion, Deletion, Updation, Shifting
○ Reversal, Sort Check, Maximum, Minimum
● Recursion
○ Introduction to Recursion
○ Tail Recursion
○ Natural Number Check Using Recursion
1
Course Content
2
Course Content
3
Course Content
4)
5) Libraries
C++ STL
○ Introduction to STL
i) Introduction and Application
ii) Iterators
iii) Templates
iv) Function Templates
v) Class Templates
○ Pairs in CPP STL
i) Introduction
ii) Problem(With Video Solutions): Sorting an array according to
another array
iii) Practice Problems
(1) 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
i) Introduction
ii) Vector Declaration
iii) More functions of Vectors
iv) Time Complexities of different operations and passing Vectors to
function
v) Internal Working of Vectors
vi) Problems(With Video Solutions):
(1) Vector and Vector of Pairs
(2) Keeping track of previous indexes after sorting a Vector
○ Forward_list and list
i) Forward List in C++ STL
ii) List in C++ STL
iii) Problems(With Video Solutions):
(1) Josephus Problem using List in STL
(2) Design a Data Structure with Insert/Replace/Print
operations
iv) Practice Problems
(1) 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
i) Introduction
4
Course Content
5
Course Content
(2) pop()
(3) top()
(4) empty()
(5) size()
(6) Creating Min Heap based Priority Queue
ii) Problems(With Video Solutions):
(1) Sort an array using Priority Queue
(2) K Largest Elements in an array
(3) Buy maximum items with given money
(4) Find K most frequent elements
iii) Practice Problems
(1) 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
i) Set in C++ STL
(1) Introduction and Implementation
(2) insert()
(3) begin()
(4) end()
(5) rbegin()
(6) rend()
(7) erase()
(8) clear()
(9) find()
(10) Internal Working
Internal Working
(11) Time Complexities
ii) Problems on Set(With Video Solutions):
(1) Design a Data Structure that supports the below
operations:
(2) insert()
(3) delete()
(4) search()
(5) getFloor()
(6) getCeiling()
iii) Multiset in C++ STL with few operations
iv) Practice Problems
(1) 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
i) Introduction to Map
6
Course Content
(1) insert()
(2) operator()
(3) size()
(4) empty()
(5) clear()
(6) begin()
(7) end()
(8) Internal Working
(9) Time Complexities
ii) Problem:
(1) Design a data structure for item prices. The operations are
add(), find(), findGreater(), findSmaller() and printSorted()
(2) Count greater elements for every array element.
iii) Multimap in C++ STL with few functional operations
iv) Problem(With Video Solutions):
(1) Design a data structure for prices with duplicates allowed.
The operations are add(), find(), findGreater(), findSmaller()
and printSorted
v) Practice Problems
(1) 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
i) Introduction to Set
(1) insert()
(2) begin()
(3) size()
(4) end()
(5) clear()
(6) find()
(7) Internal Working
(8) Time Complexities
ii) Problems(With Video Solutions):
(1) Print Unique Elements of Array
(2) Print duplicate elements of the array
iii) Practice Problems
(1) 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
i) Introduction
ii) Problems(With Video Solutions):
7
Course Content
8
Course Content
Java Collections
○ Collection Overview
i) Introduction to Java Collections Framework
ii) Collections hierarchy
iii) Generics
iv) Wildcards
v) toArray() Methods
vi) Collections Interface
vii) Iterators
viii) Collections Bulk operations
ix) Iterating through Collections
○ Java Lambda Expressions
i) Introduction to Lambda Expressions and ways to use them
ii) Introduction to Method References and examples
iii) Syntax of Lambda Expressions
iv) Practice Problems
(1) Practice problems on Lambda Expressions
○ Java Streams
i) Introduction to Streams in Java
ii) Various Applications of Streams
iii) The Stream hierarchy and methods
iv) Examples on Streams
v) Practice Problems
(1) Practice problems on Streams
○ ArrayList
i) Introduction to List Interface
ii) Using List Iterator
iii) Introduction to ArrayLists
iv) Implementation
v) ArrayList Methods
vi) Traversal
vii) Problems with video explanation
(1) List of smaller elements
viii) Practice Problems
(1) Practice problems on implementation, iterator, methods,
and using ArrayList to solve dsa problems
○ Linked List
i) Introduction and implementation of LinkedList in Java
ii) Problems with video explanation
9
Course Content
10
Course Content
iv) Traversal
v) Problems with video explanation
(1) Purchasing maximum items
(2) K largest elements
(3) Find k most frequent
(4) Find k most frequent in Linear time
vi) Practice Problems
(1) Practice problems on implementation, methods, and
using PriorityQueue to solve dsa problems
○ HashSet and LinkedHashSet
i) Introduction to HashSet
ii) Introduction to LinkedHashSet
iii) Implementation and usage
iv) Methods
v) Traversal
vi) Problems with video explanation
(1) Print distinct elements
(2) Print repeating elements
vii) Practice Problems
(1) Practice problems on implementation, methods, and
using HashSet to solve dsa problems
○ TreeSet
i) Introduction to TreeSet
ii) Implementation and usage
iii) Methods
iv) Traversal
v) Problems with video explanation
(1) Ceiling on right
(2) Count greater element
vi) Practice Problems
(1) Practice problems on implementation, methods, and
using TreeSet to solve dsa problems
○ HashMap and LinkedHashMap
i) Introduction to HashMap
ii) Introduction to LinkedHashMap
iii) Implementation and usage
iv) Methods
v) Traversal
vi) Problems with video explanation
(1) DS for balance
(2) Print frequencies in order
vii) Practice Problems
11
Course Content
12
Course Content
(6) asList()
(7) toString()
iv) Traversal
v) Practice Problems
(1) Practice problems on implementation and methods
○ Collections Class
i) Introduction to Collections Class
ii) Methods like fill(), reverse(), binarySearch(), max(), min(),
frequency()
iii) Practice Problems
(1) Practice problems on methods
○ Sorting
i) Introduction to sorting in Java
ii) Arrays.sort()
iii) Collections.sort()
iv) Comparable Interface
v) Problems with video explanation
(1) The thief problem
(2) Chocolate distribution problem
(3) Keep indices after sorting
(4) Sort an array according to other
(5) Sort students by marks
(6) Sort elements by frequency
(7) Sort elements by frequency in Linear Time
vi) Practice Problems
(1) Practice problems on various sorting algorithms, and
comparator sort
13
Course Content
● Bit Magic
○ Bitwise Operators in CPP(Part 1)
○ Bitwise Operators in CPP(Part 2)
○ Bitwise Operators in JAVA(Part 1)
○ Bitwise Operators in JAVA(Part 2)
○ Bitwise Operators in JAVA(Part 3)
○ Check Kth bit is set or not
○ Count set bits
○ Power of Two
○ One Odd Occurring
○ Two Odd Occurring
○ Power Set using Bitwise
● 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.
14
Course Content
● 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)
15
Course Content
16
Course Content
● 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
○ Huffman Coding
○ 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
17
Course Content
○ 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 Case Studies: Complete step by step design
and analysis of below case studies.
18
Course Content
8)
7) CS Subjects
○ Operating System
○ Operating System and its Types
○ Multiprogramming, Multiprocessing, Multithreading
○ Process Management and Scheduling
○ Process Synchronization.
○ Deadlock
○ Memory Management
○ Database Management System
○ Introduction to DBMS
○ Architectures
○ ER Model
○ Relational Model
○ Keys in Relational Model
○ Database Normalization
○ Normal Forms
○ Concurrency Control
○ Indexing in Database
○ B+ Tree Introduction
○ SQL
○ Computer Networks:
○ Introduction to Computer Networks
○ TCP/IP vs OSI Model
○ Circuit Switching vs Packet Switching
○ Flow Control Protocols
○ IP and Classful Addressing
○ Classless Addressing
○ Routing Protocols
○ ARP & DHCP
○ Transport Layer
○ TCP & UDP
○ Application Layer
○ Subject Wise Most Asked Interview Questions
○ Virtual Memory
19
Course Content
11)
● HCF and LCM - Listing Multiples, Prime Factorization, Division method, etc.
● Decimals Fractions - Fractions, Decimals, Decimal Fractions, Recurring
Decimals.
● Squares & Cubes - Square, Cube, Square Root, Cube Root
● LOGICAL REASONING -
○ Introduction,
○ Data Sufficiency,
○ Data Interpretation,
○ Blood Relations,
○ Sequence and Series,
20
Course Content
○ Direction Test,
○ Mathematical Operations,
○ Syllogism.
● VERBAL APTITUDE -
○ Verbal Ability
○ Reading Comprehension
○ Vocabulary Section
○ Vocabulary Reasoning Section
● BASICS OF GRAMMAR 1 -
○ Section
○ Clause
○ Phrase
○ Parts of Speech
○ Nouns
○ Gerunds
○ Pronouns
○ Verbs
○ Adjectives.
○ Adverbs
● BASICS OF GRAMMAR 2 -
○ Prepositions
○ Conjunctions
○ Subordinating Conjunctions
○ Tenses
○ Interjections
● ARTICLE -
● ACTIVE VOICE & PASSIVE VOICE -
○ Use with Tenses
● CLOSET TESTS -
○ Problem Solving
● PASSAGE FORMATION -
○ Problem Solving
● SENTENCE FORMATION -
○ Problem Solving
● SENTENCE COMPLETION-
○ Problem Solving
● SUBJECT VERB and AGREEMENT -
○ General Rule
○ Multiple Subjects
○ Inverted Sentences
○ There is & There are
○ Collective Nouns
○ Or and Nor
○ Indefinite Pronouns
21
Course Content
10) Projects
● Sudoku Solver
The problem of finding the shortest path between two intersections on a road
map may be modeled as a special case of the shortest path problem in
graphs, where the vertices correspond to intersections and the edges
correspond to road segments, each weighted by the length of the segment.
● N Queen Visualizer
22
Course Content
Visualization of solving the N-Queens puzzle using recursive algorithm. The N-Queens
puzzle is the problem of placing N chess queens on an N×N chessboard so that no two
queens threaten each other.
23