小猿圈前端講師今天繼續給你總結js面試題,前面一篇文章我們已經有一片js基礎部分面試題,今天小猿圈web講師爲你講解js前端應用設計問題,必定要好好看哦,爲了能贏在其餘人前面。前端
JavaScript前端應用設計問題web
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面試題,你們作的怎麼樣呢,若是針對哪一部分感受不足,能夠去小猿圈具體學習一下那部份內容,彌補本身的不足,作最充足的準備,小夥伴們加油!