Break Away: Programming And Coding Interviews
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.
Talk to us!
Mail us about anything – anything! – and we will always reply 🙂
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.
|Section 1: Introduction|
Coding interviews are tough – but beatable
|Section 2: Pointer and Arrays|
Introduction to pointers
Pointer problems and arrays
Practice makes perfect – pointer problems
|Section 3: Strings are just pointers at heart|
Working with strings
Pointer as arguments to functions
Practice makes perfect – string problems
|Section 4: Linked lists can be fun!|
Pointers to pointers – bend your mind
Pointers to pointers – reassignment and modification
Get started with linked lists
Warming up to – they get tricky quickly
Cruising along – linked lists are fun aren’t they?
Autopilot – linked lists are easy after all
Do not overlook the doubly linked list
|Section 5: Bit Manipulation|
Bit Manipulation – I
Bit Manipulation – II
Useful Bit Manipulation Techniques
Get And Set The Nth Bit
Print And Count Bits
Reverse The Bits In An Integer
|Section 6: General programming problems – practice makes perfect|
Starting up – palindromes and points within a distance
Play the Game Of Life and Break A Document Into Chunks
Run Length Encoding And Adding Numbers Digit By Digit
Sudoku Board Validation and Incrementing A Number In Another Number System
|Section 7: Big-O Notation, Sorting And Searching Algorithms|
Performance and Complexity
Big O Notation
Big O Notation More Examples
Binary Search – search quickly through a sorted list
|Section 8: Recursion and the recursive sense|
What is recursion – why is it so hard?
Binary search – implemented recursively
Find all subsets of a set
Check whether 2 binary trees are the same
Implement paint fill to color a region on screen
Build A car Given Tasks And Dependencies
Generate Anagrams Of A Word
Help A Rat Find It’s Way Through a Maze
Place 8 Queens On A Board Safely
|Section 9: Stacks And Queues|
Meet The Stack – Simple But Powerful
Building A Stack Using Java
Match Parenthesis To Check A Well Formed Expression
Find The Minimum Element In A Stack In Constant Time
Meet The Queue – A Familiar Sight In Everyday Life
The Circular Queue – Tricky But Fast
Build A Queue With Two Stacks
|Section 10: Binary Trees|
Meet The Binary Tree – A Hierarchical Data Structure
Breadth First Traversal
Depth First – Pre-OrderTraversal
Depth First – In-Order and Post-Order Traversal
|Section 11: Binary Search Trees|
The Binary Search Tree – an introduction
Insertion and Lookup in a Binary Search Tree
|Section 12: Binary Tree Problems|
Minimum Value, Maximum Depth And Mirror
Count Trees, Print Range and Is BST
Has Path Sum, Print Paths, Least Common Ancestor
|Section 13: Heaps|
The Heap Is Just The Best Way to Implement a Priority Queue
Meet The Binary Heap – It’s A Tree At Heart
The Binary Heap – Logically A Tree Really An Array
The Binary Heap – Making It Real With Code
Insert And Remove From A Heap
|Section 14: Revisiting Sorting – The Heap Sort|
Heap Sort Phase I – Heapify
Heap Sort Phase II – The Actual Sort
|Section 15: Heap Problems|
Maximum Element In A Minimum Heap and K Largest Elements In A Stream
Merge K Sorted Lists Into One Sorted List Using A Heap
Find The Median In A Stream Of Elements
|Section 16: Graphs|
Introducing The Graph
Types Of Graphs
The Directed And Undirected Graph
Representing A Graph In Code
Graph Using An Adjacency Matrix
Graph Using An Adjacency List And Adjacency Set
Comparison Of Graph Representations
Graph Traversal – Depth First And Breadth First
|Section 17: Graph Algorithms|
Topological Sort In A Graph
Implementation Of Topological Sort
Design A Course Schedule Considering Pre-reqs For Courses
Loony Corn, A 4-person team;ex-Google; Stanford, IIM Ahmedabad, IIT
Loonycorn is us, Janani Ravi, Vitthal Srinivasan, Swetha Kolalapudi and Navdeep Singh. Between the four of us, we have studied at Stanford, IIM Ahmedabad, the IITs and have spent years (decades, actually) working in tech, in the Bay Area, New York, Singapore and Bangalore.
Janani: 7 years at Google (New York, Singapore); Studied at Stanford; also worked at Flipkart and Microsoft
Vitthal: Also Google (Singapore) and studied at Stanford; Flipkart, Credit Suisse and INSEAD too
Swetha: Early Flipkart employee, IIM Ahmedabad and IIT Madras alum
Navdeep: longtime Flipkart employee too, and IIT Guwahati alum
We think we might have hit upon a neat way of teaching complicated tech courses in a funny, practical, engaging way, which is why we are so excited to be here on Udemy!
We hope you will try our offerings, and think you’ll like them 🙂
- Lectures 0
- Quizzes 0
- Duration 50 hours
- Skill level All level
- Language English
- Students 1343
- Assessments Self