翻譯:瘋狂的技術宅
原文:https://www.indeed.com/hire/i...
本文首發微信公衆號:jingchengyideng
歡迎關注,每天都給你推送新鮮的前端技術文章
不管你是面試官還是求職者,裏面的思路都能讓你獲益匪淺。
單體應用和微服務架構之間有哪些主要區別,從靈活性和可擴展性的角度來看,哪個是更好選擇?
解析:
這個問題用來評估基礎編碼知識。答案可以有多種,所以應該注意傾聽具體的問題,並儘量全面回答,來展示自己對單體應用與微服務架構的理解。
面試官想知道些什麼:
- 求職者對編碼的熟悉程度
- 求職者對不同構建方法利弊的理解
- 是否具有從單體應用服務過渡到微服務的能力
參考答案:
設計單體架構在短期內成本較低,但代碼在內存是單一的內聚單元。微服務架構提供了靈活性和可擴展性,因爲每個組件都是一個獨立的程序。
同步和異步編程有什麼區別,異步編程與你的 JavaScript 工作有什麼關係?
解析:
異步編程允許多個併發操作,並且它非常適合 JavaScript 程序。這個問題評用來估求職者的編碼知識,以及對 JavaScript 的具體理解。
面試官想知道些什麼:
- 能夠清晰地表達同步和異步編程之間的差異
- 異步編程對用戶界面的影響
- 瞭解阻塞以及對性能的影響
參考答案:
簡單來說,同步編程意味着代碼以線性方式執行。這些程序通常不能同時處理多個操作。使用異步編程,有一個事件循環。一個程序線程可以處理多個操作。由於 JavaScript 通常用於用戶界面,因此同時運行多個操作的能力可以帶來更好的用戶體驗。
你是否在 JavaScript 中使用過類繼承和原型繼承?爲什麼?
解析:
這個問題有助於瞭解求職者是否具有 JavaScript 經驗和專業知識。原型繼承比類繼承更容易、更靈活,這是判斷一個有經驗的 JavaScript 程序員的首選方法。
面試官想知道些什麼:
- 是否偏愛原型繼承和組合
- 具有闡明這種偏好的原因的能力
- 函數繼承,原型鏈繼承,原型委託和對象組合
參考答案:
當使用類繼承時,實例繼承自類,這會產生分層。而通過原型繼承,實例繼承自其他對象,並且可以從多個對象創建。我更喜歡原型繼承,因爲它更簡單、更靈活。
在你看來,類繼承是否是正確的選擇?如果是的話,是在什麼情況下?如果不是,爲什麼?
解析:
求職者的答案能讓面試官深入瞭解他們使用 JavaScript 的經歷。類繼承有意義的情況很少,求職者可能會說根本沒有。 否定的答案優於對適當情況冗長的描述,因爲這些通常是基於錯誤信息的。
面試官想知道些什麼:
- 類繼承永遠或幾乎從來都不是正確的選擇
- 求職者能否闡明其回覆的原因
- 求職者有能力用邏輯來捍衛他們的結論
參考答案:
類繼承幾乎從來都不是正確的解決方案。只有在極少數情況下,它可能被用到。
你如何定義函數式編程?函數式編程在 JavaScript 中的作用是什麼?
解析:
函數式編程是目前 JavaScript 使用的基本原則。求職者是否能夠完整的回答這個問題,可以證明他們的基礎知識是否紮實。
面試官想知道些什麼:
- 提及純函數和避免副作用
- 能夠提供函數式編程語言的示例
- 能夠認同 JavaScript 的函數式編程,並具有使用它們的能力
參考答案:
函數式編程允許通過使用純函數來設計軟件。此方法避免了很多編程問題,如共享狀態,副作用和可變數據。它作爲面向對象編程的替代方案,其中應用狀態通常與對象中的方法搭配並共享。
使用函數式編程方法而不是面向對象編程有什麼好處?你能提供一個例子嗎?
解析:
任何具有 JavaScript 經驗的求職者都會使用其中一種風格,因此應該能夠對每種風格的優缺點提出一些看法。這個問題可以幫助面試官衡量求職者使用 JavaScript 的深度。
面試官想知道些什麼:
- 能夠闡明任何一種方法的優缺點
- 提及共享資源導致的問題
- 瞭解函數式編程如何簡化應用程序
參考答案:
雖然我主要使用面向對象編程方式,但是我更希望用函數式編程開發。在用面向對象編程時遇到不同的組件競爭相同的資源的時候,更是如此。
你如何定義單向數據流和雙向數據綁定?兩者有什麼區別?
解析:
這個問題能夠說明求職者對 JavaScript 重要基本原則的深刻理解。不熟悉這些條款的求職者可能沒有該職位所需的經驗。
面試官想知道些什麼:
- 能夠清晰、簡潔的定義這兩個概念
- 能夠闡明兩個概念之間的差異
- 提及相關的框架
參考答案:
當模型是單一事實來源時,會發生單向數據流,React 就是一個例子。雙向數據綁定是用戶界面與模型數據動態鏈接的狀態。如果用戶界面中的字段發生了變化,模型也會發生變化,比如 Angular。
歡迎繼續閱讀本專欄其它高贊文章:
- 12個令人驚歎的CSS實驗項目
- 世界頂級公司的前端面試都問些什麼
- CSS Flexbox 可視化手冊
- 過節很無聊?還是用 JavaScript 寫一個腦力小遊戲吧!
- 從設計者的角度看 React
- CSS粘性定位是怎樣工作的
- 一步步教你用HTML5 SVG實現動畫效果
- 程序員30歲前月薪達不到30K,該何去何從
- 第三方CSS安全嗎?
- 談談super(props) 的重要性
本文首發微信公衆號:jingchengyideng
歡迎掃描二維碼關注公衆號,每天都給你推送新鮮的前端技術文章