1. 程式人生 > >JavaScript 面試必須知道的 10 個概念

JavaScript 面試必須知道的 10 個概念

自學

有成千上萬的人為了得到一份工作而學習 JavaScript 和 Web 開發。通常,自學的人對 JavaScript 語言的理解並不深刻。

令人驚訝的是,製作複雜的 Web 頁面所需的語言很少。獨立建設全站的人往往對 JavaScript 的基本原理不太瞭解。

我們可以很容易地避免複雜的問題,使用基本技能就可以實現一些效果。依靠 Stack Overflow 就可以很容易地建立一個網站而不需要理解複製的程式碼。

如果您想順利通過 JavaScript 面試,請看看這個教程 提高你的 JS 水平:中級 JavaScript 完整指南(https://www.educative.io/collection/5679346740101120/5707702298738688?authorName=Arnav%20Aggarwal)

面試

很多科技公司在面試中會考察你對 JS 的理解。一個知識豐富的求職者可以很快地回答這些問題,但是他對語言的理解並不深刻。

以下是 Web 開發面試中經常被問到的概念。理解這些概念的前提是你已經掌握了基本知識,比如迴圈,函式和回撥函式。
概念

數值型別 vs. 引用型別 —瞭解如何複製物件、陣列和函式以及如何將它們傳遞到函式中。知道引用型別複製的是什麼。瞭解原始值是通過複製值來複制及傳遞的。

作用域 —瞭解全域性作用域、函式作用域及塊作用域的不同。瞭解變數的作用範圍。知道 JavaScript 引擎如何查詢變數。

宣告提升 — 瞭解變數和函式宣告會被提升到可用範圍的頂部。瞭解函式表示式不會被提升。

閉包 — 知道函式內部建立的函式可以訪問該函式的作用域。知道這種方式允許我們做什麼,比如資料隱藏、記憶以及動態函式變換。

this — 知道 this 繫結的原則。知道它的工作原理,在函式中指代的內容以及為什麼有用。

new — 知道它與面向物件程式設計的關係。知道使用 new 呼叫的函式發生了什麼。瞭解使用 new 生成的物件是如何從函式的原型繼承的。

apply, call, bind — 知道每個函式是如何工作的。知道如何使用它們。知道它們對 this 做什麼。

原型 & 繼承 — 瞭解 JavaScript 的繼承是通過 [[Prototype]] 實現的。瞭解如何通過函式及物件建立繼承並通過 new 實現繼承。理解__proto__ 及 prototype 的屬性以及作用。

非同步 JS — 瞭解事件迴圈。理解瀏覽器如何處理一般的使用者輸入、網路請求以及事件。知道如何正確認識和實現非同步程式碼。瞭解 JavaScript 是非同步的和單執行緒的。

高階函式 — 瞭解 JavaScript 中的函式是第一類物件以及它的意義。知道從另一個函式返回函式是完全合法的。瞭解閉包及高階函式允許使用的技術。

更多資源

如果上面的連結不夠,那麼還有無數的資源可以幫助你學習這些概念。

以下是我看過而且值得推薦的一些資源。

You Don’t Know JS: https://github.com/getify/You-Dont-Know-JS

JavaScript is Sexy: http://javascriptissexy.com/16-javascript-concepts-you-must-know-well/

javascript.com

Frontend Masters: https://frontendmasters.com/

Eloquent JavaScript: http://eloquentjavascript.net/

相關推薦

JavaScript 面試必須知道10 概念

自學 有成千上萬的人為了得到一份工作而學習 JavaScript 和 Web 開發。通常,自學的人對 JavaScript 語言的理解並不深刻。 令人驚訝的是,製作複雜的 Web 頁面所需的語言很少。獨立建設全站的人往往對 JavaScript 的基本原理不

JavaScript】隨機生成100~100的數字

set 需要 false 不重復 meta col 包含 四舍五入 true 隨機生成10個0~100不重復的數字(包含0和100); 需要用到的知識點:隨機數          去重 下面放代碼 <!DOCTYPE html> <html>

java面試題---面試必須知道

java集合框架為Java程式語言的基礎,也是Java面試中很重要的一個知識點。這裡,我列出了一些關於Java集合的重要問題和答案。 1.Java集合框架是什麼?說出一些集合框架的優點?     每種程式語言中都有集合,最初的Ja

NUMA入門:那些必須知道的基礎概念

本文為閱讀NUMA Deep Dive的閱讀筆記。 更多詳細資訊請參考原文。 Concepts QPI QuickPath Interconnect SUMA Sufficiently Uniform Memory Architecture ACPI

JavaScript 非常重要的幾概念

直接 不返回 ber find tex csdn arr llb 第一個 avaScript是一門比較復雜的語言。如果你是一名JavaScript開發人員,不管處於什麽樣的水平,都有必要了解JavaScript的基本概念。小編最近的工作涉及到JavaScript,於是本文就

Java程式設計師面試必須知道10JavaScript的技術點

       很多科技公司在面試中會考察你對 JS 的理解。一個知識豐富的求職者可以很快地回答這些問題。以下是小編整理的 Web 開發面試中經常被問到的概念,理解這些概念的前提是你已經掌握了基本知識,比如迴圈,函式和回撥函式。   1.數值型別 vs. 引用型別 —瞭解如

【科普】你必須知道10SaaS相關的概念

今天我們就來為大家科普一下SaaS行業的幾大基本概念。 CRM 目前看來,CRM在SaaS行業佔有舉足輕重的地位,而根據IDC預測,到2018年,全球CRM SaaS軟體的市場規模將達198億美元,成為第一大SaaS軟體品類。那麼CRM究竟是什麼? CRM是英文

Node.js新手必須知道的4JavaScript概念

gem pack ref red ges bject 下一個 應用程序 view 如果只需要知道一種編程語言就可以構建一個全棧的應用程序,是不是特別了不起?Ryan Dahl為了把這個想法成為現實,創造了node.js。Node.js是建立在Chrome強勁的V8 Java

10HTML和CSS必須知道的重點難點問題

清除 針對 idt 問題: 需要 優先 mat hidden 隱身 前端日刊 登錄 10個HTML和CSS必須知道的重點難點問題 2018-02-26 閱讀 2982 收藏 6 原鏈:segmentfault.com 分享到: 前端

面試前你必須知道的三排序演算法

今天分享的是三種排序演算法,在面試、實際程式設計中經常會碰到和使用到的,我會帶領大家從分析排序演算法技巧上以及程式碼實現上全面理解這一知識點的掌握。 一、如何分析一個「排序演算法」 1. 執行效率 ① 最好、最壞、平均時間複雜度 在分析演算法的好壞時,要分別說出最好、最壞、平均時間複雜度的同時,也

設計師升職加薪必須知道10設計網站

設計行業經過幾年的發展,已經進入到了相對成熟的時期。這無疑會對設計師有更高的要求和挑戰。 隨著AI的發展,設計甚至從有形的設計,轉變為無形的設計。這就需要你對設計有更深刻的理解,理解設計的本質是溝通,設計源於人對美的追求,對好的體驗的追求,不然常常被人誤解。 但是但是,這

卷積神經網路必須知道的幾概念

1. 卷積(convolution):用它來進行特徵提取 用一個 3x3 的濾波器去掃描一個 5x5 的畫素矩陣,用濾波器中每一個元素與畫素矩陣中感受野內的元素進行乘積運算,可得到了一個 3x3 的輸出畫素矩陣,這個輸出的 3x3 畫素矩陣能夠較大程度的提取原始畫素矩陣

Java並發編程:什麽是線程安全,以及並發必須知道的幾概念

文章 線程 指令 imp 例子 參考 影響 網上 並發編程 廢話 眾所周知,在Java的知識體系中,並發編程是非常重要的一環,也是面試的必問題,一個好的Java程序員是必須對並發編程這塊有所了解的。為了追求成為一個好的Java程序員,我決定從今天開始死磕Java的並發編程,

Java併發程式設計:什麼是執行緒安全,以及併發必須知道的幾概念

廢話 眾所周知,在Java的知識體系中,併發程式設計是非常重要的一環,也是面試的必問題,一個好的Java程式設計師是必須對併發程式設計這塊有所瞭解的。為了追求成為一個好的Java程式設計師,我決定從今天開始死磕Java的併發程式設計,儘量彌補自己在這方面的知識缺陷。 併發必須知道的概念

Java程式設計師必須知道10除錯技巧

除錯可以幫助識別和解決應用程式缺陷,在本文中,將使用大家常用的的開發工具Eclipse來除錯Java應用程式。 但這裡介紹的除錯方法基本都是通用的,也適用於NetBeans IDE,我們會把重點放在執行時上面。 在本文中使用的是Eclipse Juno版(Eclipse 4.2),在開始前給

JavaScript 開發者都應該知道的十概念,你知道

自學 現在學習 JavaScript 和 Web 開發的人很多,他們都希望能憑此獲得一份工作。然而,自學常常會使學習者對 JavaScript 語言本身的理解存在知識盲點。 實際上,令人感到驚訝的是,他們只需要掌握很少的語言知識就能製作複雜的網頁,然而這樣通常不能很好掌握 JavaS

必須知道10Python第三庫

1. BeautifulSoup Beautiful Soup是一個可以從HTML,XML進行提取檔案的Python庫,日常我們使用爬蟲進行資料抓取回來之後,往往需要進行資料解析。 使用它能讓你開心愉快提取裡面的爬回來的資料。 本人對於Python學習建立了一個小小的學習圈子,為

關於內建函式sorted,你必須知道10知識點

sorted 用於對集合進行排序(這裡說的集合是對可迭代物件的一個統稱,他們可以是列表、字典、set、甚至是字串),它的功能非常強大,本文將深入淺出地介紹 sorted 的各種使用場景。 1、預設排序 1、預設情況,sorted 函式將按列表升序進行排序,並返回一個新列表物件,原列表保持不變

研究人臉識別技術必須知道的十基本概念

實驗室研究人臉技術多年,不僅在技術方面有很好的積累,而且在公司內外的業務中有眾多應用。在與產品、商務、工程開發同事交流過程中發現:不管是“從圖中找到人臉的位置”,或是“識別出這個人臉對應的身份”,亦或是其他,大家都會把這些不同的人臉技術統稱為“人臉識別技術”。 因此,整理

想要成功應聘Java高階開發工程師,8必須知道面試考綱

點選上方“程式設計師大咖”,選擇“置頂公眾號”關鍵時刻,第一時間送達!市面上,有很多Java的學