7個 Javascript 面試題及回答策略

翻譯:瘋狂的技術宅
原文: https://www.indeed.com/hire/i...

本文首發微信公衆號:jingchengyideng
歡迎關注,天天都給你推送新鮮的前端技術文章javascript


無論你是面試官仍是求職者,裏面的思路都能讓你獲益匪淺。前端

單體應用和微服務架構之間有哪些主要區別,從靈活性和可擴展性的角度來看,哪一個是更好選擇?

解析:

這個問題用來評估基礎編碼知識。答案能夠有多種,因此應該注意傾聽具體的問題,並儘可能全面回答,來展現本身對單體應用與微服務架構的理解。java

面試官想知道些什麼:

  • 求職者對編碼的熟悉程度
  • 求職者對不一樣構建方法利弊的理解
  • 是否具備從單體應用服務過渡到微服務的能力

參考答案:

設計單體架構在短時間內成本較低,但代碼在內存是單一的內聚單元。微服務架構提供了靈活性和可擴展性,由於每一個組件都是一個獨立的程序。程序員

同步和異步編程有什麼區別,異步編程與你的 JavaScript 工做有什麼關係?

解析:

異步編程容許多個併發操做,而且它很是適合 JavaScript 程序。這個問題評用來估求職者的編碼知識,以及對 JavaScript 的具體理解。面試

面試官想知道些什麼:

  • 可以清晰地表達同步和異步編程之間的差別
  • 異步編程對用戶界面的影響
  • 瞭解阻塞以及對性能的影響

參考答案:

簡單來講,同步編程意味着代碼以線性方式執行。這些程序一般不能同時處理多個操做。使用異步編程,有一個事件循環。一個程序線程能夠處理多個操做。因爲 JavaScript 一般用於用戶界面,所以同時運行多個操做的能力能夠帶來更好的用戶體驗。編程

你是否在 JavaScript 中使用過類繼承和原型繼承?爲何?

解析:

這個問題有助於瞭解求職者是否具備 JavaScript 經驗和專業知識。原型繼承比類繼承更容易、更靈活,這是判斷一個有經驗的 JavaScript 程序員的首選方法。segmentfault

面試官想知道些什麼:

  • 是否偏心原型繼承和組合
  • 具備闡明這種偏好的緣由的能力
  • 函數繼承,原型鏈繼承,原型委託和對象組合

參考答案:

當使用類繼承時,實例繼承自類,這會產生分層。而經過原型繼承,實例繼承自其餘對象,而且能夠從多個對象建立。我更喜歡原型繼承,由於它更簡單、更靈活。微信

在你看來,類繼承是不是正確的選擇?若是是的話,是在什麼狀況下?若是不是,爲何?

解析:

求職者的答案能讓面試官深刻了解他們使用 JavaScript 的經歷。類繼承有意義的狀況不多,求職者可能會說根本沒有。 否認的答案優於對適當狀況冗長的描述,由於這些一般是基於錯誤信息的。架構

面試官想知道些什麼:

  • 類繼承永遠或幾乎歷來都不是正確的選擇
  • 求職者可否闡明其回覆的緣由
  • 求職者有能力用邏輯來捍衛他們的結論

參考答案:

類繼承幾乎歷來都不是正確的解決方案。只有在極少數狀況下,它可能被用到。併發

你如何定義函數式編程?函數式編程在 JavaScript 中的做用是什麼?

解析:

函數式編程是目前 JavaScript 使用的基本原則。求職者是否可以完整的回答這個問題,能夠證實他們的基礎知識是否紮實。

面試官想知道些什麼:

  • 說起純函數和避免反作用
  • 可以提供函數式編程語言的示例
  • 可以認同 JavaScript 的函數式編程,並具備使用它們的能力

參考答案:

函數式編程容許經過使用純函數來設計軟件。此方法避免了不少編程問題,如共享狀態,反作用和可變數據。它做爲面向對象編程的替代方案,其中應用狀態一般與對象中的方法搭配並共享。

使用函數式編程方法而不是面向對象編程有什麼好處?你能提供一個例子嗎?

解析:

任何具備 JavaScript 經驗的求職者都會使用其中一種風格,所以應該可以對每種風格的優缺點提出一些見解。這個問題能夠幫助面試官衡量求職者使用 JavaScript 的深度。

面試官想知道些什麼:

  • 可以闡明任何一種方法的優缺點
  • 說起共享資源致使的問題
  • 瞭解函數式編程如何簡化應用程序

參考答案:

雖然我主要使用面向對象編程方式,可是我更但願用函數式編程開發。在用面向對象編程時遇到不一樣的組件競爭相同的資源的時候,更是如此。

你如何定義單向數據流和雙向數據綁定?二者有什麼區別?

解析:

這個問題可以說明求職者對 JavaScript 重要基本原則的深入理解。不熟悉這些條款的求職者可能沒有該職位所需的經驗。

面試官想知道些什麼:

  • 可以清晰、簡潔的定義這兩個概念
  • 可以闡明兩個概念之間的差別
  • 說起相關的框架

參考答案:

當模型是單一事實來源時,會發生單向數據流,React 就是一個例子。雙向數據綁定是用戶界面與模型數據動態連接的狀態。若是用戶界面中的字段發生了變化,模型也會發生變化,好比 Angular。


歡迎繼續閱讀本專欄其它高贊文章:


本文首發微信公衆號:jingchengyideng

歡迎掃描二維碼關注公衆號,天天都給你推送新鮮的前端技術文章

歡迎掃描二維碼關注公衆號,天天都給你推送新鮮的前端技術文章

相關文章
相關標籤/搜索