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



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

      2. a中不能再嵌套a

      3.

<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中的內容”將全被顯示。

 


 

解析:

  • 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的中斷次數,從而提高系統效率。 

解析:

1、當你給WEB服務器接上網線的時候,它會自動發送一條ARP信息,使得接入網關能找的到它;網關上會形成一條類似:2c 96 1e 3c 
3e 9b - 192.168.1.123的MAC地址到IP地址的映射記錄。
2、如用戶在瀏覽器中輸入域名,如本地DNS緩存中沒有,必然會進行一次DNS查詢,以確定該域名的IP地址。
3、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。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM