Programming interviews are like standard plays in professional sport - prepare accordingly. Don't let Programming Interview gotchas get you down!
- Programming interviews differ from real programming jobs in several important aspects, so they merit being treated differently, just like set pieces in sport.
- Just like teams prepare for their opponent's playbooks in professional sport, it makes sense for you to approach programming interviews anticipating the interviewer's playbook
- This course has been drawn by a team that has conducted hundreds of technical interviews at Google and Flipkart
- Pointers: Memory layout of pointers and variables, pointer arithmetic, arrays, pointers to pointers, pointers to structures, argument passing to functions, pointer reassignment and modification - complete with visuals to help you conceptualize how things work.
- Strings: Strings, Character pointers, character arrays, null termination of strings, string.h function implementations with detailed explanations.
- Linked lists: Visualization, traversal, creating or deleting nodes, sorted merge, reversing a linked list and many many problems and solutions, doubly linked lists.
- Bit Manipulation: Work with bits and bit operations.
- Sorting and searching algorithms: Visualize how common sorting and searching algorithms work and the speed and efficiency of those algorithms
- Recursion: Master recursion with lots of practice! 8 common and uncommon recursive problems explained. Binary search, finding all subsets of a subset, finding all anagrams of a word, the infamous 8 Queens problem, executing dependent tasks, finding a path through a maze, implementing PaintFill, comparing two binary trees
- Data Structures: Understand queues, stacks, heaps, binary trees and graphs in detail along with common operations and their complexity. Includes code for every data structure along with solved interview problems based on these data structures.
- Step-by-step solutions to dozens of common programming problems: Palindromes, Game of Life, Sudoku Validator, Breaking a Document into Chunks, Run Length Encoding, Points within a distance are some of the problems solved and explained.
What are the requirements?
- This course requires some basic understanding of a programming language, preferably C. Some solutions are in Java, though Java is not a requirement
What am I going to get from this course?
- Know how to approach and prepare for coding interviews
- Understand pointer concepts and memory management at a very deep and fundamental level
- Tackle a wide variety of linked list problems and know how to get started when asked linked list questions as a part of interviews
- Tackle a wide variety of general pointer and string problems and know how to answer questions on them during interviews
- Tackle a wide variety of general programming problems which involve just plain logic, no standard algorithms or data structures, these help you get the details right!
What is the target audience?
- YEP! New engineering graduate students who are interviewing for software engineering jobs
- YEP! Professionals from other fields with some programming knowledge looking to change to a software role
- YEP! Software professionals with several years of experience who want to brush up on core concepts
- NOPE! Other technology-related professionals who are looking for a high-level overview of pointer concepts.