Kamal Rawat

Kamal Rawat is a software developer, trainer, author and an entrepreneur. He has first-hand experience of implementing full life cycle of large scale desktop, Cloud and Mobile applications across various domains and platforms.

He had been a technical architect in complex projects like Microsoft OneNote, Adobe Photoshop and Samsung GalaxyConnect. He has also been in the core interview panel of Microsoft, Adobe and many start-ups.

Since 2006, he is coaching students on how to crack programming interviews. Before leaving his job to pursue his passion full-time, Kamal was working as Senior SDE at Microsoft.


Meenakshi hold master’s degree in Computer science. She left her job and co-founded Ritambhara Technologies (www.ritambhara.in).

She maintains an amazing work-life balance, wearing multiple hats, be it head of a technical start-up, a certified yoga trainer or mother to two kids at home.


Problem-solving and optimizing comes naturally to her.



Books by Kamal Rawat

In my career spanning more than a decade, I have used C language in only two projects. All these years, I had either coded in C++, Java or C#.

However, during interviews, I had always coded my solutions in C. When an interviewer asks you to implement a Stack having one extra operation, getMinimum that returns minimum element in current stack, you are expected to give your own implementation of stack from scratch and not use Stack class in Java library.

C language allows your solution to be focused on the problem without unnecessary clutter of class and object definitions. Java and C# are good to showcase your design skills, but if the question is not explicitly about object-oriented design, C (or C++) provides flexibility to demonstrate your memory management skills and help implement everything required using data structure and algorithms.

C is a lightweight language and is easy to learn in a short span of time. Understanding the internals of C helps comprehend other high-level languages better because the concepts and terminology remain the same.

This book gives you an insight into the journey that your code goes through and best practices at each stage.

Read More... Buy Now Read Sample

Searching & Sorting for Coding Interviews

Books by Kamal Rawat

Searching & sorting algorithms form the back bone of coding acumen of developers. This book comprehensively covers

  • In-depth tutorial & analysis of all major algorithms and techniques used to search and sort across data structures.
  • All major variations of each algorithm (e.g. Ternary, Jump, Exponential, Interpolation are variations of Binary search).
  • 110 real coding interview questions as solved examples and unsolved problems.
  • Case studies of implementation of searching and sorting in language libraries.
  • Introduction to how questions are asked and expected to answer on online competitive coding and hiring platforms like hackerrank.com, codechef.com, etc.
  • Introduction to data structures.

Read More... Buy Now Read Sample

Dynamic Programming for Coding Interviews

Books by Kamal Rawat

I wanted to compute 80th term of the Fibonacci series. I wrote the rampant recursive function,

int fib(int n){

return (1==n || 2==n) ? 1 : fib(n-1) + fib(n-2);


and waited for the result. I wait… and wait… and wait…

With an 8GB RAM and an Intel i5 CPU, why is it taking so long? I terminated the process and tried computing the 40th term. It took about a second. I put a check and was shocked to find that the above recursive function was called 204,668,309 times while computing the 40th term.

More than 200 million times? Is it reporting function calls or scam of some government?

The Dynamic Programming solution computes 100th Fibonacci term in less than fraction of a second, with a single function call, taking linear time and constant extra memory.

A recursive solution, usually, neither pass all test cases in a coding competition, nor does it impress the interviewer in an interview of company like Google, Microsoft, etc.

The most difficult questions asked in competitions and interviews, are from dynamic programming. This book takes Dynamic Programming head-on. It first explain the concepts with simple examples and then deep dives into complex DP problems.

Read More... Buy Now Read Sample

Edit Your Profile

Maximum file size: 5 MB.
Supported File format: .jpg, .jpeg, .png.