+593 99 022 3684 dime@hassler.ec

Self-Learning

There are thousands of self-taught JavaScript programmers looking for web development positions. Unfortunately, self-learning often leaves gaps in people’s understanding of the language itself.

It’s surprising how little JavaScript one needs to make complex web pages. Often, people who can create entire sites lack knowledge of the language’s fundamentals.

It’s rather easy to avoid the complex topics and implement features using basic skills. It’s also easy to create a website by relying on Stack Overflow, without understanding the code being copied.

If you’re looking to improve your JavaScript interview skills, check outMaster the JavaScript Interview

Interviews

The problem is that questions testing your understanding of JS are exactly what many tech companies ask in their interviews. It’s clear when an applicant knows enough to scrape by, but lacks a solid grasp of the language.

Here are concepts that are frequently asked about in web development interviews. This is assuming you already know the basics such as loops, functions, and callbacks.

Concepts

  1. Value vs. Reference — Understand how objects, arrays, and functions are copied and passed into functions. Know that the reference is what’s being copied. Understand that primitives are copied and passed by copying the value.
  2. Scope — Understand the difference between global scope, function scope, and block scope. Understand which variables are available where. Know how the JavaScript engine performs variable lookup.
  3. Hoisting — Understand that variable and function declarations are hoisted to the top of their available scope. Understand that function expressions are not hoisted.
  4. Closures — Know that a function retains access to the scope that it was created in. Know what this enables us to do with our code. Understand that closures allow data hiding, memoization, and dynamic function generation.
  5. this — Know the rules of this binding. Know how it works, know how to figure out what it will be equal to in any piece of code, and know why it’s useful.
  6. new — Know how it relates to object oriented programming. Know what happens to a function called with new and why such a function is known as a constructor. Understand that an object generated by using newinherits from the function’s prototype property.
  7. applycallbind — Know how each of these functions work. Know how to use them. Know what they do to this.
  8. Prototypes & Inheritance — Understand that inheritance in JavaScript works through the [[Prototype]] chain. Understand how to set up inheritance through functions and objects and how new helps us implement it. Know what the __proto__ and prototype properties are and what they do.
  9. Asynchronous JS — Understand the event loop. Understand how the browser deals with user input, web requests, and events in general. Know how to recognize and write asynchronous code. Understand how JavaScript is both asynchronous and single-threaded.
  10. Higher Order Functions — Understand that functions are first-class objects in JavaScript and what that means. Know that returning a function from another function is perfectly legal. Understand the techniques that closures and higher order functions allow us to use.

More Resources

If the links included aren’t enough, there are countless resources out there to help you learn these concepts.

I personally created Step Up Your JS to help people get experience with these topics. It covers all of these concepts and more.

Here are other resources which I’ve read or watched at least some of and can recommend.

Good luck on your interviews.

 

SOURCE: https://codeburst.io/10-javascript-concepts-you-need-to-know-for-interviews-136df65ecce

 

Written by

Go to the profile of Arnav Aggarwal

Arnav Aggarwal

Full-Stack Developer

codeburst

codeburst

Bursts of code to power through your day. Web Development articles, tutorials, and news.

 

 

 

 

 

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar