Vous êtes sur la page 1sur 14

1. Read the book for Data Structure and Algorithms, by Cormen.

You should be
particularly be good in:

Trees - especially Binary Search Trees and Recursion concepts

Hash Tables

Stacks

Queues

Linked List

Dynamic Programming

2. Know one or two of C, Java or Python very well


3. Participate regularly in Codechef monthly challenges. If you are good enough, you
can actually write your rank on your CV!
4. Do various projects (Study Oriented and Computer oriented) under the faculty of
Computer Science and Information Systems Department.
5. Participate in various coding events in APOGEE. They are similar to codechef, and
if you win some of them, it will be a strong point in your CV
6. Find your area of interest - Android, Application Development, Data Mining etc. and
strengthen it, if possible through an internships after 3rd year. Take electives as well in
those areas.
7. Prepare for aptitude questions(Many companies ask for it)
8. Have basic understanding of Database Systems(E-R diagrams and SQL and
transactions), Operating Systems(Concurrency, Deadlock, Scheduling), Unix, Design
Patterns
This list is non-exhaustive, but I think I have covered the major points. I shall add more
when it strikes my head.

These are the typical categories of questions I came across:


Simple Factual Questions

What port does HTTP use?

What is the time complexity of merge sort?

What data structure underlies a Python list?

Data Structure/Algorithms Questions

Given two nodes in an arbitrary tree, write a function to find the most-specificcommon-ancestor

Given a list of n integers, write a function to determine if any two sum to k

Given k guards in a museum with n rooms that are connected in a certain way
(was drawn on a whiteboard when I was asked this) write a function to determine
which of the k guards is closest to each of the n rooms

Tedious Programming Questions

Given an integer, write a function to print it out in words (e.g. given 342, print
"three-hundred forty-two"

Given an amount charged and cash tendered, write a function to make change
using the fewest number of bills/coins possible

Language-Specific Questions

What is the difference between an Interface and an Abstract Class in Java?

If in a Python class, you inherit from multiple parent classes that both have an
instance method of the same name, which implementation is picked by default for
the child class?

Implement a Data Structure Questions

Implement a "min-stack" (a data structure that behaves just like a stack in terms
of push and pop but also supports a function min that returns (but does not pop) the
minimum number currently on the stack)

Implement an LRU cache

Using only arrays and primitive types, implement an auto-resizing array

Math-y Questions

How many trailing zeros does the number 52! have?

Given a streaming input of integers and only constant storage, for any n, how can
you randomly select one of the n integers you have seen so far such that each has
probability 1/n of being selected?

Explain a CS Concept Questions

Explain how heapsort works

How can you sort in sub-n log n time?

What is a mutex?

What's the difference between a thread and a process?

Explain a Real-World System

How does DNS work?

When you type Google into your address bar and press enter, what happens?

How does virtual memory work?

Security Questions

Describe the browser security model

How does SSL work?

What is a SQL injection attack?

What is XSS?

System Design Questions

How would you design an elevator system?

How would you design a system for running A/B tests on some fraction of the
user base?

"Real World" Questions

How do you prevent click-jacking?

How would you implement a "People You May Know" feature in our product?

Database Questions

Given some application and desired functionality, how would you lay out the
schema?

Given this schema, write a query to retrieve x

How could you make this query run faster?

Unix Tools Questions

Write a command to find all occurrences of a string for all files in a directory

Well,I hope you are a CSE student,coz m gonna write from the point of view of CSE
Campus Placements.
First of all, you need to check out what all companies do visit your college.Ask you
seniors which all companies did visit during their time and what was the selection
procedure(including eligibility criteria as well) because it will be almost same at you time
as,so keep good rappo with your seniors,as they are the ones who will guide you about
the companies.Get the rough estimate of companies visiting this year and in which all
companies you are eligible and start preparing according to it.
There are basically 2 types of companies visiting every college,that is
1)Non Dream( usually Mass Recruiter) Companies
e.g Accenture,Infosys,TCS,Capgemini etc
2)Dream Companies
e.g Morgan Stanley,JP Morgan,SAP labs,Nomura etc
As you,now only have two months in hand,you really need to buck up.Its not like you
wont land up in dream company,you can surely get one...if you are consistent in you
preparation. It might be like you 1st get Non-dream Company,as in 2 mnths you will be
well versed with Basic Prep.And keep you prep in continous mode till you get a dream
job . As life will be easy once you get into Dream one and getting into Dream Co. via off
campus is very difficult coz usually dey dont keep such drives n evn if dey keep..der
requirements are usually high... n its hectic n long procedure....so always try to get job in
campus placements
So the Basic Prep will be
1) Aptitude
a) Quantitative Aptitude
b)Verbal Ability(dont get confused between verbal reasoning n verbal ability,dey are
different)
c)Analytical Ability/Logical Reasoning
QuantR.S Agarwal is more than enough

Well,one should cover all chapters of this book. No need to do all sums from all
chapters.Once your concepts gets cleared and you are sure that you will be able to solve
all kind of sums related to that topic,then you can move on to further topics.I suggest not
to follow R.S index to cover the topics...Do not consider single at a time...always form the
group of similar chapters and try to cover that way.
Here is the formation of group of chapters which i followed 1) Basic Chapters- 1,2,3,4,5,6,7,8
2) Percentage,Stock & shares etc - 10,11,13,21,22,29,32,33
3)Ratio n Proportion,chain rule etc- 12,14,20
4)Logarithm and Surds/Indices- 9,23
5)Time n Work sort of chapters- 15,16,17,18,19,26,34
6)Area-24,25
7)Calender,Clock-27,28
8)Permutation n Combination- 30,31
9) Remaining Chapters all together.
Dont ignore DI n pie chart questions even dey do come

Verbal AbilityVerbal usually consists of RCs,syntonyms,antonyms,meaning of the word,error finding &


arranging the sentences in correct order to form a para.
There is actually no need to prepare for this if you are good at grammer n have good
vocab..If u r nt den stdy some imp gre words and you will go through this.

LogicIts the most easiest section i can say. No need to prepare for this too
Blood Relations,Deductions,conclusions,puzzles etc can be encountered here
Verbal and Logic can be prepared when you are bored of Quant/Tech.Its for refreshing
mind :p
These 2 section can be done 4rm CAT notes of TIME. They have covered everything.
As you have short span of time,..dont focus more on the above 2 sections.
And 1 more thing...Quant and Technical should be studied hand-in-hand.
2) Technical Interviee
i) Programming LanguagesC/java or C++/java basically 1 structured programming and 1 oop
ii)DSA
iii)DBMS

In basic prep these 3 subjects are enough n in during if its asked ur fav subject always opt
for dbms...coz u will encounter the most easy questions in it.
Revise all projects in hand which are written in the resume..questions are usually asked
on projects so you should know in and out of the projects
HR interviewStudy your Resume well & frame question set based on your resume and try to answer
them,As all 75% questions will be based on your resume.
Some of the FAQs asked in HR are strenghts,weakness,how will you overcome you
weakness,where you will see yourselves after 5/10 yrs,what are you career goals etc so be
prepared for such questions.
And 1 day before interview try to research about Company you are appearing for, about
their work,vision and mission,core values,locations etc Coz they want to see how much u
r interested in the company n wat all things u know about them.
After you are done with these prep give online tests on Indiabix jsut b4 2-3 days before
co. comes.And you will also get co. papers on freshers worls as well as on india-bix,From
previous question papers you will get an idea of pattern usually company follow in
aptitude section
People usually say,questions get repeat from previous years,but personally i have not
experienced this,but there is no harm in solving them,you might be lucky enough to get
repeated ones.
And Believe me, 2 months are more than enough for Basic Prep
Ok,So Advanced Prep will consist only of Test Series and few subject learning
like OS,Networking,SE
and test series on quant,verballogic,c,java,os,dsa,dbms,networking.
Non Dream companies usually do have 3 sections- quant.verbal,logic in apti,
but dream co. include technical section too.
Technical apti consist of programming questions based on - control
stuctures,pointers,dsa based questions n few on othr subjects may be dbms/os
In Technical Interview of Dream Co. they expect us to know basics of all subjects studied
during engg.
HR interview will be more or less same as Non-Dream co.
Some of the Dream/Non-Dream co. do have GD also...so prepare for it according to

which co. you are applying


Tips fro clearing Apti
1) If there is no sectional cut-off,then the order of solving should be
logic-> verbal->quant, as per my knowledge only accenture dont have sectional cut-off
2)If there is no negative marking, end mein sab inky pinky ponky karke aana :p
"b/c option is lucky fr me" chk it out wch 1 is urs ;) "
3)If there is -ve marking & sectional cut-off then too follow the same order as before and
try to solve 3/4th of the total questions from each section.dont try to solve all
questions.And evn if der is -ve marking and time is less and you hv nt covered 3/4 of the
questions 4rm the remaining section den 3-4 questions mein inky pinky ponky kar
lena :p ,coz -ve marking is negligible and clearing each section is also imp.
Tips for clearing Interviews
1) Dont be nervous,Be Confident
2) Try to be clear with your answers,whatever it may be... dont fumble
3) If you dont know the exact answer of any of his question,just say " Sir,I dont know the
exact answer but what i know is................"
4) And try to show that you are interested in their company

That's it ! Hope its useful All the Best !!!

Mathematics:
(a)Number Theory

1.

Prime Number Generation (Sieve, Segmented Sieve)

2.

Euler Totient Theorem

3.

Fermats Theorem

4.

HCF & LCM (Euclid)

5.

Linear Diophantine Equations (Extended Euclid)

6.

Modulus Arithmetic (addition,multiplication,subtraction,modular Inverse)

7.

Cycle Finding (Floyd Algo and Brent Algo)

8.

Integer Factorization (Trial Division , Pollard Rho method)

9.

Lucas Theorem (Simple & Advance)

10.

Chinese Remainder Theorem

11.

Wilson Theorem

12.

Miller - Rabin Primality Testing

13.

Perfect Numbers

14.

Goldbach Conjecture

(b)Probability
1.

Basic Probability and Conditional Probability

2.

Random Variables

3.

Probability Generating Functions

4.

Expectation

5.

Probability Distribution [Binomial, Poisson, Normal,Bernoulli]

(c)Counting
1.

Pigeonhole principle

2.

Inclusion Exclusion

3.

Special Numbers [Stirling,Fibonacci,Catalan, Eulerian, Harmonic, Bernoulli]

4.

Polya Counting

5.

Burnside lemma

(d)Permutation Cycles
(e)Linear Algebra
1.
Addition And Subtraction Of Matrices
2.

Multiplication ( Strassen's algorithm ), Logarithmic exponentiation

3.

Matrix Transformations [ Transpose, Rotation Of Matrix, Representing Linear


Transformations Using Matrix ]

4.

Determinant , Rank and Inverse Of Matrix [ Gaussian Elimination , Gauss Jordan


Elimination]

5.

Solving System Of Linear Equations

6.

Matrix Exponentiation To Solve Recurrences

7.

Eigenvalues And Eigen vector

8.
9.

Roots of a polynomial [ Prime factorization of a polynomial, Integer roots of a


polynomial]
Lagrange Interpolation

(e)Game Theory
1.

Basic Concepts & Nim Game [Grundy Theorem , Grundy Number]

2.

Hackenbush

(f)Group Theory
1.

Burnside Lemma

2.

Polya's Theorem

Graphs:
(a)Graph Representation
1.

Adjacency Matrix

2.

Adjacency List

3.

Incidence Matrix

4.

Edge List

(b)Graph Types
1.

Directed

2.

Undirected

3.

Weighted

4.

Unweighted

5.

Planar

6.

Hamilton

7.

Euler

8.

Special Graphs

(c)DFS & Its Application


1.

Cycle Detection

2.

Articulation Points

3.

Bridges

4.

Strongly Connected Component

5.

Connected Component

6.

Path Finding

7.

Solving Maze

8.

Biconnectivity in Graph

9.

Topological Sorting

10.

Bipartite Checking

11.

Planarity Testing

12.

Flood-fill algorithm

(d)BFS & Its Application


1.

Shortest Path (No. Of Edges)

2.

Bipartite Checking

3.

Connected Components

(d)Minimum Spanning Tree


1.

Prims Algorithm

2.

Kruskal Algorithm

(d)Single Source Shortest-Path


1.

Dijkstra

2.

Bellman Ford

(e)All pair Shortest Path


1.

Floyd Warshalls Algorithm

(f)Euler Tour
(g)Flow
1.

Ford-Fulkerson [PFS,DFS,BFS]

2.

Dinic's Algorithm

3.

Min Cost - Max Flow [Successive Shortest Path Algo,Cycle Cancelling Algorithm]

4.

Max Weighted BPM [Kuhn Munkres algorithm/Hungarian Method]

5.

Stoer Wagner Min-Cut Algo

6.

Hop-Kraft BPM

7.

Edmond Blossom Shrinking Algorithm

(h)Other Important Topics On Graphs


1.

2-SAT,

2.

LCA

3.

Maximum Cardinality Matching

4.

Application Flow

5.

Min Path Cover Over Dag

6.

Independent Edge Disjoint Path

7.

Minimum Vertex Cover

8.

Maximum Independent Set

Data Structures:
1.

Arrays

2.

Linked List

3.

Trees (Binary Tree And Binary Search Tree)

4.

Stacks

5.

Queues

6.

Heap

7.

Hash Tables

8.

Disjoint-Set Data Structures

9.

Trie

10.

Segment Tree

11.

Binary Index Tree

12.

Treap

Searching And Sorting:


1.

Linear Search

2.

BInary Search

3.

Ternary Search

4.

Selection Sort

5.

Bubble Sort

6.

Insertion Sort

7.

Merge Sort

8.

Quick Sort

9.

Quick Select

10.

Heap Sort

11.

Radix Sort

12.

Counting Sort

Greedy:
Classical Problems of Greedy & Concept
example : Fractional Knapsack
Dynamic Programming Classical Problems
1.
Edit Distance
2.

Egg Dropping Puzzle

3.

Integer Knapsack

4.

Largest Independent Set

5.

Longest Biotonic Subsequence

6.

Longest Common Subsequence

7.

Longest Common Substring

8.

Longest Increasing Subsequence

9.

Longest Palindromic Subsequence

10.

Longest Palindromic Substring

11.

Longest Substring Without Repeating Character

12.

Matrix Chain Multiplication

13.

Max Size Square Submatrix With One

14.

Maximum Length Chain Pairs

15.

Maximum Sum Increasing Subsequence

16.

Optimal Binary Search Tree

17.

Palindrome Partition Problem

18.

Set Partition Problem

19.

Subset Sum

20.

Word Wrap Problem

Dynamic Programming Advanced Techniques

1.

DP + Tree

2.

DP + Bit Masking

3.

DP + Binary Search

4.

DP + Graph

5.

DP + Matrix Exponentiation

6.

DP + Probability Space

7.

DP + Crack Recurrence

Divide & Conquer


Classical Problems & Concepts
1.
Merge Sort
2.

Closest Pair Points

Other Algorithm Design Techniques :


1.

BackTracking

2.

Man In Middle

3.

Newton-Raphson to reach the fixed point

4.

Brute Force

5.

Constructive Algo

6.

Sliding Window

7.

Pancake Sorting

Resources:
Data Structures And Algorithm :
Algorithm Tutorials
Data Structures and Algorithms
Modular Multiplicative Inverse
Heavy Light Decomposition
Tutorial: Range Updates in Fenwick Tree by Amey Dharwadker on
Programming Contests
visualising data structures and algorithms through animation
Coding contest trick: Meet in the middle
Introduction to Dynamic Programming
Dynamic Programming Practice Problems
Solving Linear Recurrence for Programming Contest
Tutorial on Trie and example problems by Lalit Kundu on Threads @ IIIT Hyderabad
Binary Indexed Trees with some Solved Example.
Dynamic programming problems with bitmasking
Let us code: Segment Trees

C++:
C++ Programming Tutorial
Containers - C++ Reference
Standard Template Library Programmer's Guide
Updated with few more links.

https://www.quora.com/Can-anyone-provide-me-a-list-of-all-algorithms-neededfor-ACM-ICPC/answer/Utpal-Kumar-Jha?srid=tdTQ&share=1

http://yesno.quora.com/List-of-Topics-for-programming-Competitions?
srid=tdTQ&share=1

https://www.quora.com/What-all-basic-data-structures-and-algorithms-shouldone-learn-before-starting-competitive-programming/answer/Aman-Goel-9?
srid=tdTQ&share=1

Vous aimerez peut-être aussi