In 3 months, focus on learning the basics of programming, data structures, algorithms, system design concepts, and commonly asked coding questions.
Allocate around 3 to 4 hours daily for preparation, with more time on weekends.
Choose a programming language and master its fundamentals. Stick to one language during interviews.
Spend time practicing complex coding problems, especially related to dynamic programming, backtracking, and data structures like linked lists and arrays.
Dedicate a week to learning system design concepts and another week to understanding OS concepts like process and signals, interprocess communication, semaphores, and sockets.