Engineering Campus Hiring Program 2023-24
Overview
Congratulations on qualifying for the aptitude test!! This document outlines the key topics that will help
you prepare for the next test on Computer Science and Quantitative Aptitude Skills. The list of topics is
indicative and by no means exhaustive. We also provide a mock test that gives you an idea of the
potential pattern of questions.
At a high level, the question paper will cover following sections -
•Programming - Two Programming questions on data structure and algorithm
•Quantitative Aptitude - Multiple choice questions related to mathematics. Sample topics provided
below.
•Computer Science - Multiple choice questions related to concepts of Computer Science. Sample
topics given below.
•Tell Us About Your Self - Two subjective questions to understand your thought process.
All questions and sections are required. You increase your chances of qualification by scoring maximum
in all sections. However, scoring in every section is not a pre-requisite for qualification. More details in the
sample paper.
For the below topics, please feel free to refer to standard books, websites, platforms that cover these
concepts. Some helpful learning links are also mentioned below.
Learning Links
Algorithm:
https://www.coursera.org/learn/algorithms-part1
https://www.coursera.org/learn/algorithms-part2
OS:
https://www.geeksforgeeks.org/operating-systems/
Data Structure:
https://www.geeksforgeeks.org/data-structures/
Sample Test
Mock Test
Suggested Syllabus For Computer Science
1.Data Structure and Algorithms
Preliminaries
Arrays, Structures, Linked lists
Basic data structures
Stack, Queue, Tree (Binary tree, heap, B-trees, AVL tree)
Asymptotic notations complexity analysis of algorithms, worst case and average case.
Algorithmic paradigms divide and conquer, recursion, greedy, dynamic programming, string matching
algorithms.
Searching
Binary search trees and balanced binary search trees,
Skip lists, Priority queue, min heap, max heap, tries.
Sorting with worst and average case analysis
Comparison based sorting - e.g. quick sort, heap sort, merge sort
Decision tree model and (worst case) lower bound on sorting.
Sorting in linear time - e.g. radix sort, bucket sort etc
Graph Algorithms
BFS, DFS, connected components,
Topological sort, minimum spanning trees
Directed Acyclic Graph, shortest paths - single source and all pairs.
2.Operating System Concepts
Memory management: Example virtual memory, paging, etc
Process management: Example context switching, process scheduling strategies, etc
3.OOPs Concepts
• Inheritance
• Polymorphism
• Abstraction
• Encapsulation
4.Aptitude Ability
Probability & Statistics
• Permutations & Combinations
• Bayes theorem
• Random variables
• Expected values
• Distributions
• Means & Variances
Quantitative Aptitude (Time and work, Time speed and distance, Percentage, Averages, Geometry,
Number theory)
Guidelines For Programming
There would be programming questions that would test problem solving skills and ability to program in
either Python, C++ or Java.
The problems would derive from concepts covered in the Computer Science section above.
Test cases would evaluate code for correctness and performance of the solution.
Contact Us
In case you have any questions, please post them via email to: [email protected]