前端面試題總結(2018-7-19)包括京東、科大訊飛、軟通動力一些公司。。。。。。


前端面試總結(紅色題為必考,其他為常考

一、關於css面試題

1、css垂直居中的集中方式?

答案:html結構:

1

2

3

<div class="box">

        <div>垂直居中</div>

</div>

方法1display:flex

1

2

3

4

5

.box{

    display: flex;

    justify-content:center;

    align-items:Center;

}

方法2:絕對定位和負邊距

.box{position:relative;}
.box div{

            position: absolute;

            width:100px;

            height: 50px;

            top:50%;

            left:50%;

            margin-left:-50px;

            margin-top:-25px;

            text-align: center;

        }

方法3translate

1

2

3

4

5

6

7

8

.box childdiv{

            position: absolute;

            top:50%;

            left:50%;

            width:100%;

            transform:translate(-50%,-50%);

            text-align: center;

        }

方法4table-cell

1

2

3

4

5

.box{

    display: table-cell;

    vertical-align: middle;

    text-align: center;        

}

方法5:偏移量0+margin:auto

父元素設置相對或絕對定位;要居中的子元素設置絕對定位,所有偏移量為0,外邊距為auto

.wrap{

  positon:relative;
}
.center{

  positon:absolute;

  top:0;bottom:0;left:0;right:0;

  margin:auto;
}

2、對於移動端的布局方式?
答:1.【采用display:flex布局兼容ie10+(推薦地址http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
  2.采用百分比布局;
  3.采用rem、em、或者vh vw來寫寬高布局
3、對於 移動端使用rem,em、px、vw/vh區別 
4css3的兼容問題(一般簡單的答一些常用的兼容問題就好,不常用的就說碰到了百度解決的)

 5、盒子模型(標准盒子模型、ie盒子模型)
答: 盒子模型由 html元素 的內容content+內邊距padding+邊框border+外邊距margin組成 ,標准盒子模型(box-sizing:content-box)元素的所設寬度 就是內容content寬度 而ie盒子模型(box-sizing:border-box) 所設寬度 由content+padding+border組成

二、關於html5css3面試題

1、html5的新屬性有哪些?(列舉一些新增常用的語義化標簽,以及input新增屬性,以及媒體標簽,canvas,本地存儲,websocket以及實現原理 這些就好 順帶可以談談seo優化的事情)

2、Localstoragesessionstoragecookie三者各個的區別,及特點,優點,本地存儲使用場景具體怎么用?
3css3新增屬性以及動畫?

 

三、關於js/jq面試題
1http請求過程有哪些?

  1. 對網址進行DNS域名解析,得到對應的IP地址
  2. 根據這個IP,找到對應的服務器,發起TCP的三次握手
  3. 建立TCP連接后發起HTTP請求
  4. 服務器響應HTTP請求,瀏覽器得到html代碼
  5. 瀏覽器解析html代碼,並請求html代碼中的資源(如js、css、圖片等)(先得到html代碼,才能去找這些資源)
  6. 瀏覽器對頁面進行渲染呈現給用戶
  7. 服務器關閉關閉TCP連接


2、原生ajax請求過程?

//第一步,創建XMLHttpRequest對象
var xmlHttp = new XMLHttpRequest();
//第二步,注冊回調函數
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4)
if (xmlHttp.status == 200) {
  //取得返回的數據
  var data = xmlHttp.responseText;
}
}
//第三步,配置請求信息,open(),get
//get請求下參數加在url后,.ashx?methodName = GetAllComment&str1=str1&str2=str2
xmlHttp.open("post", "/ashx/myzhuye/Detail.ashx?methodName=GetAllComment", true);
//post請求下需要配置請求頭信息
//xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//第四步,發送請求,post請求下,要傳遞的參數放這
xmlHttp.send("methodName = GetAllComment&str1=str1&str2=str2");//"

3、post請求以及get請求的優缺點?

4、array數組處理以及string處理的一些常用方法?
5、如何遍歷一個數組里的每個數據,(主要考遍歷的一些方法 for循環,forEach()map()方法)

6、怎樣進行深拷貝及淺拷貝?他們的區別?

(推薦地址:https://www.cnblogs.com/chenhuichao/p/9121353.html
7、關於this指向問題,在不同的場景下this的指向?
(推薦地址:https://www.cnblogs.com/chenhuichao/p/9351754.html

8、關於閉包,如何創建閉包,閉包的用處及缺點?
(推薦地址:https://www.cnblogs.com/chenhuichao/p/8568486.html

9、怎樣理解原型、原型鏈?
答:每個對象都會在其內部初始化一個屬性,就是prototype(原型),當我們訪問一個對象的屬性時,如果這個對象內部不存在這個屬性,那么他就會去prototype里找這個屬性,這個prototype又會有自己的prototype,於是就這樣一直找下去,也就是我們平時所說的原型鏈的概念。關系:instance.constructor.prototype = instance.__proto__ 特點: JavaScript對象是通過引用來傳遞的,我們創建的每個新對象實體中並沒有一份屬於自己的原型副本。當我們修改原型時,與之相關的對象也會繼承這一改變。

10、數組去重的方法?
(推薦地址:https://www.cnblogs.com/chenhuichao/p/9121404.html

 11、為什么會有跨域、跨域的幾種解決方式?
答:(從同源策略 方面進行回答、 跨域方式 jsonp,設置請求頭,nginx代理 vul-cli的proxyTable反向代理解決跨域)

四、關於vue面試題

1Vue的生命周期有哪些,分別有哪些特性?
2、父子組件,以及非父子關系組件的通信是怎么實現的?
(父傳子通過
props,子傳父通過$emit,促發父組件自定義函數,vuex狀態管理進行通信,$eventBus進行通信,provide / inject等)
3、vuex包含哪些內容?實現原理?使用場景及優缺點?
(推薦地址:https://www.cnblogs.com/chenhuichao/p/9261769.html)

4vue路由的設置,及路由守衛的實現?
5、vue2及以前版本的實現原理,vue3.0的實現原理?
答:js
通過Object.defineProperty修改屬性的get, set方法,從而達到數據改變的目的。3.0將使用 ES2015 Proxy的 observer 實現 作為其觀察者機制,它可以提供覆蓋語言 (JavaScript——譯注) 全范圍的響應式能力,這消除了以前存在的警告,使速度加倍,並節省了一半的內存開銷。

 

五、關於es6面試題

1es6常用的一些命令,方法,api
(例如 letconstimportexport、箭頭函數、promise對象、async函數,class,解構賦值 推薦學習地址:http://es6.ruanyifeng.com/)

六、所用工具的問題
1、代碼管理使用的工具,svn,git(常用命令說幾個)。
2、nginx使用場景,命令。

3、webpack有用過沒,使用場景,以及原理。


七、主觀題
1.mvc,mvvm的區別?
2、說下你以前項目中遇到的問題,你是怎么解決的?
3、項目中你有哪些優化項目的方案?

3、平時學習方法有哪些,你是怎么進行學習的,對新知識是否有洞察力,以及團隊相處。

4、第二輪面試一般都是問你的興趣愛好,學習能力,性格特點,團隊協作能力,提前想好一些話題,跟面試官交心,交朋友的心態交流 事半功倍

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM