It is the dream of every Computer Science student to crack a job in a big company. But It is hard very hard to crack coding interviews. Most tech giants like Google, Facebook, Microsoft want perfection and in-depth knowledge of programming concepts. Some MNCs(Multinational Companies) work on a specific branch of Computer Science that focuses on particular subjects and ask questions around that. So, It is a must to have all the necessary knowledge about the concept describe to interviewers.
To deal with these difficulties, students prefer online courses or free platform to learn code. But usually, Courses are practical Instructor does not teach enough theory to answer interview questions. To study all the subjects in a limited time, I have divided this article into four sections according to Subject and Books.
- Operation System(OS)
- Database Management System(DBMS)
- Computer Networks
- Object-Oriented Programming (OOP)
- Data Structure and Algorithms
- Interview Perspective
OS or Operating System is one of the most important subjects that students can’t skip while preparing for the interview. The interviewer asks for different processes and differences between questions that cover most of the theory part. In Academic overview of Operating systems is taught, but that is not enough for a technical Interview.
Operating System Principles –Peter Baer Galvin
Operating System Principles covers every topic of Operation System in detail. You can read up to five parts cover most of the questions asked in a coding interview. If you are not able to read the whole book, then you can read up to 5 sub-points of each chapter that covers the topic.
Database Management System(DBMS)
Database Management System also comes under important topics for interview Purpose. Many companies ask questions about SQL(MYSQL), NoSQL(MongoDB), and more about Database Design, and Data Storage, and Querying. that you learn from the book Database System Concepts by Henry F. Korth.
Database System Concepts Henry F. Korth
This book presents the fundamental concepts of database management by covering the main theoretical results, proofs, figures, and examples are used to verify its results. It is a long book, So from an interview point of view. You can go for an outline of every chapter or can make a list of topics to read before starting. This edition also provides a revised coverage of SQL, with greater attention to variants of SQL in systems and SQL features.
This edition contains a new running example of a university database, which make it easy to understand. This book has a massive amount of knowledge that is more than enough for an Interview. So, you can skip some topics.
Only some company asks questions about the compiler. Basically, the compiler plays the role of the transformer that helps to contact the computer with the end-user. To learn the Compiler, There is a famous book called” Red Dragon Book.”
Compilers Principles, Techniques, and Tools -Jeffery D. Ullman
Compiler principle is the famous book for compiler design that talks about some key concepts in compiler design. In the first chapter of this book writer introduced all the topics and then elaborated on all of them in further chapters. The team of writers covered topics Lexical Analysis, Syntax Analysis, and many more fundamentals of the compiler.
Companies do not ask too many questions about Networking. All the topics of Networking are The OSI Model, TCP/IP Model, Network typologies, Internet Protocol v4 and v6, Media Access Control and Address Resolution Protocols, witches, wireless access points, routers, modems, Firewalls, TCP ports, UDP ports. You can prefer the below book to master all of them.
Data Communications and Networking -Behrouz Forouzan
This book is of the best book consists of everything about Networks. It has 31 Chapters and A-H Appendix. Again this book has a lot more stuff to read. But if you require, you can skip through the Chapters. Rather than Interview purpose, this book is useful for various Engineering courses in communication.
Object-Oriented Programming (OOP)
Most of the language supports OPP that describes its importance and necessity. Additional questions based on your project or program hierarchy are asked, During the interview. It is one of the easy subjects among all of them. To Master Object-Oriented Programming, There are many books out there. But my suggestion is to complete it from any online website like GeeksforGeeks or TutorialsPoint. If you want a book, then you should go for
Object-Oriented Programming with C++ -E. Balagurusamy
This book focuses on knowledge in the area of object-oriented programming with C++ as implementation. The Author has explained all the critical concepts of OOP in simple language for a better understanding of the reader. The same technique has been implemented in solved examples using the C++ programming language. The topics on Polymorphism, Encapsulation are expanded for better understanding.
Data Structures and Algorithms
Data Structure and Algorithms(DSA) is the gist of the Coding Interview. That covers most of the portion of Technical Interviews and Coding Rounds. Only with practical implementation, it is not possible to crack a coding interview. Interviewers ask too many questions on theoretical topics of Algorithms and sometimes ask to write down the Algorithms of any particular concept. To master the theory of Data Structure and Algorithm, You should choose among these books:
Introduction to Algorithms – Thomas H. Cormen
Introductions to Algorithms is the most popular book for Algorithms. It is a very long book covering every minute topic. This book does not found practical in some cases. For detailed studies, You should go with this one. That may found to be time-consuming.
Algorithms -Robert Sedgewick
This book was found more practical and valuable than Thomas’s book. Make sure to practice on your own to understand the Algorithms that are hard to digest. This book can be the best choice for Self Learning.
For Data Structure:
Data Structure through C in depth – S. K. Shrivastav and Deepali Shrivastav.
Data Structure through C in depth is the most popular book in India. For building the concept of DSA. C Language is used, For the implementation of the topics and examples. All the Data structures are super easy to understand. You can found Examples for every small coding concept.