1. 程式人生 > >筆試題第一波~~~

筆試題第一波~~~

mysql筆試題(1)


1.varchar VS char

  varchar 是變長,最多儲存65535位元組
  char 是定長,最多儲存255位元組
  1英文字元=1個位元組
  1漢字=2個位元組
  1繁體漢字=3個位元組
  varchar(50) 存放50字元

2.開啟網路地址並響應的過程:

  DNS伺服器獲取IP地址並返回給瀏覽器,瀏覽器再通過IP地址向web伺服器傳送請求,web伺服器從檔案伺服器獲取網頁中所需要的檔案,從資料庫獲取網頁所需要的資料,最後將完整的網頁響應給瀏覽器

3.continue和break

 都是用來控制迴圈體
    continue跳過當前一次迴圈,繼續執行下一次迴圈
    break 直接終止整個迴圈

4.typeof 返回的型別

   1 string,number,boolean,undefined,object,function 

5.NodeJS的優點和缺點

  優點:NodeJS設計思想是以事件驅動,非同步,非堵塞 I/O 密集型為核心,非常適合高併發請求,編寫的方式與 js 一致,因此客戶端和伺服器可用同一種語言.
  缺點:不適合CPU密集型任務的開發

6.img標記屬於--->行內元素

7.隱藏網頁中的元素
  display:none; 脫離文件流,不佔頁面的空間
  opacity:0; 不顯示,但是佔頁面位置,可以新增事件
  visibility:hidden; 不顯示,佔頁面空間

8.改變預設計算框模型的方式屬性---->box-sizing:border-box

9:transition VS animation
  animation和transition大部分的屬性是相同的,都是隨事件改變元素的屬性值
  區別:transition需要觸發一個事件才能改變屬性,而animation不需要觸發任何事件的情況下也會隨時間改變屬性值.transition只要2幀,from ...to ,animation是由多個transition組合到一起的,一般多幀

10.網頁中實現元素水平垂直居中
  1.絕對定位+margin

 position:absolute;
 left:50%;
 top:50%;
 margin-left:-25%;
 margin-top:-25%;

  2. 彈性佈局+設定容器的水平和垂直居中對齊屬性

1 display:flex;
2 justify-content:center;
3 align-items:center;

  3..絕對定位+transform

position:absolute;
left:50%;
top:50%;
transform:translate(-width/2,-hight/2)

11.改變頁面元素的定位方式

   float,relative,absolute,fixed 

  float:讓多個塊級元素在一行中顯示

  relative:相對定位,相對於自己的位置做一個微調.

  absolute:絕對定位,堆疊順序,彈出選單

  fixed:相對於body去固定元素在頁面中的位置

12.非同步請求請求資料的步驟

 4步:

  建立非同步物件(xhr) , 繫結監聽事件(onreadystatechange) , 開啟連線 (open(method,url,boolean)) , 傳送請求 (send(body/null))

     //建立xhr
        var xhr=createXhr();
        //繫結監聽
        xhr.onreadystatechange=function(){
            if(xhr.readyState==4&xhr.status==200){
                //var result=xhr.responseText;
                var result=xhr.responseXML;
                console.log(result);
            }
        }    
        //開啟連線
        xhr.open("get","student.xml",true)
        xhr.send(null);

 

13.JSON

  JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。js物件的一種表現方式 , js物件的資料格式表現出來的字串.

  JSON字串轉換為JS物件:JSON.parse()

  JS物件轉換為JSON字串:JSON.stringify(obj);

14.狀態碼

  301:永久重定向

  302:臨時重定向

  304:請求資源為被修改,命中快取

  404:(未找到) 伺服器找不到請求的頁面

  400:(錯誤請求) 伺服器不理解請求的語法

  403:(禁止) 伺服器拒絕了請求

15.jQuery中$的原理

    $其實是建立jQuery型別子物件的意思,包括以下四種情況
        1.如果傳入選擇器,$會查詢DOM元素,並儲存jQuery物件
            優化:如果傳入的選擇器簡單,則呼叫按HTML查詢API,如果傳入選擇器複雜,則呼叫按選擇器查詢的API
        2.如果傳入DOM元素,$會直接封裝DOM元素進jQuery物件
        3.如果傳入HTML片段,$會建立新元素,封裝進jQuery物件
        4.如果傳入function函式,$會繫結DOM內容載入後執行的事件

16.響應式網頁

  1.媒體查詢技術(css3)

  2.彈性佈局+流式佈局

  3.相對尺寸

  4.宣告 viewport 元標籤

17.HTML查詢和選擇器查詢的區別

  按照HTML返回的動態集合,按選擇器查詢返回非動態集合

  效率不同:HTML查詢的效率高,按選擇器查詢效率較低

  應用性:當調劑複雜是,按html查詢比較繁瑣,按選擇器查詢更簡潔

18.DOM優化

  1.查詢時:一個條件-->html;多個條件--->選擇器

  2.新增時:子元素先新增到父元素,再將父元素整體新增

  3.修改時:同時修改多個元素的內容和樣式使用 innerHTML,class

  4.事件繫結時,儘量減少冒泡的個數

19.實現動畫的方式

  css:transition animation : 效率高,無法控制互動行為

  js:定時器 $().animate() : 互動行為強,效率較低

  requestAnamationFrame() : 相容性不高

20.vue的生命週期

  8個 建立前後,載入前後,更新前後,銷燬前後

        1.建立(create)階段:建立元件物件,和模型資料物件
               new Vue({ data: { ... } })
               Vue.component("xxx",{ data:function(){ return { ...}}})
             2. 掛載(mount)階段:掃描真實DOM樹,建立虛擬DOM樹,並繫結模型中的資料到檢視中
               new Vue({ data: { } , el:"#app"})
               Vue.component("xxx",{
                  data:function(){ return { ...}},
                  template:"#template"
               })
             3. 更新(update)階段:只要模型資料發生變化,就更新元件的內容和DOM樹
             4. 銷燬(destroy)階段:主動呼叫了$destory()函式,銷燬元件時