溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

web前端面試題實例題目分析

發(fā)布時間:2023-02-21 11:19:14 來源:億速云 閱讀:156 作者:iii 欄目:web開發(fā)

今天小編給大家分享一下web前端面試題實例題目分析的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

面試官:請你談一下自適應(適配)的方案

我:呃~,好的,解決自適應問題可以采用 “ 淘寶無限適配 + 布局單位使用rem ” ,適配所需的js還有說明文檔:淘寶的github網址,整出代碼如下:

<style>
    *{margin: 0;padding: 0;}
    html{
        height: 37.5px;
    }
    .container{
        width: 1rem;
        height: 1rem;
        background-color: #f00;
    }
</style>
<script src="../index.js"></script>
<body>
    <div class="container">111</div>
</body>

web前端面試題實例題目分析

面試官:談談你對響應式的理解

我:呃~,好的,通俗來講,在html+css中,響應式意為:一個URL可以響應多端,簡言之在不同的設備不同尺寸的情況下,相同的url都能對其進行適配,如何做?整出代碼如下:

<style>
    *{margin: 0;padding: 0;}
    ul{
        list-style: none;
    }
    ul li {
        display: inline-block;
        width: 100px;
        background-color: #f00;
    }
    @media only screen and (max-width: 1000px){
        ul li:last-child{
            display: none;
        }
    }
    @media only screen and (max-width: 800px){
        ul li:nth-child(5){
            display: none;
        }
    }
    @media only screen and (max-width: 500px){
        ul li:nth-child(4){
            display: none;
        }
    }
</style>
<body>
    <ul>
        <li>首頁</li>
        <li>消息</li>
        <li>題庫</li>
        <li>面試</li>
        <li>內容</li>
        <li>offer</li>
    </ul>
</body>

當然也可以給圖片添加響應式,整出代碼如下:

<style>
    *{margin: 0;padding: 0;}
    picture{
        width: 300px;
	    height: 300px;
    }
    img {
		width: 100%;
	    height: 100%;
	    object-fit: contain;
	};
    source {
		width: 80%;
	    height: 80%;
	    object-fit: contain;
	};
</style>
<body>
    <picture>
        <!-- 如果切換到不同設備上 -->
        <source srcset="../7.jpeg" media="(min-width: 1000px)">
        <source srcset="../004.jpeg" media="(min-width: 700px)">
        <!-- 默認加載該圖片 -->
        <img src="../4.jpeg">
    </picture>
</body>

面試官:談談你對布局方案的理解

我:呃~,好的,布局方案根據(jù)項目特點,有以下選擇:

一、什么情況下采用響應式布局
數(shù)據(jù)不是特別多,用戶量不是特別大,純展示類的項目適合響應式布局
例如:公司的官網、專題頁面
特別追求性能的項目,不太適合響應式,因為如果添加了很多的響應式就會造成加載速度變慢。
二、pc +移動端應該做什么樣的布局方案
注意:訪問量還可以或者比較大,類似于淘寶網。
pc是一套,會加入一點點響應式。
移動端是一套,會使用自適應的布局方式。
三、pc的設計圖
ui: 1980
筆記本電腦:1280
ui圖的寬度和電腦的寬度不對應該怎么辦?
1.把ui圖進行等比縮放,縮放成和電腦一樣的尺寸

2.換1980的電腦

四、移動端的設計圖
寬度:750
因為750設計圖/2就是375,正好是iphone6的尺寸,我們要把iphone6的尺寸做為基準點。

面試官:什么是重排重繪,如何減少重拍重繪?

我:呃~,好的,總結如下:

重排(Reflow):元素的位置發(fā)生變動時發(fā)生重排,也叫回流。此時在關鍵渲染路徑中的 Layout 階段,計算每一個元素在設備視口內的確切位置和大小。當一個元素位置發(fā)生變化時,其父元素及其后邊的元素位置都可能發(fā)生變化,代價極高。

web前端面試題實例題目分析

重繪(Repaint): 元素的樣式發(fā)生變動,但是位置沒有改變。此時在關鍵渲染路徑中的 Paint 階段,將渲染樹中的每個節(jié)點轉換成屏幕上的實際像素,這一步通常稱為繪制或柵格化。

web前端面試題實例題目分析

另外,重排必定會造成重繪。以下是避免過多重拍重繪的方法

1)使用 DocumentFragment 進行 DOM 操作,不過現(xiàn)在原生操作很少也基本上用不到

2)CSS 樣式盡量批量修改

3)避免使用 table 布局

4)為元素提前設置好高寬,不因多次渲染改變位置

面試官:css 動畫與 js 動畫哪個性能更好?

我:呃~,我對這兩者的看法以及優(yōu)缺點總結如下:

CSS3 的動畫

1.在性能上會稍微好一些,瀏覽器會對 CSS3 的動畫做一些優(yōu)化(比如專門新建一個圖層用來跑動畫)

2.代碼相對簡單

3.在動畫控制上不夠靈活  

4.兼容性不好

5.部分動畫功能無法實現(xiàn)(如滾動動畫,視差滾動等)

JavaScript 的動畫

彌補了 css 缺點,控制能力很強,可以單幀的控制、變換,同時寫得好完全可以兼容 IE6,并且功能強大。

總結: 對于一些復雜控制的動畫,使用 javascript 會比較好。而在實現(xiàn)一些小的交互動效的時候,可以多考慮 CSS。

面試官:為什么會發(fā)生樣式抖動?

我:呃~,因為沒有指定元素具體高度和寬度,比如數(shù)據(jù)還沒有加載進來時元素高度是 100px(假設這里是 100px),數(shù)據(jù)加載進來后,因為有了數(shù)據(jù),然后元素被撐大,所有出現(xiàn)了抖動。

面試官:你做前端有多少時間花在寫 css 上?

我:呃~,如果說是開發(fā)階段,我會用 20%-30% 的時間寫 CSS。但是如果項目是采用某種組件庫的時候,比如:UI 設計時遵循了 element-ui 的規(guī)范,而開發(fā)使用的 UI 框架為 element-ui,因此大多數(shù)的界面并不需要寫大量的 CSS,因為預設樣式已足夠使用。

面試官:介紹 CSS 隱藏頁面中某個元素的幾種方法

我:呃~,好的,隱藏元素的方法有如下幾種:

display: none;  :通過 CSS 操控 display,移出文檔流。

opacity: 0; :透明度為 0,仍在文檔流中,當作用于其上的事件(如點擊)仍有效。

visibility: hidden; :透明度為 0,仍在文檔流中,但作用于其上的事件(如點擊)無效,這也是 visibility:hidden 與 opacity: 0 的區(qū)別。

content-visibility; :移出文檔流,但是再次顯示時消耗性能低。

position: absolute;top: -9000px;left: -9000px; :絕對定位于當前頁面的不可見位置。

font-size: 0; :字體大小設置為 0

面試官:CSS 如何設置一行或多行超出顯示省略號?

我:呃~,好的,整出代碼如下:

<style>
  div{
    width: 100px;
    /* 使用如下來設置一行行超出顯示省略號 */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  p{
    width: 100px;
    /* 使用 -webkit-line-clamp 來設置多行超出顯示省略號 */
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
</style>
<body>
  <div>
    1222222222222222222222222222222
  </div>
  <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Iste esse velit illum vel cumque obcaecati. Quae, dicta nihil quod vero mollitia dignissimos autem, necessitatibus, iure a debitis temporibus eaque ratione.</p>
</body>

web前端面試題實例題目分析

面試官:flex 布局中 order 有何作用?

我:呃~,order 屬性定義 Flex 布局中子元素的排列順序,數(shù)值越小,排列越靠前,默認為 0。整出代碼如下:

<style>
  .container{
    width: 500px;
    border: 5px solid #ddd;
    display: flex;
    justify-content: space-around;
  }
  .container div{
    width: 100px;
    height: 100px;
    background-color: #f00;
  }
  #d1{
    order: 3;
  }
  #d2{
    order: 2;
  }
  #d3{
    order: 1;
  }
</style>
<body>
  <div class="container">
    <div id="d1">老大</div>
    <div id="d2">老二</div>
    <div id="d3">老三</div>
  </div>
</body>

web前端面試題實例題目分析以上就是“web前端面試題實例題目分析”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI