個人面試遇到的問題(技術篇)

來源:互聯網
上載者:User

1.談談對響應式網頁設計(Responsive web design)的理解   參考  前端觀察

   a).網頁的設計與開發應該根據使用者的行為和裝置進行相應的相應和調整,頁面能夠自動的切換解析度、圖片尺寸以及相應的指令碼,也就是一個網站能夠相容多個終端。

   b). 跟移動互連網相關,隨著移動終端的普及和豐富而興盛。

   c). 設計的技術: 媒體查詢(media query)、流體網格(fluid grid)、flex box

   d). 最佳化方案: HTML5本機存放區、行動裝置優先、流體圖片、css3 image

2.談談模組化的特點

   a) 可拓展性、無浸染型;

   b) 需要重複使用;

   c) 實現多人協同完成頁面,提高開發的效率和降低維護的難度;

   d) 某個功能模組或者耦合性比較強的模組,且可能要重複使用,則可以講這部分代碼封裝起來,實現模組化。

3.事件委託

   缺點: 存在效能問題,假如嵌套比較深的話,需要層層冒泡,這樣就會造成效能問題

4.談談node.js

   是javascript的運行平台,

5.談談less.js

   css預先處理

6.跨瀏覽器的DOMContentLoaded事件

   解決思路:1.首先分IE和非IE兩種情況,因此需要對其進行特性檢測;2.對於非IE容易解決,可以使用DOMContentLoaded事件;3.對於非IE,需要從兩個方面入手:一是通過readystatechange來類比DOMContentLoaded;二是考慮到iframe會影響到readystatechange的觸發,所以需要使用doScroll來類比。

   接下來是代碼部分:

<html xmlns="http://www.w3.org/1999/xhtml"> <head>     <title></title>     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>      </head> <body> <img src="http://blender-archi.tuxfamily.org/images/Sky_angmap_4.jpg" /> <script type="text/javascript">        if(document.addEventListener){document.addEventListener('DOMContentLoaded',function(){alert('dom is ready')},false);}else if(document.attachEvent){document.attachEvent('onreadystatechange',function(){if(document.readystate ==='complete'||doucment.readystate === 'interactive'){alert('dom is ready');}});//如果文檔出於iframe中,onreadystatechange會無法及時觸及//所以需要使用doScroll方法var isToplevel = false; try {//判斷文檔是否處於最頂層isToplevel = window.frameElement == null;} catch(e) {}if(document.documentElement.doScroll&&isToplevel){(function(){try(){document.documentElement.doScroll('left');}catch(e){window.setTimeout(arguments.callee,0);return;}alert('dom is ready');})()}} </script> </body> </html>

7.反向 Proxy

     就是在瀏覽器和web伺服器之間存在一個Proxy 伺服器,發出請求,經過網域名稱解析,得到的是代理服務的IP地址,然後Proxy 伺服器對HTTP請求進行分發解析,這樣就保護了最後的WEB伺服器。

 8.輸入URL之後的過程

     1.首先進行網域名稱的解析,擷取伺服器的IP地址:瀏覽器緩衝、系統緩衝、路由器緩衝、遞迴搜尋等等;

     2.建立串連,想伺服器發送HTTP請求;

     3.伺服器對HTTP請求進行解析,並進行響應;

     4.瀏覽系對響應結果進行解析;

     5.可能存在重新導向、js、css、AJAX請求、嵌入了圖片等,會重複上述過程。

9.頁面流量

   ....

10.js單線程問題    

var a = 6;setTimeout(function () {    alert(a);    a = 666;}, 1000);a = 66;

View Code

 11.ajax解決跨域問題的方法

    1.jsonp:在本地動態建立script標籤,將其src指向跨域段,然後在跨域端調用回呼函數,並將json資料作為參數傳遞給回呼函數,完成回調。

    2.伺服器代理:在本域和跨域段建立一個中介層,通過這個中介層來完成通訊,這個中介層可以是jsp、servlet、php等,位於本域中,跨域問題在伺服器端很容易實現。

    3.iframe:在本域端插入一個iframe標籤,使其src指向跨域段的一個proxy頁面頁面,讓代理頁面進行ajax請求,解決通訊問題。參考

    4.flash、img、HTML5也可以解決跨域問題

 12、如何將字串轉換成json

    方法: 1、高版本瀏覽器  var json = JSON.parse(str); 2、早期方法: var json = eval('('+str+')'); 3、var json = (new Function('return '+str))() 關於Function的解析可以參考  W3school、  食鳥軒

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.