Break Away: Programming And Coding Interviews

Break Away: Programming And Coding Interviews

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 20h 11m | 4.73 GB

A course that teaches pointers, linked lists, general programming, algorithms and recursion like no one else

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 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, and Points within a distance are some of the problems solved and explained.

This course requires some basic understanding of a programming language, preferably C. Some solutions are in Java, though Java is not a requirement

What You Will Learn

  • 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!
Table of Contents

01 Coding interviews are tough – but beatable
02 Introduction to pointers
03 Pointer problems and arrays
04 Pointer arithmetic
05 Practice makes perfect – pointer problems
06 Working with strings
07 Pointer as arguments to functions
08 Practice makes perfect – string problems
09 Pointers to pointers – bend your mind
10 Pointers to pointers – reassignment and modification
11 Get started with linked lists
12 Warming up to – they get tricky quickly
13 Cruising along – linked lists are fun aren’t they
14 Autopilot – linked lists are easy after all
15 Do not overlook the doubly linked list
16 Bit Manipulation – I
17 Bit Manipulation – II
18 Useful Bit Manipulation Techniques
19 Get And Set The Nth Bit
20 Print And Count Bits
21 Reverse The Bits In An Integer
22 Starting up – palindromes and points within a distance
23 Play the Game Of Life and Break A Document Into Chunks
24 Run Length Encoding And Adding Numbers Digit By Digit
25 Sudoku Board Validation and Incrementing A Number In Another Number System
26 Performance and Complexity
27 Big O Notation
28 Big O Notation More Examples
29 Sorting Trade-Offs
30 Selection Sort
31 Bubble Sort
32 Insertion Sort
33 Shell Sort
34 Merge Sort
35 Quick Sort
36 Binary Search – search quickly through a sorted list
37 What is recursion – why is it so hard
38 Binary search – implemented recursively
39 Find all subsets of a set
40 Check whether 2 binary trees are the same
41 Implement paint fill to color a region on screen
42 Build A car Given Tasks And Dependencies
43 Generate Anagrams Of A Word
44 Help A Rat Find It’s Way Through a Maze
45 Place 8 Queens On A Board Safely
46 Meet The Stack – Simple But Powerful
47 Building A Stack Using Java
48 Match Parenthesis To Check A Well Formed Expression
49 Find The Minimum Element In A Stack In Constant Time
50 Meet The Queue – A Familiar Sight In Everyday Life
51 The Circular Queue – Tricky But Fast
52 Build A Queue With Two Stacks
53 Meet The Binary Tree – A Hierarchical Data Structure
54 Breadth First Traversal
55 Depth First – Pre-Order Traversal
56 Depth First – In-Order and Post-Order Traversal
57 The Binary Search Tree – an introduction
58 Insertion and Lookup in a Binary Search Tree
59 Minimum Value, Maximum Depth And Mirror
60 Count Trees, Print Range and Is BST
61 Has Path Sum, Print Paths, Least Common Ancestor
62 The Heap Is Just The Best Way to Implement a Priority Queue
63 Meet The Binary Heap – It’s A Tree At Heart
64 The Binary Heap – Logically A Tree Really An Array
65 The Binary Heap – Making It Real With Code
66 Heapify!
67 Insert And Remove From A Heap
68 Heap Sort Phase I – Heapify
69 Heap Sort Phase II – The Actual Sort
70 Maximum Element In A Minimum Heap and K Largest Elements In A Stream
71 Merge K Sorted Lists Into One Sorted List Using A Heap
72 Find The Median In A Stream Of Elements
73 Introducing The Graph
74 Types Of Graphs
75 The Directed And Undirected Graph
76 Representing A Graph In Code
77 Graph Using An Adjacency Matrix
78 Graph Using An Adjacency List And Adjacency Set
79 Comparison Of Graph Representations
80 Graph Traversal – Depth First And Breadth First
81 Topological Sort In A Graph
82 Implementation Of Topological Sort
83 Design A Course Schedule Considering Pre-reqs For Courses