成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

每個 JavaScript 工程師都應(yīng)當知道的 10 個面試題

Gilbertat / 2343人閱讀

摘要:所支持的面向?qū)ο缶幊贪ㄔ屠^承。發(fā)明于年的就是首批支持函數(shù)式編程的語言之一,而演算則可以說是孕育了這門語言。即使在今天,這個家族的編程語言應(yīng)用范圍依然很廣。

1. 能說出來兩種對于 JavaScript 工程師很重要的編程范式么?

JavaScript 是一門多范式(multi-paradigm)的編程語言,它既支持命令式(imperative)/面向過程(procedural)編程,也支持面向?qū)ο缶幊蹋∣OP,Object-Oriented Programming),還支持函數(shù)式編程(functional programming)。JavaScript 所支持的面向?qū)ο缶幊贪ㄔ屠^承(prototypal inheritance)。

面試加分項

原型繼承(即:原型,OLOO——鏈接到其它對象的對象);
函數(shù)式編程(即:閉包(closure),一類函數(shù)(first class functions),lambda 函數(shù):箭頭函數(shù))。
面試減分項

連范式都不知道,更別提什么原型 OO(prototypal oo)或者函數(shù)式編程了。

深入了解

The Two Pillars of JavaScript Part 1:JS 兩大支柱之一:原型 OO
The Two Pillars of JavaScript Part 2:JS 兩大支柱之二:函數(shù)式編程


2. 什么是函數(shù)式編程?

函數(shù)式編程,是將數(shù)學(xué)函數(shù)組合起來,并且避免了狀態(tài)共享(shared state)及可變數(shù)據(jù)(mutable data),由此而產(chǎn)生的編程語言。發(fā)明于 1958 年的 Lisp 就是首批支持函數(shù)式編程的語言之一,而 λ 演算(lambda calculus)則可以說是孕育了這門語言。即使在今天,Lisp 這個家族的編程語言應(yīng)用范圍依然很廣。

函數(shù)式編程可是 JavaScript 語言中非常重要的一個概念(它可是 JavaScript 的兩大支柱之一)。ES5 規(guī)范中就增加了很多常用的函數(shù)式工具。

面試加分項

純函數(shù)(pure functions)/函數(shù)的純粹性(function purity)
知道如何避免副作用(side-effects)
簡單函數(shù)的組合
函數(shù)式編程語言:Lisp,ML,Haskell,Erlang,Clojure,Elm,F(xiàn)#,OCaml,等等
提到了 JavaScript 語言中支持函數(shù)式編程(FP)的特性:一類函數(shù),高階函數(shù)(higher order functions),作為參數(shù)(arguments)/值(values)的函數(shù)
面試減分項

沒有提到純函數(shù),以及如何避免副作用
沒有提供函數(shù)式編程語言的例子
沒有說是 JavaScript 中的哪些特性使得函數(shù)式編程得以實現(xiàn)
深入了解

The Two Pillars of JavaScript Part 2:JS 兩大支柱之二:函數(shù)式編程
The Dao of Immutability
Composing Software
The Haskell School of Music


3. 類繼承和原型繼承有什么區(qū)別?

類繼承(Class Inheritance):實例(instances)由類繼承而來(類和實例的關(guān)系,可以類比為建筑圖紙和實際建筑

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/52395.html

相關(guān)文章

  • JavaScript 程師應(yīng)當知道 10 面試

    摘要:所支持的面向?qū)ο缶幊贪ㄔ屠^承。發(fā)明于年的就是首批支持函數(shù)式編程的語言之一,而演算則可以說是孕育了這門語言。即使在今天,這個家族的編程語言應(yīng)用范圍依然很廣。 1. 能說出來兩種對于 JavaScript 工程師很重要的編程范式么? JavaScript 是一門多范式(multi-paradigm)的編程語言,它既支持命令式(imperative)/面向過程(procedural)編程...

    jone5679 評論0 收藏0
  • JavaScript 程師應(yīng)當知道 10 面試

    摘要:所支持的面向?qū)ο缶幊贪ㄔ屠^承。發(fā)明于年的就是首批支持函數(shù)式編程的語言之一,而演算則可以說是孕育了這門語言。即使在今天,這個家族的編程語言應(yīng)用范圍依然很廣。 1. 能說出來兩種對于 JavaScript 工程師很重要的編程范式么? JavaScript 是一門多范式(multi-paradigm)的編程語言,它既支持命令式(imperative)/面向過程(procedural)編程...

    YorkChen 評論0 收藏0
  • JavaScript 程師應(yīng)當知道 10 面試

    摘要:在創(chuàng)業(yè)初期,你招來的工程師必須是能夠獨當一面的大神隊友。要評估一個應(yīng)聘者的真實水準,最佳方式就是結(jié)對編程。用微博的抓取消息并顯示在時間線上,就是個很好的考察應(yīng)聘者的面試項目。不過結(jié)對編程再好使,也沒辦法讓你完全了解一個應(yīng)聘者。 原文鏈接:10 Interview Questions Every JavaScript Developer Should Know 對大部分公司來說,招聘技...

    weij 評論0 收藏0
  • 奮戰(zhàn)金九銀十?刷完這一套面試就夠了!自動化軟件測試程師跳槽漲薪秘籍!

    摘要:九安卓中如何取出日志信息把安卓系統(tǒng)日志信息實時導(dǎo)入到本地運行使用某個,實時獲取該的日志信息里面的返回信息接口自動化面試題一按你的理解,軟件接口是什么答就是指程序中具體負責(zé)在不同模塊之間傳輸或接受數(shù)據(jù)的并做處理的類或者函數(shù)。 ...

    Freelander 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<