7個 Javascript 面試題及回答策略

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

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


不管你是面試官還是求職者,裏面的思路都能讓你獲益匪淺。

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

解析:

這個問題用來評估基礎編碼知識。答案可以有多種,所以應該注意傾聽具體的問題,並儘量全面回答,來展示自己對單體應用與微服務架構的理解。

面試官想知道些什麼:

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

參考答案:

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

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

解析:

異步編程允許多個併發操作,並且它非常適合 JavaScript 程序。這個問題評用來估求職者的編碼知識,以及對 JavaScript 的具體理解。

面試官想知道些什麼:

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

參考答案:

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

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

解析:

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

面試官想知道些什麼:

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

參考答案:

當使用類繼承時,實例繼承自類,這會產生分層。而通過原型繼承,實例繼承自其他對象,並且可以從多個對象創建。我更喜歡原型繼承,因爲它更簡單、更靈活。

在你看來,類繼承是否是正確的選擇?如果是的話,是在什麼情況下?如果不是,爲什麼?

解析:

求職者的答案能讓面試官深入瞭解他們使用 JavaScript 的經歷。類繼承有意義的情況很少,求職者可能會說根本沒有。 否定的答案優於對適當情況冗長的描述,因爲這些通常是基於錯誤信息的。

面試官想知道些什麼:

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

參考答案:

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

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

解析:

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

面試官想知道些什麼:

  • 提及純函數和避免副作用
  • 能夠提供函數式編程語言的示例
  • 能夠認同 JavaScript 的函數式編程,並具有使用它們的能力

參考答案:

函數式編程允許通過使用純函數來設計軟件。此方法避免了很多編程問題,如共享狀態,副作用和可變數據。它作爲面向對象編程的替代方案,其中應用狀態通常與對象中的方法搭配並共享。

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

解析:

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

面試官想知道些什麼:

  • 能夠闡明任何一種方法的優缺點
  • 提及共享資源導致的問題
  • 瞭解函數式編程如何簡化應用程序

參考答案:

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

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

解析:

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

面試官想知道些什麼:

  • 能夠清晰、簡潔的定義這兩個概念
  • 能夠闡明兩個概念之間的差異
  • 提及相關的框架

參考答案:

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


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


本文首發微信公衆號:jingchengyideng

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

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章