摘要:在創(chuàng)業(yè)初期,你招來的工程師必須是能夠獨當一面的大神隊友。要評估一個應聘者的真實水準,最佳方式就是結(jié)對編程。用微博的抓取消息并顯示在時間線上,就是個很好的考察應聘者的面試項目。不過結(jié)對編程再好使,也沒辦法讓你完全了解一個應聘者。
原文鏈接:10 Interview Questions Every JavaScript Developer Should Know
對大部分公司來說,招聘技術人員這種事情,管理層就應該放手交給技術團隊,只有他們才能夠準確地判斷應聘者的技術實力。如果你恰巧是應聘者,你也是遲早都要去面試的。不管你是哪邊的,都讓大哥來教你幾招。
大兄弟們,要收藏,也要點贊吶。以人為本
在 How to Build a High Velocity Development Team 一文中,我提出了一些觀點,我覺得這些觀點很重要,所以在這里再重復一遍:
優(yōu)秀的團隊才是決定公司業(yè)績的關鍵,一家公司要想于逆境之中仍能有所建樹,最重要的就是得先培養(yǎng)出一只優(yōu)秀的團隊。
就像 Marcus Lemonis 說的,有三點(3 個 P)最重要:
員工(People),流程(Process),產(chǎn)品(Product)。
在創(chuàng)業(yè)初期,你招來的工程師必須是能夠獨當一面的大神隊友。他最好能夠幫著招聘工程師,能指導其它工程師,還能幫初級和中級工程師解決各種問題。這樣優(yōu)秀的隊友,無論何時都多多益善。
要想知道面試應聘者時,有哪些常見的注意事項,可以讀讀 Why Hiring is So Hard in Tech 這篇文章。
要評估一個應聘者的真實水準,最佳方式就是結(jié)對編程(pair programming)。
和應聘者結(jié)對編程,一切都聽應聘者的。多觀察、多聆聽,看看應聘者是個怎樣的人。用微博的 API 抓取消息并顯示在時間線上,就是個很好的考察應聘者的面試項目。
不過結(jié)對編程再好使,也沒辦法讓你完全了解一個應聘者。這個時候,面試也能幫上很多忙——但是千萬別浪費時間去問一些語法(syntax)或者語言上的細節(jié)(language quirks)——問些高端的問題吧,大兄弟。問問項目架構(architecture),編程范式(paradigms),這個層面上的判斷(the big desicions)能夠在很大程度上影響一個項目的成敗。
語法和語言特性(features)這種小知識,Google 一搜一大把,誰都會。而工程師在工作中所積累的軟件工程方面的經(jīng)驗,以及個人常用的編程范式及代碼風格(idioms),這些可都是很難 Google 到的寶貴財富。
JavaScript 很獨特,它在各種大型項目中都起著至關重要的作用。那是什么讓 JavaScript 如此與眾不同?
下面幾個問題,也許能幫你一探究竟。
1. 能說出來兩種對于 JavaScript 工程師很重要的編程范式么?JavaScript 是一門多范式(multi-paradigm)的編程語言,它既支持命令式(imperative)/面向過程(procedural)編程,也支持面向?qū)ο缶幊蹋∣OP,Object-Oriented Programming),還支持函數(shù)式編程(functional programming)。JavaScript 所支持的面向?qū)ο缶幊贪?strong>原型繼承(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ù)學函數(shù)組合起來,并且避免了狀態(tài)共享(shared state)及可變數(shù)據(jù)(mutable data),由此而產(chǎn)生的編程語言。發(fā)明于 1958 年的 Lisp 就是首批支持函數(shù)式編程的語言之一,而 λ 演算(lambda calculus)則可以說是孕育了這門語言。即使在今天,Lisp 這個家族的編程語言應用范圍依然很廣。
函數(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)由類繼承而來(類和實例的關系,可以類比為建筑圖紙和實際建筑
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/93926.html
摘要:所支持的面向?qū)ο缶幊贪ㄔ屠^承。發(fā)明于年的就是首批支持函數(shù)式編程的語言之一,而演算則可以說是孕育了這門語言。即使在今天,這個家族的編程語言應用范圍依然很廣。 1. 能說出來兩種對于 JavaScript 工程師很重要的編程范式么? JavaScript 是一門多范式(multi-paradigm)的編程語言,它既支持命令式(imperative)/面向過程(procedural)編程...
摘要:所支持的面向?qū)ο缶幊贪ㄔ屠^承。發(fā)明于年的就是首批支持函數(shù)式編程的語言之一,而演算則可以說是孕育了這門語言。即使在今天,這個家族的編程語言應用范圍依然很廣。 1. 能說出來兩種對于 JavaScript 工程師很重要的編程范式么? JavaScript 是一門多范式(multi-paradigm)的編程語言,它既支持命令式(imperative)/面向過程(procedural)編程...
摘要:所支持的面向?qū)ο缶幊贪ㄔ屠^承。發(fā)明于年的就是首批支持函數(shù)式編程的語言之一,而演算則可以說是孕育了這門語言。即使在今天,這個家族的編程語言應用范圍依然很廣。 1. 能說出來兩種對于 JavaScript 工程師很重要的編程范式么? JavaScript 是一門多范式(multi-paradigm)的編程語言,它既支持命令式(imperative)/面向過程(procedural)編程...
摘要:九安卓中如何取出日志信息把安卓系統(tǒng)日志信息實時導入到本地運行使用某個,實時獲取該的日志信息里面的返回信息接口自動化面試題一按你的理解,軟件接口是什么答就是指程序中具體負責在不同模塊之間傳輸或接受數(shù)據(jù)的并做處理的類或者函數(shù)。 ...
閱讀 3227·2021-11-25 09:43
閱讀 3221·2021-11-23 09:51
閱讀 3532·2019-08-30 13:08
閱讀 1585·2019-08-29 12:48
閱讀 3606·2019-08-29 12:26
閱讀 414·2019-08-28 18:16
閱讀 2578·2019-08-26 13:45
閱讀 2445·2019-08-26 12:15