隨著互聯(lián)網(wǎng)迅速發(fā)展惊科,java拍摇、python、linux馆截、html5前端都是現(xiàn)在比較火爆的行業(yè)之一充活,而學(xué)習(xí)html5前端的同學(xué)也是最多的蜂莉,因?yàn)楹唵巍⒁咨鲜只炻眩缓芏嗳讼矚g映穗,但是js對他們來說就相對復(fù)雜點(diǎn),經(jīng)調(diào)查面試中幕随,很多朋友會(huì)因?yàn)閔tml5中的js問題被刷下來很多蚁滋,接下來的幾天小猿圈前端講師就會(huì)為你分享幾個(gè)前端js面試題,希望對你的面試有一定的幫助赘淮。
JavaScript的ES2015改變了一切辕录。ES2015規(guī)范帶來了很多重大特性。modules(模塊)的原生支持梢卸,以及不斷發(fā)展的函數(shù)式編程模式走诞,新的JavaScript感覺上完全是一種不同的語言。
然而低剔,在面試或聘用前端開發(fā)人員時(shí)速梗,期望,現(xiàn)實(shí)和需求之間存在巨大差距襟齿。
在2018年底,我們?nèi)匀豢吹酱蠖鄶?shù)面試者被問到AJAX時(shí)枕赵,面試者依然在jQuery語境中回答問題猜欺。這種差距還有很多典型的例子:
CSSGrid和Flexbox布局已經(jīng)得到了廣泛支持。然而拷窜,CSS面試時(shí)仍然集中在多列浮動(dòng)布局和行內(nèi)塊級元素居中开皿。他們依然對Bootstrap或Foundation網(wǎng)格系統(tǒng)有著永不消亡的熱情。
模塊打包器現(xiàn)在幾乎是大規(guī)模應(yīng)用程序的標(biāo)配篮昧。然而赋荆,當(dāng)談到架構(gòu)時(shí),我們談?wù)摰挠质莔inification和concatenation懊昨。在訪面試中我們真正討論過多少次Webpack窄潭?
緩存討論仍局限于Cachecontrolheaders和CDN。像IndexDB酵颁,HTTP/2或ServiceWorkers這樣的東西只是路過嫉你。
這種例子不勝枚舉,面試評估與工作實(shí)際需求之間的差距顯而易見躏惋。一方面幽污,我們的前端技術(shù)實(shí)現(xiàn)取得了跨越式發(fā)展,另一方面簿姨,新的開發(fā)方式還沒有形成大的社區(qū)距误。社區(qū)分裂永遠(yuǎn)不是好兆頭。這是一條災(zāi)難之路。差距總是會(huì)創(chuàng)造出一種新的東西准潭,它有能力摧毀我們迄今為止所建造的一切攘乒。
面試是催生變革和匯聚人才的好方式。作為面試官的你惋鹅,如果僅僅把面試當(dāng)成面試则酝,那么它只會(huì)讓你自我膨脹。
要使一場面試成功闰集,必須進(jìn)行討論沽讹。它必須是一個(gè)交換思想的地方。它應(yīng)該挑起人們思考并客觀地分析給定的問題武鲁。它是理解人們做出的決策過程爽雄,也是了解一個(gè)人對技術(shù)和解決問題的熱情,也意味著了解未來可能的同事沐鼠。所有那些難題挚瘟,技巧或typeofnull都無法稱得上真正面試。
以下是我們在面試討論中提出的一些問題清單饲梭。我們希望此清單可以幫助面試官和面試者在正確的背景下設(shè)定期望乘盖,需求和現(xiàn)實(shí)。
我們要先把自己當(dāng)成面試官憔涉。
JavaScript基礎(chǔ)問題
1订框、JavaScript中有哪些不同的數(shù)據(jù)類型?
提示:只有兩種類型–主要數(shù)據(jù)類型和引用類型(對象)兜叨。有6種主要類型穿扳。
2、使用JavaScriptProxy實(shí)現(xiàn)簡單的數(shù)據(jù)綁定
提示:ESProxy允許您攔截對任何對象屬性或方法的調(diào)用国旷。首先矛物,每當(dāng)更改底層綁定對象時(shí),都應(yīng)更新DOM跪但。
3履羞、解釋JavaScript并發(fā)模型
您是否熟悉Elixir,Clojure特漩,Java等其他編程語言中使用的任何其他并發(fā)模型吧雹?
提示:查找事件循環(huán),任務(wù)隊(duì)列涂身,調(diào)用棧雄卷,堆等。
4蛤售、new關(guān)鍵字在JavaScript中有什么作用丁鹉?
提示:在JavaScript中妒潭,new是用于實(shí)例化對象的運(yùn)算符。這里的目的是了解知識(shí)廣度和記憶情況揣钦。
另外雳灾,請注意[[Construct]]和[[Call]]。
5冯凹、JavaScript中有哪些不同的函數(shù)調(diào)用模式谎亩?詳細(xì)解釋。
提示:有四種模式宇姚,函數(shù)調(diào)用匈庭,方法調(diào)用,.call()和.apply()浑劳。
6阱持、解釋任一即將發(fā)布新的ECMAScript提案。
提示:比如2018的BigInt魔熏,partial函數(shù)衷咽,pipeline操作符等。
以上是小猿圈web前端講師為你分享的JavaScript基礎(chǔ)問題部分蒜绽,感覺這部分有不足的同學(xué)镶骗,可以來小猿圈看一下前端老師對這部分的詳細(xì)講解,彌補(bǔ)自己的不足滓窍,為面試做充足的準(zhǔn)備卖词,讓我們擼起袖子加油干吧。