Shop for Computer Science and Programming books. Buy books online from popular sellers like Flipkart.com, Amazon.in or Amazon.com.
1. A good knowledge of Data Structures, Algorithm Design and Analysis of Complexity
The books by Cormen or
Sedgewick (a standard part of the undergraduate curriculum) are
sufficient for this part of the preparation. Google specially, loves to
focus on algorithmic questions.

List Price: Rs.525 Our Price: Rs.357
Introduction to Algorithms (CLRS)

Our Price: Rs.599
Algorithms (By Robert Sedgewick)

List Price: Rs.550 Our Price: Rs.500
Analysis of Algorithms (By Robert Sedgewick)


2. Standard and established sources of Programming Interview Questions A
lot of interview questions are reused and recycled by interviews
again and again. Chances are, that question you're going to be asked,
has been asked a hundred times during the last week, across a number of
companies! Google, Facebook, Microsoft, Amazon all of them frequently ask questions on the lines of those in these books.

List Price: Rs.2293 Our Price: Rs.2178
Cracking the Coding Interview: 150 Programming Questions and Solutions [Paperback]

List Price: Rs.299 Our Price: Rs.284
Programming Interviews Exposed 
Our Price: Rs.1733
Ace the Programming Interview 
Our Price: Rs.1300
Ace the IT Interview

3. Puzzles and Brainteasers (often asked, good to be prepared) Questions from Mount Fuji are specially popular with Microsoft recruiters.

List Price: Rs.860 Our Price: Rs.800
How would you move Mount Fuji?

How to Ace the Brain Teaser Interview



4. Good Software Engineering practices. Writing
clean and secure code, an awareness about Design Patterns and Object
Oriented Programming techniques. Some of these books are frequently
recommended by Microsoft recruiters. Take care of buffer overflows! Code Complete is a recommended book for Microsoft Interviews. 
List Price: Rs.629 Our Price: Rs.611
Code Complete 2

Our Price: Rs.699
Writing Secure Code

List Price: Rs.499 Our Price: Rs.409 Design Patterns


In case your primary language is C++,
make sure you know its "insandouts". You should know about
destructors and constructors, virtual destructors, polymorphism,
function overloading. Some of these books might help you revise C++. 
List Price: Rs.775 Our Price: Rs.736 The C++ Programming Language (Bjarne Stroustrup)

Our Price: Rs.2008
Beginning C++ through Game Programming

List Price: Rs.695 Our Price: Rs.632
C++: How to Program (Deitel and Deitel)


In case your primary language is C,
make sure to be well versed with pointers, system calls and how they
work. How does Malloc work, how does calloc work? All of these are
questions which some interviewers could potentially ask, to test the
depth of your knowledge and your understanding of the system "under the
hood". 
List Price: Rs.175 Our Price: Rs.137
The C Programming Language (Kernighan)

List Price: Rs.650 Our Price: Rs.624
C How to Program (Deitel and Deitel)



Here's a great book for the Java lovers as well. It normally doesn't matter which programming language you know, but make sure to know about it in detail. 
List Price: Rs.595 Our Price: Rs.541
Java: A Beginner's Guide (Herb Schildt)




The Best Books for Computer Networks
Given
that we live in the age of the Internet, a knowledge of Computer
Networks can go a long way. A course on Networks covers a lot of things
which we use directly or indirectly, every time we surf the web, send a
message or visit a website. Networks are a key component of the
information economy. Everyone from Google to Microsoft to Amazon and
Facebook is dependent on them. A networking textbook will explain to
you, how bits are sent over the wire; the different layers involved; the
variety of routing algorithms in use, how traffic congestion is
controlled, how networks are kept secure from those with evil
intentions. After reading these books (or, after taking a Computer
Networking course) you will be able to understand what HTTP, TCP/IP,
802.11, Ethernet and DNS actually mean.
Check out these recommended books for studying about Computer Networks (from Amazon.com). 
The Best Books for Operating Systems
Understanding
Operating Systems is really important for a computer programmer or a
computer scientist or an embedded systems engineer, even if he/she isn't
really creating an OS. It teaches you about threads, processes, memory
management, caching, shared memory, system calls, file systems; and it
also teaches you how different parts of the Operating System handle such
a lot. Here are some of the topics typically covered in an Operating
Systems course:  Overview
of different operating systems, functionalities and charateristics of
OS, comparing Windows, Linux. Hardware concepts, CPU states, I/O
channels, memory hierarchy. A process, operations on them, process
states, concurrent processes, process control block, process context.
 Windows/UNIX
process control, PCB, signals, forks, pipes. Interrupt processing,
operating system organisation, OS kernel, dispatcher.
 Job
and processor scheduling, scheduling algorithms, process hierarchies,
Problems of concurrent processes, critical sections, mutual exclusion,
synchronisation, deadlock.
 Mutual exclusion, process cooperation, producer and consumer processes. Semaphores: definition, init, wait, signal operations.
 Critical
regions, Conditional Critical Regions, Monitors, Ada Tasks.
Interprocess Communication (IPC), Message Passing, Direct and Indirect
 Deadlock: prevention, detection, avoidance, banker's algorithm. Memory organisation and management, storage allocation.
 Virtual memory concepts, paging and segmentation, address mapping. Virtual storage management, page replacemant strategies.
 File organisation, blocking/buffering, file descriptor, directory structure. File and Directory structures, blocks and fragments
Popular books for those interested in learning about Operating Systems. Check out these recommended books on Amazon.com. 
The Best Books for Discrete Mathematics/Discrete Structures/Combinatorics
Discrete Mathematics/Discrete Structures/CombinatoricsThis
is typically a compulsory course in many undergrad CS programs. While
most traditional engineering branches are based on ideas of continuous
domain mathematics and involve calculus; much of Computer Science is
based on Discrete Mathematics. A course in Discrete Mathematics
typically covers sets, relations, recurrence relations, number theory,
groups, fields, permutations and combinations, complexity etc. Here's a
quick look at some of the topics often covered in a Discrete
Mathematics course.Propositional logic: Syntax and semantics, valid, satisfiable and unsatisfiable formulas, the validity of some logical arguments.Proof Techniques: Forward proof, proof by contradiction, contrapositive proofs, proof of necessity and sufficiency.Sets, relations and functions: Operations
on sets, relations and functions, binary relations, partial ordering
relations, equivalence relations, principles of mathematical induction. Size of a set: Finite
and infinite sets, countable and uncountable sets, Cantor's diagonal
argument and the power set theorem, SchröderBernstein theorem. Combinatorics: Basic
counting techniques: inclusion and exclusion, pigeonhole principle,
permutation, combination, summations. Introduction to recurrence
relations and generating functions. Algebraic structures and morphisms : Algebraic
structures with one binary operation  semigroups, monoids and groups,
congruence relation and quotient structures. Free and cyclic monoids and
groups, permutation groups, substructures, normal subgroups. Algebraic
structures with two binary operations  rings, integral domains and
fields. Boolean algebra and Boolean ring. Graphs and trees: degree, path, cycle, subgraphs, isomorphism, Eulerian and Hamiltonian walks, graph coloring, planar graphs, trees. Here are some recommended books for studying Discrete Mathematics, in case you'd like to take a look at them on Amazon.
Discrete Mathematics 
The Best Books for Automata Theory
Automata TheoryThis is a compulsory part of the curriculum for many Computer Science and Electrical Engineering students. The
coure material typically covers DFA (Deterministic Finite Automata),
NFA (Nondeterministic finite automata), Regular Expressions, Parsing,
ContextFreeGrammars and Complexity classes. Understanding Automata is
mandatory for someone who'd be interested in implementing programming
languages (Compilers, Interpreters). Lexical Analysis, Parsing,
developing the grammar: all of these stages in Compiler Design are based
on principles of Automata. Here are a few popular book recommendations for Automata, in case you'd be interested in taking a look at them on Amazon.com. 
