Cracking the Coding Interview: Object Oriented Programming
0.0 (0 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4 students enrolled

Cracking the Coding Interview: Object Oriented Programming

Learn important JavaScript Object Oriented Programming (OOP) concepts you'll need for your next interview
New
0.0 (0 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4 students enrolled
Created by Packt Publishing
Last updated 6/2019
English
English [Auto-generated]
Current price: $10.99 Original price: $124.99 Discount: 91% off
2 days left at this price!
30-Day Money-Back Guarantee
This course includes
  • 3.5 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 3,500+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Learn the fundamentals of JavaScript Object-Oriented Programming
  • Discover the latest ES6 JavaScript features for Object-Oriented Programming
  • Practice writing some of the most common JavaScript algorithms during technical interviews
Course content
Expand all 31 lectures 03:32:58
+ JavaScript and Programming Paradigms
4 lectures 19:22

This video will give you an overview about the course.

Preview 02:33

Understanding paradigms that can be implemented with JavaScript.

   •  Learn what paradigm is

   •  Understand the mutability

   •  Analogy to real live constructs

Difference Between OOP and Functional Programming
04:31

Analyze object-oriented and functional code. Understand what pure function is.

   •  See examples of object-oriented and functional code

   •  Understand pure functions

   •  Task to be analyzed, if a function is pure

OOP and FP Real Word Examples
05:06

Understand concepts such as: abstraction, polymorphism, inheritance, and encapsulation.

   •  See the diagrams showing the concepts in Java

   •  See how it works in JavaScript

   •  Understand the difference of mechanics in JavaScript and OOP languages

Exploring the OOP Concepts
07:12
+ JavaScript and Object Creation
4 lectures 26:33

Understand 3 different types of functions: generic functions, lambdas, and classes.

   •  Understand the ‘function’ keyword

   •  Understand lambdas and classes

   •  See comparison of all the function types

Preview 04:24

Understand ‘new’ keywords: object literals, and object.create.

   •  Object literals and object.create

   •  Constructor function and class

   •  See the object manipulation

Object Creation
04:47

Using previous examples, see how the factory pattern can be implemented.

   •  Understand what a factory pattern is

   •  See the implementation in JS

   •  Go through more difficult examples

Factory Pattern
04:24

Understand that it is very difficult to determine the shape of the object.

   •  Show JS types

   •  Explain typeof and instanceof

   •  Show the problems when objects are changed

typeof versus instanceof, duck typing
12:58
+ Prototypal Inheritance
5 lectures 42:16

Understand what the scope and context is, what problems can scope cause, and how can we manipulate it.

   •  Explain the concept of scope

   •  Show how context can be changed

   •  Provide with more complex examples

Preview 10:20

In this video you will see how the prototype works and how to use it.

   •  Show how the mechanism of prototypes look like

   •  Explain where the methods lay

   •  Show some practical examples

Prototypal Chain
09:23

Audience will get an insight into the different techniques of manipulating the prototypes.

   •  Understand what __proto__ and Object.setPrototypeOf() is

   •  Show how the prototype can be manipulated

   •  Explain why prototype manipulation is a bad thing

__proto__ and Object.setPrototypeOf()
04:26

This video is about adding prototypes to constructor function instances.

   •  Show what a prototype property is

   •  Explain that it is a good technique to add methods to the prototype

   •  Show how multilevel inheritance looks like

Function Constructors and Prototypes
09:55

Explanation of how extending classes work.

   •  Show the simple example of extending one class with another

   •  Show the similarity with constructor functions

   •  Show the difference of calling the constructor function of the protype versus the constructor function of the class

ES6 Classes and Prototypes
08:12
+ Composition, Encapsulation, and Polymorphism
4 lectures 22:16

This video is about making private scopes with closures.

   •  Explain what a scope is

   •  Show the example of scope inheritance

   •  Create a module pattern and explain why it is useful

Closures and Module Pattern
07:35

The problem with private properties in classes introduced and methods of private properties emulation.

   •  Explain the problem of lacking private properties

   •  Show techniques of privacy emulation

   •  Show how the closure can be used

Encapsulation and Classes
06:32

Different kind of methods introduced - methods that belong to instances and classes themselves.

   •  Explain that there are different types of methods

   •  Mention that all kinds of methods are inherited

   •  Show how classes (their static properties) can be modified during runtime

Methods, Static Methods, and Polymorphism
04:19

We will be Introduced to composition patterns. It explains why composition is a better technique than inheritance.

   •  Explain the problem with inheritance

   •  Show the example of composition

   •  Show and explain the Dependency Injection

Composition Over Inheritance and Dependency Injection
03:50
+ Advanced Inheritance Patterns
4 lectures 22:34

Explain the mechanism of calling one constructor from another, while making an instance of an object.

   •  Recall methods of scope manipulation

   •  Show how one constructor can call another

   •  Compare this mechanism with extend keyword

Calling Constructor Functions (Constructor Composition Pattern)
06:15

Enumeration of different methods explained.

   •  Mention property descriptors

   •  Explain what it means when you say that a property isn’t enumerable

The Hidden Advantage of Class Methods
03:42

Introduction to mixin pattern.

   •  Show the flexibility of JS classes

   •  Explain that a prototype can be provided dynamically also

   •  Show how dynamic prototypes can be used

ES6 Class Mixins (Dynamic Inheritance)
04:39

Explain the mechanism of targeting the constructor that is called to make an instance.

   •  Explain new.target

   •  Explain what an abstract method is

   •  Show the abstract method pattern implemented in JS

new.target and Abstract Class Pattern
07:58
+ Cracking Down the Interview
3 lectures 30:57

Explain how to refactor the procedural code into OOP.

   •  Show the code in the procedural way

   •  Explain how it can be refactored into OOP

   •  Show more advanced examples

Thinking in an OOP Way
17:42

Sum up all the information that was covered during the course.

   •  Recall paradigms

   •  Recall OOP concepts

   •  Recall how it is implemented in JS

Sum Up
08:30

Make an introduction to more advanced concepts like Proxy, Reflect, and property descriptors.

   •  Explain briefly Proxy

   •  Explain briefly reflect

   •  Explain property descriptors

Further Knowledge (Proxy, Reflect, and Property Descriptor)
04:45
+ Coding Problems: Part One
4 lectures 21:37

We will look at problems related to user merger and solutions to it.

   •  Understand the problem

   •  Learn the solution

Problem Number One: User Merger
07:21

We will look at problems related to fix id and the solutions to it.

   •  Understand the problem

   •  Learn the solution

Problem Number Two: Fix ID
08:45

We will look at problems related to the revealing module pattern and solutions to it.

   •  Understand the problem

   •  Learn the solution

Problem Number Three: Revealing Module Pattern
01:58

We will look at problems related to simple class and solutions to it.

   •  Understand the problem

   •  Learn the solution

Problem Number Four: Simple Class
03:33
+ Coding Problems: Part Two
3 lectures 27:23

We will look at problems related to Products -constructors and solutions to it.

   •  Understand the problem

   •  Learn the solution

Problem Number One: Products – Constructors
09:47

We will look at problems related to Products - class and solutions to it.

   •  Understand the problem

   •  Learn the solution

Problem Number Two: Products – Class
05:07

We will look at problems related to Movies - constructors and solutions to it.

   •  Understand the problem

   •  Learn the solution

Problem Number Three: Movies
12:29
Requirements
  • A comprehensive course packed with step-by-step instructions on how to practice and prepare for a technical interview.
Description

Are you afraid of your interview and want to practice before the final day? This course will be a perfect guide for you and will help you nail questions in your coding interview related to the Object Oriented Programming (OOP) paradigm. We have adopted a language-agnostic approach for our course, with JavaScript as our main language.

This course sets out to provide developers with the necessary tools to ace their next interview by providing insights into advanced JavaScript concepts, using one of the best-known programming paradigms over the last 40 years in software development. This course will strengthen your foundations in that area and supply practical questions that will serve as a teaser for the kind of questions expected in a coding interview. You will learn how OOP has advantages which incorporate modularity and reusability.

After each section, you’ll have a task which will help you gain confidence in the OOP paradigm. By the end of the course, you will be confident enough to nail any questions on the OOP paradigm that can be asked during a technical interview.

About the Author

Grzegorz Marzencki is the founder of jstrainings. He is a JavaScript expert and an experienced trainer with many years' experience Grzegorz has conducted training and workshops all around the Globe for big corporations, startups, academic students, and even kids. He can explain the most difficult topic in a way that can be understood by the audience.

Who this course is for:
  • This course is designed for developers with at least 6 months' programming experience who need additional insights into, and knowledge of, advanced OOP concepts for successful interview preparation.