2017今日頭條前端筆試題(牛客網)


解析:   1.ul ol中只能嵌套licss

      2. a中不能再嵌套ahtml

      3.web

<dl>
<dt>標題</dt>
<dd>內容1</dd>
<dd>內容2</dd>
</dl>

 


 


解析:datalist規定輸入域的選項列表,經過option建立! keygen提供一種驗證用戶的可靠方法,密鑰對生成器,私鑰存於客戶端,公鑰發到服務器,用於以後驗證客戶端證書! output元素用於不一樣類型的輸出!算法



解析:編程

  • a) 置換元素:瀏覽器根據元素的標籤和屬性,來決定元素的具體顯示內容。 
    •   例如:瀏覽器會根據<img>標籤的src屬性的 值來讀取圖片信息並顯示出來,而若是查看(x)html代碼,則看不到圖片的實際內容;<input>標籤的type屬性來決定是顯示輸入 框,仍是單選按鈕等。 (x)html中 的<img>、<input>、<textarea>、<select>、<object> 都是置換元素。這些元素每每沒有實際的內容,便是一個空元素。
    •   置換元素在其顯示中生成了框,這也就是有的內聯元素可以設置寬高的緣由。
  • b) 不可替換元素:(x)html 的大多數元素是不可替換元素,即其內容直接表現給用戶端(如瀏覽器)。
    •   例如: <label>label中的內容</label> 標籤<label>是一個非置換元素,文字label中的內容」將全被顯示。

 


 

解析:segmentfault

  • background-attachment有三個值,scroll是默認值,背景圖像會隨着頁面其他部分的滾動而移動。   fixed當頁面的其他部分滾動時,背景圖像不會移動。   inherit規定應該從父元素繼承 background-attachment 屬性的設置。
  • background-origin屬性規定 background-position 屬性相對於什麼位置來定位。
  • background-clip 屬性規定背景的繪製區域。

 

 


 

解析:數組

  • display: none和visibility:hidden的區別就是visibility:hidden會保留元素的空間
  • repaint(重繪) ,repaint發生更改時,元素的外觀被改變,且在沒有改變佈局的狀況下發生,如改變outline,visibility,background color,不會影響到dom結構渲染。
  • reflow(渲染),與repaint區別就是他會影響到dom的結構渲染,同時他會觸發repaint,他會改變他自己與全部父輩元素(祖先),這種開銷是很是昂貴的,致使性能降低是必然的,頁面元素越多效果越明顯。
  • 因此display:none纔會產生reflow
  • visibility:hidden只會出發repaint

 

解析:瀏覽器

  • 標準盒子模型 = margin + border + padding + content (content =  width | height)
  • IE盒子模型 = margin + content (content = border + padding + width | height)

      

 


 

解析:取完後兩堆石頭爲0 0,4 4,8 8的必勝。如A取完爲4 4,不管B怎麼取,A都能保證爲0 4,B再取,A就能夠爲0 0,就贏了。同理,A只要保證取完爲8 8,就必定能夠保證本身能夠得到4 4,還能夠一直往上推,12 12.....緩存

 



 

解析:服務器

  • http使用面向鏈接的TCP做爲運輸層協議,保證了數據的可靠傳輸。
  • http:80   https:443
  • TCP和UDP比較: 是否鏈接 TCP面向鏈接 UDP面向非鏈接 傳輸可靠性:TCP可靠 UDP不可靠 應用場合:TCP傳輸大量數據UDP 少許數據 速度:TCP慢 UDP快
  • http使用面向鏈接的TCP做爲運輸層協議,保證了數據的可靠傳輸。

  


 解析:https://segmentfault.com/a/1190000005884656


 解析:http://www.cnblogs.com/dolphin0520/p/3749259.html

http://anwj336.blog.163.com/blog/static/894152092010102685054689/

  1. 常見的頁面調度算法
    1. 隨機算法rand(Random Algorithm):
      1.   利用軟件或硬件的隨機數發生器來肯定主存儲器中被替換的頁面。這種算法最簡單,並且容易實現。可是,這種算法徹底沒用利用主存儲器中頁面調度狀況的歷史信息,也沒有反映程序的局部性,因此命中率較低
    2. 先進先出調度算法(FIFO):
      1.   先進先出調度算法根據頁面進入內存的時間前後選擇淘汰頁面,本算法實現時須要將頁面按進入內存的時間前後組成一個隊列,每次調度隊首頁面予以淘汰。它的優勢是比較容易實現,可以利用主存儲器中頁面調度狀況的歷史信息,可是,它沒有反映程序的局部性,由於最早調入主存的頁面,極可能也是常常要使用的頁面。
    3. 最近最少調度算法LFU(Least Frequently Used Algorithm ):
      1.   先進先出調度算法沒有考慮頁面的使用狀況,大多數狀況下性能不佳。根據程序執行的局部性特色,序一旦訪問了某些代碼和數據,則在一段時間內會常常訪問他們,所以最近最少用調度在選擇淘汰頁面時會考慮頁面最近的使用,老是選擇在最近一段時間以來最少使用的頁面予以淘汰。算法實現時須要爲每一個頁面設置數據結構記錄頁面自上次訪問以來所經歷的時間
    4. 最近最不經常使用調度算法LRU(Least Recently Used Algorithm):
      1.   因爲程序設計中常用循環結構,根據程序執行的局部性特色,能夠設想在一段時間內常常被訪問的代碼和數據在未來也會常常被訪問,顯然這樣的頁面不該該被淘汰最近最不經常使用調度算法老是根據一段時間內頁面的訪問次數來選擇淘汰頁面,每次淘汰訪問次數最少的頁面。算法實現時須要爲每一個頁面設置計數器,記錄訪問次數。計數器由硬件或操做系統自動定時清零
    5. 最優替換算法OPT(Optimal replacement Algorithm):
      1.   前面介紹的幾種頁面調度算法主要是以主存儲器中頁面調度狀況的歷史信息爲依據的,他假設未來主存儲器中的頁面調度狀況與過去一段時間時間內主存儲器中的頁面調度狀況是相同的。顯然,這種假設不老是正確的。最好的算法應該是選擇未來最久不被訪問的頁面做爲被替換的頁面,這種算法的命中率必定是最高的,它就是最有替換算法。要實現OPT算法,惟一的方法就是讓程序先執行一遍,記錄下實際的頁地址流狀況。根據這個頁地址流才能找出當前要被替換的頁面。顯然,這樣作是不現實的。所以,OPT算法只是一種理想化的算法,然而,它也是一種頗有用的算法。實際上,常常把這種算法用來做爲評價其它頁面調度算法好壞的標準。在其它條件相同的狀況下,哪種頁面調度算法的命中率與OPT算法最接近,那麼,它就是一種比較好的頁面替換算法。

         

         


解析:穩定排序和不穩定排序 (7大排序的穩定性分析) http://www.cnblogs.com/codingmylife/archive/2012/10/21/2732980.html 穩定排序有:插入排序、冒泡排序、歸併排序 不穩定排序:希爾排序、快速排序、選擇排序、堆排序


 

解析:同名函數,後面覆蓋前面

 


解析:

Readonly只針對input(text/password)和textarea有效,而disabled對於全部的表單元素有效,包括select,radio,checkbox,button等。

 D不該該是"true"而是true


 

 解析:js裏樣式設置直接把css寫法的的「-」去掉,再改寫爲駝峯寫法便可。


 

解析:

  1. A.主機IP設置有誤的話,內網是沒法聯通的 
  2. B.沒有設置局域網的網關的話, 在ping內網的時候,是沒法ping通的。
  3. C.網關設置有誤,不會影響內網的PING,內網只要保證IP在同一個網段就能夠ping同。因此此時內網是能夠ping通的。可是網關是兩個網絡之間的一扇門,要想跟外網ping通就必須又打開這扇門的鑰匙即網關配置正確。
  4.  D.DNS配置是爲的域名解析。跟ping不ping的通無關。

 


在Linux系統中, 哪一個文件你能夠存儲用於建立用戶目錄的系統用戶默認文件? :

  • /etc/skel

  


 

解析:

由於UDP要達到TCP的功能就必須實現擁塞控制的功能,並且是在路由之間實現,這個在底層明顯是作不到擁塞控制的,在應用層也是作不到的,由於應用層之間和應用程序掛鉤,通常只能操控主機的程序,而表示層是處理全部與數據表示及運輸有關的問題,包括轉換、加密和壓縮,在傳輸層是不可能的,由於你已經使用了UDP協議,沒法在本層轉換它,只有在會話層.
        會話層(SESSION LAYER)容許不一樣機器上的用戶之間創建會話關係。會話層循序進行相似的  傳輸層 的普通數據的傳送,在某些場合還提供了一些有用的加強型服務。容許用戶利用一次會話在遠端的分時系統上登錄,或者在兩臺機器間傳遞文件。 會話層提供的服務之一是管理對話控制。會話層容許信息同時雙向傳輸,或任一時刻只能單向傳輸。若是屬於後者,相似於物理信道上的半雙工模式,會話層將記錄此時該輪到哪一方
 
 

 

解析:引入緩衝的主要緣由包括:緩和CPU與I/O設備間速度不匹配的矛盾;減小對CPU的中斷頻率,放寬對中斷響應時間的限制;提升CPU和I/O設備之間的並行性。因此採用緩衝技術,可減小對CPU的中斷次數,從而提升系統效率。 

解析:

一、當你給WEB服務器接上網線的時候,它會自動發送一條ARP信息,使得接入網關能找的到它;網關上會造成一條相似:2c 96 1e 3c 
3e 9b - 192.168.1.123的MAC地址到IP地址的映射記錄。
二、如用戶在瀏覽器中輸入域名,如本地DNS緩存中沒有,必然會進行一次DNS查詢,以肯定該域名的IP地址。
三、HTTP。得到DNS對應的IP地址之後,使用HTTP協議訪問web服務器(不考慮TCP三次握手創建鏈接的階段)。
 

解析:

看到同事的電腦和登陸qq都是直接經過IP地址實現的,可是訪問公司的網站卻出現了問題,惟一的不一樣是訪問公司網站須要解析域名,因此多是域名解析出現故障。

 


 


 

解析:

請求分段系統是在分段系統的基礎上,增長了請求調段功能和分段置換功能所造成的分段式虛擬存儲系統。分段式存儲管理方式分配算法與可變分區的分配算法類似,能夠採用最佳適應法、最壞適應法和首次適應法等分配算法。顯然仍然要解決外碎片的問題。

  •   首次 適應分配算法: 這種算法按分區序號從空閒分區表的第一個表目開始查找該表, 把最早找到的大於或等於做業大小的空閒分區分給要求的做業 。而後,再按照做業的大小,從該分區中劃出一塊內存空間分配給做業,餘下的空閒分區仍留在空閒分區表中。若是查找到分區表的最後仍沒有找到大於或等於該做業的空閒區,則這次分配失敗。 優勢:優先利用內存中低址部分的空閒分區,而高址部分的空閒分區不多被利用,從而保留了高址部分的大空閒區。爲之後到達的大做業分配大的內存空間創造了條件。缺點:低址部分不斷被劃分,導致留下許多難以利用的、很小的空閒分區。 
  • 循環 首次 適應分配算法: 這種算法是由最早適應分配算法通過改進而造成的。在爲做業分配內存時,再也不每次從空閒分區表的第一個表項開始查找,而是從上次找到的空閒區的下一個空閒區開始查找,直至找到第一個能知足要求的空閒區爲止,並從中劃分出一塊與請求大小相等的內存空間分配給做業。爲實現該算法,應設置一塊兒始查找指針,以指示下一次開始查找的空閒分區,並採用循環查找方式。即若是最後一個空閒分區的大小仍不能知足要求,則返回到第一個空閒分區進行查找。 優勢 :內存中的空閒區分佈得更均勻,減小查找空閒分區的開銷。 缺點 :系統中缺少大的空閒分區,對大做業不利。
  • 最佳適應分配算法 :該算法從全部未分配的分區中挑選一個 最接近做業大小且大於或等於做業的空閒分區分配給做業 ,目的是使每次分配後剩餘的碎片最小。爲了查找到大小最合適的空閒分區,須要查遍整個空閒分區表,從而增長了查找時間。所以,爲了加快查找速度,要求將全部的空閒分區,按從小到大遞增的順序進行排序。這樣,第一次找到的知足要求的空閒分區,必然是最佳的。 缺點 :每次分配以後造成的剩餘部分,倒是一些小的碎片,不能被別的做業利用。所以,該算法的內存利用率是不高的。 
  • 最壞適應分配算法: 該算法從全部未分配的分區中挑選一個 最大的空閒分區分配給做業 ,目的是使分配後剩餘的空閒分區足夠大,能夠被別的做業使用。爲了查找到最大的空閒分區,須要查遍整個空閒分區表,從而增長了查找時間。所以,爲了加快查找速度,要求將全部的空閒分區按從大到小遞減的順序進行排序。這樣,第一次找到的空閒分區,必然是最大的。優勢:最壞適應分配算法在分配後剩餘的空閒分區可能比較大,仍能知足通常做業的要求,可供之後使用。從而最大程度地減小系統中不可利用的碎片。缺點:這種算法使系統中的各空閒分區比較均勻地減少,工做一段時間之後,就不能知足對較大空閒分區的分配要求。

 

解析:

# 管道( pipe ):管道是一種半雙工的通訊方式,數據只能單向流動,並且只能在具備親緣關係的進程間使用。進程的親緣關係一般是指父子進程關係。  

# 信號量( semophore ) : 信號量是一個計數器,能夠用來控制多個進程對共享資源的訪問。它常做爲一種鎖機制,防止某進程正在訪問共享資源時,其餘進程也訪問該資源。所以,主要做爲進程間以及同一進程內不一樣線程之間的同步手段。   
# 消息隊列( message queue ) : 消息隊列是由消息的鏈表,存放在內核中並由消息隊列標識符標識。消息隊列克服了信號傳遞信息少、管道只能承載無格式字節流以及緩衝區大小受限等缺點。   
# 共享內存( shared memory ) :共享內存就是映射一段能被其餘進程所訪問的內存,這段共享內存由一個進程建立,但多個進程均可以訪問。共享內存是最快的 IPC 方式,它是針對其餘進程間通訊方式運行效率低而專門設計的。它每每與其餘通訊機制,如信號兩,配合使用,來實現進程間的同步和通訊。   

# 套接字( socket ) : 套解口也是一種進程間通訊機制,與其餘通訊機制不一樣的是,它可用於不一樣及其間的進程通訊。
# 回調: 是一種編程機制。
 
 

 

解析:

IndexdDB 是 HTML5 的本地存儲,把一些數據存儲到瀏覽器(客戶端)中,當與網絡斷開時,能夠從瀏覽器中讀取數據,用來作一些離線應用。

Cookie 經過在客戶端 ( 瀏覽器 ) 記錄信息肯定用戶身份,最大爲 4 kb 。

url 參數用的是 get 方法,從服務器上獲取數據,大小不能大於 2 kb 。

Session 是服務器端使用的一種記錄客戶端狀態的機制 。

post 是向服務器傳送數據,數據量較大。

local Storage 也是 HTML5 的本地存儲,將數據保存在客戶端中(通常是永久的)。

 


 


 

 


 

 

解析:

Object.keys(Object)
Array.filter(function)
Object是包含屬性和方法的對象, 能夠是建立的對象或現有文檔對象模型 (DOM) 對象。
Object.keys(object)的返回值是 一個數組,其中包含對象的可枚舉屬性和方法的名稱。
Array.filter(function)對數組進行過濾返回符合條件的數組。
Object.keys(data)的返回值爲數組["a","b","c","d"],通過 filter(function(x) { return ; })過濾,返回值大於2的key的數組。x爲返回數組的屬性名稱即「a"、"b"、"c"、「d」,則對應的屬性值爲data[x],比較語句爲data[x]>2。
相關文章
相關標籤/搜索