前端面試總結(紅色題爲必考,其餘爲常考)css
1、關於css面試題html
一、css垂直居中的集中方式?前端
答案:html結構:vue
1html5 2webpack 3css3 |
<div class="box">nginx <div>垂直居中</div>git </div>es6 |
方法1:display: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;
}
方法3:translate
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; } |
方法4:table-cell
1 2 3 4 5 |
.box{ display: table-cell; vertical-align: middle; text-align: center; } |
父元素設置相對或絕對定位;要居中的子元素設置絕對定位,全部偏移量爲0,外邊距爲auto:
.wrap{
positon:relative;
}
.center{
positon:absolute;
top:0;bottom:0;left:0;right:0;
margin:auto;
}
二、對於移動端的佈局方式?(採用display:flex 以及rem,em、px區別 )
3、css3的兼容問題(通常簡單的答一些經常使用的兼容問題就好,不經常使用的就說碰到了百度解決的)
2、關於html5、css3面試題
一、html5的新屬性有哪些?(列舉一些新增經常使用的語義化標籤,以及input新增屬性,以及媒體標籤,canvas,本地存儲,websocket以及實現原理 這些就好)
二、Localstorage、sessionstorage、cookie三者各個的區別,及特色,優勢,本地存儲使用場景具體怎麼用?
3、css3新增屬性以及動畫?
3、關於js/jq面試題
1、http請求過程有哪些?
2、原聲ajax請求過程?
三、post請求以及get請求的優缺點?
四、對array數組處理以及string處理的一些經常使用方法?
5、如何遍歷一個數組裏的每一個數據,(主要考遍歷的一些方法 for循環,forEach(),map()方法)
6、怎樣進行深拷貝及淺拷貝?他們的區別?
(推薦地址:https://www.cnblogs.com/chenhuichao/p/9121353.html)
7、關於this指向問題,在不一樣的場景下this的指向?
8、關於閉包,如何建立閉包,閉包的用處及缺點?
(推薦地址:https://www.cnblogs.com/chenhuichao/p/8568486.html)
9、怎樣理解原型鏈?
10、數組去重的方法?
(推薦地址:https://www.cnblogs.com/chenhuichao/p/9121404.html)
十一、爲何會有跨域、跨域的幾種解決方式?
答:(從同源策略 方面進行回答、 跨域方式 jsonp,設置請求頭,nginx代理 vul-cli的proxyTable反向代理解決跨域)
4、關於vue面試題
1、Vue的生命週期有哪些,分別有哪些特性?
2、父子組件,以及非父子關係組件的通訊是怎麼實現的?(父傳子經過props,子傳父經過$emit,促發父組件自定義函數,vuex狀態管理進行通訊,$eventBus進行通訊)
三、vuex包含哪些內容?實現原理?使用場景及優缺點?
4、vue路由的設置,及路由守衛的實現?
五、vue2及之前版本的實現原理,vue3.0的實現原理?
答:js經過Object.defineProperty修改屬性的get, set方法,從而達到數據改變的目的。3.0將使用 ES2015 Proxy的 observer 實現 做爲其觀察者機制,它能夠提供覆蓋語言 (JavaScript——譯註) 全範圍的響應式能力,這消除了之前存在的警告,使速度加倍,並節省了一半的內存開銷。
5、關於es6面試題
1、es6經常使用的一些命令,方法,api 。
(例如 let、const、import、export、箭頭函數、promise對象、async函數,class,解構賦值 推薦學習地址:http://es6.ruanyifeng.com/)
6、所用工具的問題
一、代碼管理使用的工具,svn,git(經常使用命令說幾個)。
二、nginx使用場景,命令。
三、webpack有用過沒,使用場景,以及原理。
7、主觀題
1、說下你之前項目中遇到的問題,你是怎麼解決的?
二、項目中你有哪些優化項目的方案?
3、平時學習方法有哪些,你是怎麼進行學習的,對新知識是否有洞察力,以及團隊相處。
4、第二輪面試通常都是問你的興趣愛好,學習能力,性格特色,團隊協做能力,提早想好一些話題,跟面試官交心,交朋友的心態交流 事半功倍