網(wǎng)易前端開(kāi)發(fā)筆試題
第一部分:計(jì)算機(jī)科學(xué)基礎(chǔ)題
表示試卷發(fā)下來(lái),我就傻眼了,前面12道選擇題+3道填空題,屬于所有技術(shù)崗位都必須考的計(jì)算機(jī)專(zhuān)業(yè)基礎(chǔ)題。
由于我不是計(jì)算機(jī)專(zhuān)業(yè)的,不少計(jì)算機(jī)科學(xué)很理論化的知識(shí)的確是不了解,剛剛搜到CSDN 已經(jīng)有人放出了前面的一部分,自己也就先 COPY 過(guò)來(lái)吧,解析部分為自己整理,若出錯(cuò),請(qǐng)指正。
1.(2分)對(duì)于多關(guān)鍵字而言,那種文件組織方便而又高效()
A、順序文件 B、倒排文件 C、散列文件 D、B+樹(shù)索引文件
解析:答案 B。
文件在外存上的基本的組織方式有四種:順序組織,索引組織,散列組織和鏈組織;對(duì)應(yīng)的的文件名稱(chēng)分別為:順序文件、索引文件、散列文件和多關(guān)鍵字文件。選擇哪一種文件組織方式,取決于對(duì)文件中記錄的使用方式和頻繁程度、存取要求、外存的性質(zhì)和容量。
多關(guān)鍵字文件:包含有多個(gè)次關(guān)鍵字索引的文件稱(chēng)為多關(guān)鍵字文件。
倒排表的主要優(yōu)點(diǎn)是:在處理復(fù)雜的多關(guān)鍵字查詢(xún)時(shí),可在倒排表中先完成查詢(xún)的交、并等邏輯運(yùn)算,得到結(jié)果后再對(duì)記錄進(jìn)行存取。這樣不必對(duì)每個(gè)記錄隨機(jī)存取,把對(duì)記錄的查詢(xún)轉(zhuǎn)換為地址集合的運(yùn)算,從而提高查找速度。
2.(2分)以下哪些算法可用于遍歷網(wǎng)絡(luò)圖()
A、廣度優(yōu)先搜索 B、深度優(yōu)先搜索 C、線性規(guī)劃策略 D、決策樹(shù)
解析:答案 A、B。
3.(2分)我們使用一個(gè)6元組來(lái)表示6個(gè)節(jié)點(diǎn)的無(wú)向圖的頂點(diǎn)數(shù),請(qǐng)問(wèn)以下哪些6元組是可能的組合()
A、<1,2,3,4,5,6>
B、<2,4,4,2,3,5>
C、<1,3,4,2,2,1>
D、<1,2,2,4,5,2>
解析:
無(wú)向圖:一個(gè)無(wú)向圖(undirected graph)是一個(gè)二元組,其中:1.V是非空集合,稱(chēng)為頂點(diǎn)集。2.E是V中元素構(gòu)成的無(wú)序二元組的集合,稱(chēng)為邊集。
若一個(gè)圖中每條邊都是無(wú)方向的,則稱(chēng)為無(wú)向圖。
若G是無(wú)向圖,則0≤e≤n(n-1)/2
4.(2分)以下關(guān)于可計(jì)算性的說(shuō)法正確的是()
A、 所有問(wèn)題最終都可以抽象為一個(gè)計(jì)算模型,圖靈機(jī)可以在一個(gè)有限的時(shí)間(雖然可能會(huì)占用非常久的時(shí)間)內(nèi)完成計(jì)算:現(xiàn)代計(jì)算機(jī)的設(shè)計(jì)正是基于該理論。
B、 存在部分問(wèn)題,我們無(wú)法在有限時(shí)間內(nèi),給出解答:但是,所有問(wèn)題都可以在有限時(shí)間內(nèi)驗(yàn)證其解答的正確性。
C、 Godel(哥德?tīng)?第一定律指明不存在完備且相容的公理系統(tǒng)。
D、 以上說(shuō)法都不正確。
5.(2分)16進(jìn)制數(shù)值C396和8進(jìn)制數(shù)值64474的異或結(jié)果值(10進(jìn)制)為()
A、43690 B、16660 C、60350 D、20375
解析:
異或:Exclusive OR(異-或運(yùn)算、模2和),異或(xor)是一個(gè)數(shù)學(xué)運(yùn)算符。它應(yīng)用于邏輯運(yùn)算。異或符號(hào)為“^”。真異或假的結(jié)果是真,假異或真的結(jié)果也是真,真異或真的結(jié)果是假,假異或假的結(jié)果是假。就是說(shuō)兩個(gè)值不相同,則異或結(jié)果為真。反之,為假。 不同為1,相同為0.
若x是二進(jìn)制數(shù)0101,y是二進(jìn)制數(shù)1011,則x^y=1110。
只有在兩個(gè)比較的位不同時(shí)其結(jié)果是1,否則結(jié)果為0
即“相同為0,不同為1”!
6.(2分)以下經(jīng)典的問(wèn)題哪些屬于NP問(wèn)題()
A、圖靈停機(jī)問(wèn)題 B、排序 C、0,1背包問(wèn)題 D、枚舉有限集合的所有子集
7.(2分)存在以下字母串:AGDCCDDDGFBBFFGGDDDGGGEFFDDCCCDDDFGAAA現(xiàn)在需要對(duì)該串進(jìn)行Huffman編碼,那么字母F對(duì)應(yīng)bit值(二進(jìn)制格式為)()
A、10 B、11 C、110 D、101
解析:
//既然現(xiàn)在用電腦,就用 javascript 來(lái)解決一下如果數(shù)數(shù)的問(wèn)題
var temp='AGDCCDDDGFBBFFGGDDDGGGEFFDDCCCDDDFGAAA';
var count=temp.match(/F/g); // 搜索整個(gè)字符串匹配字母 F
console.log(temp.length); //字符總長(zhǎng)度為36
console.log(count.length);; //輸出的結(jié)果應(yīng)該是6
霍夫曼編碼:(Huffman Coding)是一種編碼方式,是一種用于無(wú)損數(shù)據(jù)壓縮的熵編碼(權(quán)編碼)算法,該方法完全依據(jù)字符出現(xiàn)概率來(lái)構(gòu)造異字頭的平均長(zhǎng)度最短的碼字,有時(shí)稱(chēng)之為最佳編碼。
HC 具體方法:先按出現(xiàn)的概率大小排隊(duì),把兩個(gè)最小的概率相加,作為新的概率 和剩余的'概率重新排隊(duì),再把最小的兩個(gè)概率相加,再重新排隊(duì),直到最后變成1。每次相 加時(shí)都將“0”和“1”賦與相加的兩個(gè)概率,讀出時(shí)由該符號(hào)開(kāi)始一直走到最后的“1”, 將路線上所遇到的“0”和“1”按最低位到最高位的順序排好,就是該符號(hào)的霍夫曼編碼。
9.(2分)進(jìn)程管理如果設(shè)計(jì)不當(dāng)將會(huì)導(dǎo)致“死鎖”的產(chǎn)生,對(duì)待死鎖,典型的銀行家算法屬于(1),而剝奪資源屬于(2)的方法。
A、(1)=死鎖預(yù)防,(2)=死鎖避免
B、(1)=死鎖預(yù)防,(2)=死鎖解除
C、(1)=死鎖避免,(2)=死鎖預(yù)防
D、(1)=死鎖避免,(2)=死鎖解除
解析:答案B
死鎖: 是指兩個(gè)或兩個(gè)以上的進(jìn)程在執(zhí)行過(guò)程中,因爭(zhēng)奪資源而造成的一種互相等待的現(xiàn)象,若無(wú)外力作用,它們都將無(wú)法推進(jìn)下去。
系統(tǒng)產(chǎn)生死鎖的四個(gè)必要條件:
1)互斥條件:指進(jìn)程對(duì)所分配到的資源進(jìn)行排它性使用,即在一段時(shí)間內(nèi)某資源只由一個(gè)進(jìn)程占用。如果此時(shí)還有其它進(jìn)程請(qǐng)求資源,則請(qǐng)求者只能等待,直至占有資源的進(jìn)程用畢釋放。
2)請(qǐng)求和保持條件:指進(jìn)程已經(jīng)保持至少一個(gè)資源,但又提出了新的資源請(qǐng)求,而該資源已被其它進(jìn)程占有,此時(shí)請(qǐng)求進(jìn)程阻塞,但又對(duì)自己已獲得的其它資源保持不放。
3)不剝奪條件:指進(jìn)程已獲得的資源,在未使用完之前,不能被剝奪,只能在使用完時(shí)由自己釋放。
4)環(huán)路等待條件:指在發(fā)生死鎖時(shí),必然存在一個(gè)進(jìn)程——資源的環(huán)形鏈,即進(jìn)程集合{P0,P1,P2,···,Pn}中的P0正在等待一個(gè)P1占用的資源;P1正在等待P2占用的資源,……,Pn正在等待已被P0占用的資源。
銀行家算法:我們可以把操作系統(tǒng)看作是銀行家,操作系統(tǒng)管理的資源相當(dāng)于銀行家管理的資金,進(jìn)程向操作系統(tǒng)請(qǐng)求分配資源相當(dāng)于用戶向銀行家貸款。操作系統(tǒng)按照銀行家制定的規(guī)則為進(jìn)程分配資源,當(dāng)進(jìn)程首次申請(qǐng)資源時(shí),要測(cè)試該進(jìn)程對(duì)資源的最大需求量,如果系統(tǒng)現(xiàn)存的資源可以滿足它的最大需求量則按當(dāng)前的申請(qǐng)量分配資源,否則就推遲分配。當(dāng)進(jìn)程在執(zhí)行中繼續(xù)申請(qǐng)資源時(shí),先測(cè)試該進(jìn)程已占用的資源數(shù)與本次申請(qǐng)的資源數(shù)之和是否超過(guò)了該進(jìn)程對(duì)資源的最大需求量。若超過(guò)則拒絕分配資源,若沒(méi)有超過(guò)則再測(cè)試系統(tǒng)現(xiàn)存的資源能否滿足該進(jìn)程尚需的最大資源量,若能滿足則按當(dāng)前的申請(qǐng)量分配資源,否則也要推遲分配。
10.(2分)關(guān)于數(shù)據(jù)庫(kù)索引,以下說(shuō)法正確的是()
A、針對(duì)某些字段建立索引,能夠有小減少相關(guān)數(shù)據(jù)庫(kù)表的磁盤(pán)空間占用;
B、針對(duì)某些字段建立索引,能夠有效的提升相關(guān)字段的讀與寫(xiě)的效率;
C、常見(jiàn)數(shù)據(jù)庫(kù)管理系統(tǒng),通常使用hash表來(lái)存儲(chǔ)索引;
D、數(shù)據(jù)庫(kù)索引的存在,可能導(dǎo)致相關(guān)字段刪除的效率降低;
第二部分:專(zhuān)業(yè)題(前端開(kāi)發(fā))
題型有1.不定項(xiàng)選擇題 12道,2.填空題 5道左右 3.簡(jiǎn)答題 4.編程題 5道左右,偏重考察 javascript,編程題要求手寫(xiě)代碼,其中包含 js 題目3道還是4道,一道給出三切換標(biāo)簽界面原型圖,要求手寫(xiě)html+css+javascript實(shí)現(xiàn)原型圖和交互效果。由于距離有一段時(shí)間了,詳細(xì)的題目記不清楚了。就回憶一下幾個(gè)知識(shí)點(diǎn)吧。
1.簡(jiǎn)答題:什么是閉包,閉包有什么用?請(qǐng)舉例說(shuō)明。
解析:Javascript中,函數(shù)內(nèi)部可以讀取全局變量,函數(shù)外部無(wú)法讀取函數(shù)內(nèi)部的局部變量。
function f1(){
var n=1024;
function f2(){
console.log(n)
}
return f2();
}
var foo =f1();
foo();
//以上函數(shù)f2()就是閉包
閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。
2.填空題:apply 和 call 的用法和區(qū)別。
解析:
兩者的作用都是將函數(shù)綁定倒另外一個(gè)對(duì)象上面去,兩者僅僅在定義參數(shù)方式有所區(qū)別。
來(lái)自 MDN 的解釋?zhuān)篘OTE: While the syntax of this function is almost identical to that of apply(), the fundamental difference is that call() accepts an argument list, while apply() accepts a single array of arguments.
apply(thisArg,argArray);
call(thisArg[,arg1,arg2…] ]);
3.bind 函數(shù)的兼容性
解析:
bind方法會(huì)創(chuàng)建一個(gè)新函數(shù),稱(chēng)為綁定函數(shù).當(dāng)調(diào)用這個(gè)綁定函數(shù)時(shí),綁定函數(shù)會(huì)以創(chuàng)建它時(shí)傳入bind方法的第一個(gè)參數(shù)作為this,傳入bind方法的第二個(gè)以及以后的參數(shù)加上綁定函數(shù)運(yùn)行時(shí)本身的參數(shù)按照順序作為原函數(shù)的參數(shù)來(lái)調(diào)用原函數(shù).
fun.bind(thisArg[, arg1[, arg2[, ...]]])
4.參考給出的原型圖和要求,手寫(xiě) html,css和 js。
【網(wǎng)易前端開(kāi)發(fā)筆試題】相關(guān)文章:
網(wǎng)易web前端開(kāi)發(fā)師面試問(wèn)答的經(jīng)歷11-13
精選網(wǎng)易筆試題09-02
如何面試Web前端開(kāi)發(fā)12-12
web前端開(kāi)發(fā)簡(jiǎn)歷范文08-23
網(wǎng)易游戲策劃筆試題09-07
前端開(kāi)發(fā)電子簡(jiǎn)歷模板11-12
前端開(kāi)發(fā)工程師待遇11-08
最新前端開(kāi)發(fā)筆試題(題目列表+答案 完整版)02-23
網(wǎng)易游戲策劃筆試題201504-15