September 9, 2017 (7y ago)

Những khái niệm Javascript bạn cần biết khi phỏng vấn

Tự học

Có hàng ngàn người đang học JavaScript và web development với hy vọng có được một công việc. Thường xuyên tự học những kiến thức hổng trong sự hiểu biết của con người về ngôn ngữ JavaScript.

Thật ngạc nhiên là cần ít ngôn ngữ để tạo ra các trang web phức tạp. Những người làm toàn bộ các trang web thường không nắm được các nguyên tắc cơ bản của Javascript.

Khá dễ dàng để tránh các chủ đề phức tạp và thực hiện các tính năng sử dụng các kỹ năng cơ bản. Cũng khá dễ để tạo ra một trang web bằng cách dựa vào Stack Overflow mà không hiểu code đang được copied.

Nếu bạn đang tìm kiếm để làm chủ phỏng vấn JavaScript, hãy vào đây Step Up Your JS: A Comprehensive Guide to Intermediate JavaScript

Phỏng vấn

Vấn đề là các câu hỏi kiểm tra sự hiểu biết của bạn về JS là chính xác là những công ty công nghệ yêu cầu trong các cuộc phỏng vấn của họ. Nó trở nên rất nhanh khi người ứng tuyển biết đủ để vượt qua, nhưng không có sự hiểu biết chắc chắn về ngôn ngữ này.

Đây là những khái niệm được hỏi thường xuyên trong cách cuộc phỏng vấn về phát triển web. Điều này giả định bạn đã biết những điều cơ bản như loops, functions, và callbacks.

Khái niệm

  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 lets us do, such as 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 a function, 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. Understand how the object generated by using new inherits from the function’s prototype property.
  7. apply, call, bind  — 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 correctly implement 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.

Tài nguyên khác

Nếu các link trên chưa đủ, có vô số tài nguyên trên mạng để giúp bạn tìm hiểu những khái niệm này.

Cá nhân tôi đã tạo Step Up Your JS: A Comprehensive Guide to Intermediate JavaScript để giúp các dev nâng cao kiến thức của họ. Nó bao gồm các khái niệm này và nhiều hơn nữa.

Đây là những resources Tôi đã đọc hoặc xem ít nhất và có thể gợi ý cho bạn:

Chúc may mắn trong cuộc phỏng vấn của bạn.

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