前端筆試知識點總結(4)

去參加了某軟的前端面試,到公司的時候二話沒說,要求先寫了一份性格測試題,由於面的是前端,完事以後又來了一份前端筆試題,選擇、填空、簡答,選擇題沒記,主要記了填空題和簡答題。javascript

下面是填空題:html

  • CSS單位中,設定元素的長度或寬度與父元素字體大小相關的單位是?與html文檔元素大小相關的單位是?

    1. px,像素,設置固定元素;
    2. em,設置相對於父元素大小的百分比,如父元素是10px,子元素是2em,則子元素的大小就是20px;
    3. rem,設置相對於html文檔元素大小;
  • Js中原型鏈最上層的對象是()的原形對象?該對象的__proto__指針指向()的原型對象?

      由於本身自學尚未學帶這塊,因此筆試的時候直接跳過了,回來查紅寶書學習一下。前端

  • Js中使用()對象的()函數定義對象屬性的訪問器?

    1. 由於上面面試被問到了關於面向對象方面的問題,然而那會並不會,因此這幾天在看面向對象方面的內容,正好用上了,這個問題的答案是利用了Object對象中的defineProperty方法來建立一個新的屬性。
  • 一個簡單的變量提高問題

       函數主要是這樣的:java

var a = 10;
var b = 10;
function x(){
    console.log(a);
    console.log(b);
    var a = 5;
}

  而後問輸出的結果是什麼,答案確定是5和10,變量提高的問題,以前也正好寫過一篇隨筆說這個,正好用上了。web

 

下面是簡答題:面試

 

  • 簡述下爲什麼經過ajax發送請求會出現亂碼問題,如何解決?

    • 發送get請求的時候:
      • IE瀏覽器對應的ajax對象對中文參數會使用GBK的編碼方式,其餘瀏覽器則使用UTF-8編碼方式,web服務器默認狀況使用iso-8859-1的編碼方式;
      • 解決辦法:使用encodeURL<>函數對請求的地址進行編碼,函數會對中文參數值按照UTF-8進行編碼;修改服務器端的編碼方式爲UTF-8;
    • 發送post請求的時候:
      • 全部瀏覽器中對應的ajax對象對中文參數都使用UTF-8的編碼方式,服務器使用iso-8859-1進行編碼;
      • 解決辦法:使用request.setCharsetEncoding(「UTF-8」);
  • 簡述DOM、HTMLDOM的區別和聯繫?

    •   DOM,文檔對象模型。
    • 其實沒太明白這個,前者指的是什麼?核心DOM麼?仍是總的DOM?
  • 簡述HTML5新增的canvas、audio、svg標籤的做用?

    • canvas標籤,定義圖形,只是一個圖形容器,必須使用腳原本繪製圖形;更多內容仍是要參考W3C官方文檔。
    • audio標籤,在網頁中引入音頻流,支持mp三、wav、ogg三種格式的音頻文件;不一樣瀏覽器存在兼容性問題
    • svg標籤,定義用於網絡的基於矢量的圖形,使用XML格式定義圖形,改變大小不會失幀;
    • svg的優點:
      • 可經過文本編輯器來建立和修改;
      • svg圖像可被搜索、索引、腳本化或壓縮;
      • 任意伸縮畫質不會改變;
  • 簡述如何經過CSS進行響應式佈局的方式?

    • 純CSS的話必然是利用媒體查詢方式,根據設備的不一樣屏幕分辨率大小進行設置;
    • 利用框架的話可使用Bootstrap、Amaze UI等;
  • 什麼是事件流?

    • 事件流描述的是從頁面中接收事件的順序;紅寶書中第13章專門講事件,須要進行學習。
相關文章
相關標籤/搜索