面試題:面試經

目錄

我碰到有意思的題會繼續更新,如發現個人解答有問題,請告知,萬分感謝。
如以爲對你有幫助,請幫忙點個贊,謝謝。
  1. css的選擇器,權重
  2. ie和其餘瀏覽器下,盒模型的區別
  3. 盒模型互相轉化
  4. 元素水平垂直居中
  5. 左邊固定,右邊自適應
  6. 左右固定,中間自適應,高度通屏
  7. 外邊距margin
  8. 邊框圓角border-radius
  9. border-color
  10. margin負值
  11. margin一些坑
  12. dispaly有那些值
  13. 僞類
  14. css3新增了那些屬性
  15. 老生常談的hack
  16. 清除浮動
  17. html5新增了那些標籤
  18. <!Doctype> 有什麼做用?
  19. link @import 有什麼區別
  20. lable有什麼用
  21. cookies,sessionStorage 和 localStorage 的區別?
  22. WebSocket和socket有什麼關係? WebSocket和ajax的區別?
  23. 正則驗證郵箱
  24. 閉包,你在開發中要常用閉包嗎?爲何?
  25. 數據類型
  26. 獲取元素自定義屬性有什麼區別?
  27. 繼承都有哪些
  28. 編程題(測試)

css篇

  1. css的選擇器,權重
    答:javascript

    id,class,標籤,組合,繼承,僞類,*
       !important > style > id > class > 標籤 > *
  2. ie和其餘瀏覽器下,盒模型的區別
    答:css

    - ie下的盒模型爲 content(width+height+padding+border)+ margin
       - 實際大小:content
       - 標準盒模型爲content(width+height) + padding + border + margin
       - 實際大小:content+padding+border
  3. 盒模型互相轉化
    答:html

    - 給須要轉化的元素設置 box-sizing:border-box;
       - content-box:    這是由 CSS2.1 規定的寬度高度行爲。寬度和高度分別應用到元素的內容框。在寬度和高度以外繪製元素的內邊距和邊框。
       - border-box : 爲元素設定的寬度和高度決定了元素的邊框盒。就是說,爲元素指定的任何內邊距和邊框都將在已設定的寬度和高度內進行繪製。經過從已設定的寬度和高度分別減去邊框和內邊距才能獲得內容的寬度和高度。
       - inherit   : 規定應從父元素繼承 box-sizing 屬性的值。
  4. 元素水平垂直居中
    答:html5

    - css2 position:absolute; top:50%; left:50%; margin-left:-widht/2; margin-top:-height/2;
       - css2 position:absolute; top:0; left:0; right:0; bottom:0; margin:auto;
       - css3 display:flex; justify-content:center; align-items:center;
       - css3 position:absolute; top:50%; left:50%; transfrom:translate(-50%,-50%);
  5. 左邊固定,右邊自適應
    答:java

    - css2 div1{float:left;} div2{overflow:hidden;};
       - css2 div1{float:left;} div2{ margin-left:-div1.width;}
       - css3 parent{dispaly:flex;} div1{wdith:200px;} div2{flex:1};
  6. 左右固定,中間自適應,高度通屏
    答:css3

    // 佈局
       <div class="wrap">
           <div class="left"></div>
           <div class="right"></div>
           <div class="center"></div>
       <div>
       // style
       html,body,.wrap{height:100%;overflow:hidden; background:green;}
       .left,.right,.center{height:100%;}
       .left,.right{width:100px;background:aqua;}
       .left{float:left;}
       .right{float:right;}
       .center{background:red}
  7. 外邊距margin web

    margin:10px;        //  上下左右 10px
       margin:10px 10px;        //    上下10px  左右10px
       margin:10px 10px 10px;      //    上10px 左右10px  下10px
       margin:10px 10px 10px 10px;        //    上10px 右10px 下10px 左10px
       margin:10px 10px 10px 10px 10px;    //    坑
       margin:10px 10px 10px 10px 10px 10px;    //    坑
       margin:10px 10px 10px 10px 10px 10px 10px;    //    坑
       margin:10px 10px 10px 10px 10px 10px 10px 10px;    //    坑
  8. 邊框圓角border-radius ajax

    //    左上右上右下左下 10px
       border-radius:10px;
       //    左上右下10px  右上左下10px
       border-radius:10px 10px;    
       //    左上10px    左下右上10p  右下10px
       border-radius:10px 10px 10px;    
       //    左上10px    右上10px    右下10px    左下10px
       border-radius:10px 10px 10px 10px;    
       //    左上左10px/左上上10px  右上右10px/右上上10px    右下右10px/右下下10px     左下左10px/左下下10px 
       border-radius:10px 10px 10px 10px / 10px;    
       //    左上左、右下右10px/左上上、右下下10px        右上右、左下左10px/右上上、左下下10px  
       border-radius:10px 10px 10px 10px / 10px 10px;
       //    左上左10px/左上上10px    右上右、左下左10px/右上上、左下下10p    右下右10px/右下下10px    
       border-radius:10px 10px 10px 10px / 10px 10px 10px;  
       //    左上左10px/左上上10px   右上右10px/右上上10px    右下右10px/右下下10px     左下左10px/左下下10px 
       border-radius:10px 10px 10px 10px / 10px 10px 10px 10px;
  9. border-color 編程

    如題:以下代碼最後生成出來是什麼。
    width:0px;
    height:0px;
    border-width:60px;
    border-style:solid;
    border-color: red transparent transparent transparent;
  10. margin負值canvas

    如題:有一組li,它們寬高爲100px,邊框爲10px灰色,每個li之間的間隔爲10px,鼠標滑過的時候,讓其邊框顏色改變爲紅色,總體排版不能亂,並且邊框要展現全。(用css實現)

    答:

    ul>li*N   //html
       li{ width:100px; height:100px; border:10px solid #ccc; margin:-10px 0 0px -10px; position:relative; }
       li:hover{ border:10px solid red; z-index:9; }
  11. margin一些坑

    如題:有兩個div,寬高爲100px,邊框爲10px,div1=margin:10px 20px 30px40px,div2=margin:40px 30px 20px 10px,請問這兩個元素中間的間隔爲像素;

    答:

    上下佈局(div1在上div2在下):40px;
       上下佈局(div2在上div1在下):20px;
       左右佈局(div1在左div2在右):30px;
       左右佈局(div2在左div1在右):70px;
    如題:有兩個div,父子級關係,父級:parent,子級:child;parent寬高爲100px,child寬高爲50p,外邊距爲50px;child和parent都在什麼位置?(瀏覽器的margin和padding已經清零)。

    答:

    child在parent右上角;
       parent:    距頂部50px,距左0px;
       child: 距離頂部50px, 距左50px,底部距離父級底部50px;
    如題:有兩個div,兄弟關係,div1在上,div1寬高100px,加float:left,div2寬高50px,margin:50px,div1和div2在什麼位置? 手動加劇點:怎麼展現的

    答:

    div1覆蓋div2。
       div1:距上50px,距左0px,距下和右0px;
       div2:距上50px,距左50px,距下和右50px;
    附加:若是child外邊距爲100px,他們的位置呢?
  12. dispaly有那些值
    答:

    // 經常使用值:
     block|inline|inline-block|none|table|list-item| inherit
  13. 僞類
    答:

    經常使用:
       :link | :hover | :active | :visited | :after | :before | :first-child | :last-child
       :nth-child()
  14. css3新增了那些屬性
    答:

    //我的經常使用:
       transform:rotate(90deg);           // 旋轉
       transform-origin:center center;    // 定位中心點
       transform:translate(x,y);          // 在x和y軸上定位
       transtion:.1s;                     // 過渡動畫
       animation: obj 2s;                 // 動畫
       border-radius:5px;                 // 邊框圓角
       background-size:100% 100%;         // 背景大小
       box-show:0 0 0 #000;               // 陰影
  15. 老生常談的hack
    答:

    width:100px;     // 全部都識別
       width:100px\9;   // ie六、ie七、ie8
       *widht:100px;    // ie六、ie7
       _width:100px;    // ie6
       widht:100px\0;   // ie8
  16. 清除浮動
    答:

    .clear{zoom:1;};
       .clear:after{content:''; dislay:block; clear:both; }

HTML篇

  1. html5新增了那些標籤
    答:

    video canvas header footer section nav
  2. <!Doctype> 有什麼做用?
    答:

    讓瀏覽器按照什麼版本解析文檔。
  3. link @import 有什麼區別
    答:

    link是經過html連接引入,@import在css文件中引入。
       link在頁面加載的時也同時加載,而@import是須要css加載完成後在開始加載。
  4. lable有什麼用
    答:

    標註input,點擊lable中的文字,就會觸發此控件,自動把焦點轉移到綁定的表單元素上。

綜合篇

  1. cookies,sessionStorage 和 localStorage 的區別?
    答:

    cookies:儲存最多20多條數據,儲存大小在4kb左右,在設置的時間前不會由於瀏覽器的關閉而消失,安全性存在漏洞,容易被攔截,在全部同源窗口共享。
       sessionStorage: 大小在5M或者更大,不在不一樣瀏覽器下共享及時在一個頁面(iframe);瀏覽器關閉消失
       localStorage:大小在5M或者更大,不會由於瀏覽器關閉而消失,在全部同源窗口共享
  2. WebSocket和socket有什麼關係? WebSocket和ajax的區別?
    答:

    1. mmp!就跟javascript和java,錘子手機和錘子同樣,有錘子的關係。
      2. web是長鏈接,鏈接一直保持,ajax是短鏈接,發起,接收,關閉。
         ajax是客戶端發起,web是客戶端服務器互相推送。
  3. http和https的區別
    答:

    本身的我的理解:https比http更安全。
       爲何安全不知道,請自行搜索。雖然搜索過,並看過好幾遍可是我的一直沒法融會貫通,因此再也不次標註答案。等何時吃透了,我在寫上。
  4. http和https之間怎麼傳輸?
    答:

    mmp,仍是本身去搜索吧。
  5. 正則驗證郵箱
    答:

    var str = 23246574@qq.com
           reg = /^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/g;));
       console.log(reg.text(str));

JavaScript篇

  1. 閉包,你在開發中要常用閉包嗎?爲何?
    答:

    能夠訪問另一個函數做用域裏的變量和函數。不建議頻繁使用,或者對本身的技術不是蜜汁自信的不要過多使用,由於閉包使用多了,操做不當,容易形成內存泄漏,變成內存溢出。
  2. 數據類型
    答:

    number string boolean undefined null object
  3. 獲取元素自定義屬性有什麼區別?
    答:

    getAttribute;    // 返回對象
       getparameter;    // 返回字符串
  4. 繼承都有哪些
    答:

    原型鏈、組合、寄生、寄生組合、構造、實例、拷貝
    • var arr1 = [1,2,3,4,5,6,7,8,9], arr2 = [9,8,7,6,5,4,3,1,11,10,7,9];
      找出arr1和arr2中耦合的數字。
    • 把 {"a":[1,2,3],"b":[4,5],"c":[6],"d":[7,8,9,10]} 轉成 [{"type":"a","name":1},{"type":"a","name":2},{"type":"a","name":3},{"type":"b","name":4},{"type":"b","name":5},{"type":"c","name":6},{"type":"d","name":7},{"type":"d","name":8},{"type":"d","name":9},{"type":"d","name":10}]
相關文章
相關標籤/搜索