小猿圈之2019年前端JavaScript面試題(二)

小猿圈前端講師今天繼續給你總結js面試題,前面一篇文章咱們已經有一片js基礎部分面試題,今天小猿圈web講師爲你講解js前端應用設計問題,一定要好好看哦,爲了能贏在其他人前面。



JavaScript前端應用設計問題




1.解釋單向數據流和雙向數據綁定。


Angular1.x基於雙向數據綁定,而React,Vue,Elm等基於單向數據流架構。


2.單向數據流架構在哪些方面適合MVC?


MVC擁有大約50年的悠久歷史,並已演變爲MVP,MVVM和MV*。兩者之間的相互關係是什麼?如果MVC是架構模式,那麼單向數據流是什麼?這些競爭模式是否能解決同樣的問題?


3.客戶端MVC與服務器端或經典MVC有何不同?


提示:經典MVC是適用於桌面應用程序的SmalltalkMVC。在Web應用中,至少有兩個不同的數據MVC週期。


4.使函數式編程與面向對象或命令式編程不同的關鍵因素是什麼?


提示:Currying(柯里化),point-free函數,partial函數應用,高階函數,純函數,獨立副作用,record類型(聯合,代數數據類型)等。


5.在JavaScript和前端的上下文中,函數式編程與響應式編程有什麼關係?


提示:沒有正確答案。但粗略地說,函數式編程是關於小型編碼,編寫純函數和響應式編程是大型編碼,即模塊之間的數據流,連接以FP風格編寫的組件。FRP–功能響應式編程(FunctionalReactiveProgramming)是另一個不同但相關的概念。


6.不可變數據結構(immutabledatastructures)解決了哪些問題?


不可變結構是否有任何性能影響?JS生態系統中哪些庫提供了不可變的數據結構?這些庫的優點和缺點是什麼?


提示:線程安全(我們真的需要在瀏覽器JavaScript中擔心嗎?),無副作用的函數,更好的狀態管理等。


7.大型應用程序是否應使用靜態類型?


1.如何比較TypeScript/Flow與Elm/ReasonML/PureScript等JS轉換語言?這些方法的優缺點是什麼?


2.選擇特定類型系統的主要標準應該是什麼?


3.什麼是類型推斷(typeinference)?


4.靜態類型語言和強類型語言有什麼區別?在這方面JavaScript的本質是什麼?


5.有你知道的弱類型但靜態類型的語言嗎?有你知道的動態類型但強類型的語言嗎?舉例一二。


提示:Structural與Nominal類型系統,類型穩健性,工具/生態系統支持,正確性超過方便。


8.JavaScript中有哪些傑出的模塊系統(modulesystems)?如何評價ES模塊系統。


列出在實現不同模塊系統之間互操作所涉及的一些複雜性問題(主要對ES模塊和CommonJS互操作感興趣)


9.HTTP/2將如何影響JavaScript應用程序打包?


列出HTTP/2與其上一個版本的基本區別。


10.FetchAPI相對於傳統的Ajax有哪些改進?


使用FetchAPI有那些缺點/難點嗎?

哪些是Ajax可以做的,而fetch不能做的?


11.討論與Promise相關的問題。


提示:及早求值(eagerevaluation),尷尬的取消機制,用then()方法僞裝map()和flatMap()等。



以上就是這次小猿圈HTML5講師給大家整理的2019年前端JavaScript面試題,大家做的怎麼樣呢,如果針對哪一部分感覺不足,可以去具體學習一下那部分內容,彌補自己的不足,做最充足的準備,小夥伴們加油!


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