溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

常見的前端開發(fā):Javascript 面試題及回答策略

發(fā)布時間:2020-08-12 00:32:54 來源:ITPUB博客 閱讀:210 作者:智云編程 欄目:web開發(fā)

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

單體應(yīng)用和微服務(wù)架構(gòu)之間有哪些主要區(qū)別,從靈活性和可擴展性的角度來看,哪個是更好選擇?

解析:

這個問題用來評估基礎(chǔ)編碼知識。答案可以有多種,所以應(yīng)該注意傾聽具體的問題,并盡量全面回答,來展示自己對單體應(yīng)用與微服務(wù)架構(gòu)的理解。

面試官想知道些什么:
  • 求職者對編碼的熟悉程度

  • 求職者對不同構(gòu)建方法利弊的理解

  • 是否具有從單體應(yīng)用服務(wù)過渡到微服務(wù)的能力

參考答案:

設(shè)計單體架構(gòu)在短期內(nèi)成本較低,但代碼在內(nèi)存是單一的內(nèi)聚單元。微服務(wù)架構(gòu)提供了靈活性和可擴展性,因為每個組件都是一個獨立的程序。

同步和異步編程有什么區(qū)別,異步編程與你的 JavaScript 工作有什么關(guān)系?

解析:

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

面試官想知道些什么:
  • 能夠清晰地表達(dá)同步和異步編程之間的差異

  • 異步編程對用戶界面的影響

  • 了解阻塞以及對性能的影響

參考答案:

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

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

解析:

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

面試官想知道些什么:
  • 是否偏愛原型繼承和組合

  • 具有闡明這種偏好的原因的能力

  • 函數(shù)繼承,原型鏈繼承,原型委托和對象組合

參考答案:

當(dāng)使用類繼承時,實例繼承自類,這會產(chǎn)生分層。而通過原型繼承,實例繼承自其他對象,并且可以從多個對象創(chuàng)建。我更喜歡原型繼承,因為它更簡單、更靈活。

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

解析:

求職者的答案能讓面試官深入了解他們使用 JavaScript 的經(jīng)歷。類繼承有意義的情況很少,求職者可能會說根本沒有。 否定的答案優(yōu)于對適當(dāng)情況冗長的描述,因為這些通常是基于錯誤信息的。

面試官想知道些什么:
  • 類繼承永遠(yuǎn)或幾乎從來都不是正確的選擇

  • 求職者能否闡明其回復(fù)的原因

  • 求職者有能力用邏輯來捍衛(wèi)他們的結(jié)論

參考答案:

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

你如何定義函數(shù)式編程?函數(shù)式編程在 JavaScript 中的作用是什么?

解析:

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

面試官想知道些什么:
  • 提及純函數(shù)和避免副作用

  • 能夠提供函數(shù)式編程語言的示例

  • 能夠認(rèn)同 JavaScript 的函數(shù)式編程,并具有使用它們的能力

參考答案:

函數(shù)式編程允許通過使用純函數(shù)來設(shè)計軟件。此方法避免了很多編程問題,如共享狀態(tài),副作用和可變數(shù)據(jù)。它作為面向?qū)ο缶幊痰奶娲桨?,其中?yīng)用狀態(tài)通常與對象中的方法搭配并共享。

使用函數(shù)式編程方法而不是面向?qū)ο缶幊逃惺裁春锰??你能提供一個例子嗎?

解析:

任何具有 JavaScript 經(jīng)驗的求職者都會使用其中一種風(fēng)格,因此應(yīng)該能夠?qū)γ糠N風(fēng)格的優(yōu)缺點提出一些看法。這個問題可以幫助面試官衡量求職者使用 JavaScript 的深度。

面試官想知道些什么:
  • 能夠闡明任何一種方法的優(yōu)缺點

  • 提及共享資源導(dǎo)致的問題

  • 了解函數(shù)式編程如何簡化應(yīng)用程序

參考答案:

雖然我主要使用面向?qū)ο缶幊谭绞剑俏腋M煤瘮?shù)式編程開發(fā)。在用面向?qū)ο缶幊虝r遇到不同的組件競爭相同的資源的時候,更是如此。

你如何定義單向數(shù)據(jù)流和雙向數(shù)據(jù)綁定?兩者有什么區(qū)別?

解析:

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

面試官想知道些什么:
  • 能夠清晰、簡潔的定義這兩個概念

  • 能夠闡明兩個概念之間的差異

  • 提及相關(guān)的框架

參考答案:

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

希望本文對你有所幫助,自己是14年轉(zhuǎn)行做的開發(fā),有句話叫做“方法不對,努力白費”所有的前端大神都有自己的學(xué)習(xí)方法,而學(xué)web前端的學(xué)習(xí)也基本一致,而對于一個什么都不懂的初學(xué)者,根本不會知道該怎么學(xué),這也是造成失敗的最直接原因。所以學(xué)web前端一定要有人指點。如果你處在迷茫期,找不到方向??梢约尤胛覀兊那岸藢W(xué)習(xí)秋秋qun: 767273102 。有任何不明白的東西隨時來問我。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI