越挫越勇,面試中反應自身的不足之處,喜歡被虐的感受。好期待進入把我虐的最慘的那家公司,由於我相信能夠學到更多的知識。期待!期待!期待!
css
如下是我在面試中,遇到的一些面試題,歡迎你們提供答案,一塊兒學習呀。html
//答案:
一、HTTPS更安全
二、HTTPS須要申請證書
三、端口不一樣:http(80端口),https(443端口)
四、狀態不一樣
http:鏈接簡單,無狀態
https:由ssl+http構建、加密傳輸、身份認證的網絡協議
HTTPS是http的升級版
對安全性很高的網絡協議,採用HTTPS協議,例如:支付寶
複製代碼
一、Trident:IE內核 (css前綴:-ms-)
二、Gecko:FireFox內核(css前綴:-moz-)
三、Presto:Opera內核(css前綴:-o-)
四、Webkit:Safari、Chrome內核(css前綴:-webkit-)
五、Blink:Chrome內核(css前綴:-webkit-)
複製代碼
問題3:ajax爲何有局部刷新功能?前端
問題4:this的指向?vue
this的指向,在函數定義時肯定不了,
只有在函數執行時才能肯定this的指向。
this的最終指向的是那個調用他的對象(指向上一級對象)。
複製代碼
優先級:內聯-》ID選擇器-》僞類=屬性選擇器-》類選擇器-》元素選擇器(p)-》通用選擇器(*)-》繼承的樣式
權重:內聯樣式(1000)-》ID選擇器(100)-》class選擇器(10)-》標籤選擇器(1)
優先級同樣的:
僞類=屬性選擇器=類選擇器
複製代碼
問題6:ES6和ES7的區別?web
問題7:Vue的過濾器的使用?面試
問題8:Vue組件的使用,請說明?ajax
面試題設計模式
技術面:數組
可參考一下連接:
一、https://www.cnblogs.com/coober/p/8078847.html
二、https://blog.csdn.net/xustart7720/article/details/79960591
複製代碼
答案可參考:
https://www.cnblogs.com/daijinxue/p/6640153.html
//答案:
一、瀏覽器的地址欄輸入URL地址並按下回車;
二、瀏覽器查找當前URL是否存在緩存,並比較緩存是否過時;
三、DNS解析URL對應的IP;
四、根據IP創建TCP鏈接(三次握手);
五、http發起請求;
六、服務器處理請求,瀏覽器接受http響應;
七、渲染頁面,構建DOM樹;
八、關閉TCP鏈接(四次揮手)
複製代碼
人事面:瀏覽器
問題1:你從參與工做至今,有哪些收穫?
問題2:若是一個剛畢業的新人,你要怎麼帶她/他?
問題3:你經歷了哪些困難的事,讓你印象深入的?
問題4:若是讓你原公司的上司對你評價,你以爲他會怎麼評價你?優勢和缺點?
面試題
問題1: 數據脫敏怎麼實現?例如187****7851
問題2: 報文傳輸時,前端怎麼作加密操做?
可參考的連接:
https://blog.csdn.net/guxingsheng/article/details/84451430
複製代碼
問題3:Vue單頁面的應用?
問題4:移動端有哪幾種適配方式?
一、vh和vw 【面試官給的答案】
二、rem方式
三、經過媒體查詢方式:css的media queries
四、爲天貓爲表明:flex彈性佈局
五、以淘寶首頁爲表明的:rem+viewport縮放
可參考: A、https://blog.csdn.net/chenjuan1993/article/details/81710022
B、https://blog.csdn.net/chenjuan1993/article/details/81710022
複製代碼
一、父組件與子組件傳值:
父組件經過標籤上面定義傳值
子組件經過props接受數據
二、子組件向父組件傳遞數據:
子組件經過$emit方法傳遞參數
複製代碼
同:均可以觀察頁面的數據變化
異:
computed:對原數據進行改造輸出。例如:格式的編輯、大小寫的轉換、順序重排、添加符號等。
watch:監控數據。應用:天氣預報的穿衣指數。
複製代碼
面試題
答案:字符串
複製代碼
同:都是保存在瀏覽器端,且同源。
異:
一、cookie數據始終在同源http請求中攜帶(即便不須要),即在瀏覽器和服務器之間來回傳遞;sessionStorage和localStorage不會自動把數據發送給服務器,僅在本地保存;cookie數據還有路勁(path)的概念,能夠限制cookie只屬於某個路勁下。
二、存儲大小限制的不一樣。cookie數據不能超過4K,同時由於每次http請求都會攜帶cookie,因此cookie只適合保存很小的數據,如:會話標識。sessionStorage和localStorage雖有大小限制,可是比cookie大,可達5M或更大。
三、數據有效期不一樣。sessionStorage:僅在當前瀏覽器關閉以前有效;localStorage:始終有效,窗口或瀏覽器關閉也一直保存,所以用做持久數據;cookie:只在設置的cookie過時時間以前有效,即便窗口或瀏覽器關閉。
四、做用域不一樣。sessionStorage不在不一樣的瀏覽器窗口中共享,即便是同一個頁面;localStorage在全部同源窗口中都是共享的;cookie也是在全部同源窗口中都是共享的。
參考的連接:https://www.cnblogs.com/zr123/p/8086525.html
複製代碼
問題3:要遍歷頁面中全部父元素爲p標籤的img標籤,有哪幾種方式?你會選擇哪一種方式?爲何?(講一下思路)
問題4:position有哪幾種值?
一、absolute:生成絕對定位的元素。相對於static定位之外的第一個父元素進行定位;
二、fixed:生成絕對定位的元素。相對於瀏覽器窗口進行定位;
三、relative:生成相對定位的元素。相對於其正常位置進行定位;
四、static:默認值。沒有定位,元素出如今正常的流中。
五、inherit:規定應該從父元素繼承position屬性的值。
複製代碼
答案:見以上的問題4
複製代碼
法1:絕對定位 + margin負值使用
法2:絕對定位 + transform屬性
法3:flex佈局
法4:display:table來模擬表格形式,vertical-align:middle
參考連接:https://www.cnblogs.com/TigerZhang-home/p/7085503.html
複製代碼
答案:基本數據類型 和 引用數據類型
複製代碼
原型鏈實現了繼承。
原型鏈:每一個繼承父函數的子函數的對象都包含一個內部屬性_proto_。該屬性包含一個指針,指向父函數的prototype,若父函數的原型對象的_proto_屬性爲再上一層函數,在此過程當中就造成了原型鏈。
原型:在JavaScript中,一共有兩種類型的值,原始值和對象值,每一個對象都有一個內部屬性[[prototype]],咱們稱之爲原型。
複製代碼
問題9:js深拷貝,講一下原理?
問題10:js的call、apply和bind三者的區別?
同:
一、三者都是用來改變函數的this對象的指向的
二、第一個參數都是this要指向的對象
三、均可以利用後續參數傳值
異:
一、call和apply都是對函數的直接調用,而bind返回的還是一個函數,因此還須要()來進行調用,例:xw.call(xh)、xw.apply(xh)、xw.bind(xh)()
二、傳參不同。call是列表式傳法,apply是數組形式的傳法,bind的傳參與call一致,可是須要先調用再傳參。例:xw.call(xh,'參數1','參數2')、xw.apply(xh,['參數1','參數2'])、xw.bind(xh)('參數1','參數2')
複製代碼
變量提高:變量在聲明以前使用,值爲undefined。
暫時性死區:在代碼塊內,使用let命令聲明變量以前,該變量都是不可用的。
複製代碼
let a = [
{
index:'1',
name:'apple'
},
{
index:'2',
name:'apple1'
}
];
a.forEach(item=>{
item = {index:'0',name:'banana'};
});
console.log(a);
複製代碼
//代碼1:
var aa = 1;
function funA(){
console.log(aa);
var aa = 2;
console.log(aa);
}
funA();
console.log(aa);
//代碼2:
let bb = 1;
function funB(){
console.log(bb);
let bb = 2;
console.log(bb);
}
funB();
console.log(bb);
複製代碼
問題14:講解一下棧和堆的區別?
問題15:Java的23種設計模式?
整體來講設計模式分爲三大類:
建立型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
結構型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。
行爲型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。
其實還有兩類:併發型模式和線程池模式。
參考連接:https://www.cnblogs.com/wangzhongqiu/p/6245820.html
複製代碼
問題16:vue的生命週期?並講解每一個生命週期的做用?通常用到哪幾個生命週期?更新週期,vue的執行原理是什麼?
問題17:vue的生命週期中的銷燬,實際開發中通常會應用到哪裏?
//答案提示:關閉定時器、清數據
複製代碼
問題18:vue的雙向數據綁定的原理是什麼?
問題19:用戶輸入URL後,都發生了什麼?請介紹?
答案可參考:
https://www.cnblogs.com/daijinxue/p/6640153.html
//答案:
一、瀏覽器的地址欄輸入URL地址並按下回車;
二、瀏覽器查找當前URL是否存在緩存,並比較緩存是否過時;
三、DNS解析URL對應的IP;
四、根據IP創建TCP鏈接(三次握手);
五、http發起請求;
六、服務器處理請求,瀏覽器接受http響應;
七、渲染頁面,構建DOM樹;
八、關閉TCP鏈接(四次揮手)
複製代碼
DNS域名解析:將域名還原爲IP地址的過程。
過程:
一、首先瀏覽器先檢查本地hosts文件是否有這個網址映射關係,如有就調用這個IP地址映射,完成域名解析;
二、若沒找到則會查找本地DNS解析器緩存,若是查找到則返回;
三、若仍是沒找到則會查找本地DNS服務器,若查找到則返回;
四、最後迭代查詢,按根域服務器-》頂級域,.cn-》第二層域,hb.cn-》子域,www.hb.cn的順序找到IP地址
複製代碼
200:OK 服務器成功處理了請求
301:重定向,請求的URL已移走
304:未修改,客戶的緩存資源是最新的,要客戶端使用緩存
403:禁止,請求被服務器拒絕了
404:未找到資源
500:內部服務器錯誤
503:服務不可用
504:網關超時
參考連接:https://blog.csdn.net/allen_a/article/details/50715957
複製代碼
//代碼1:
for(var i=0;i<5;i++){
setTimeout(function(){
console.log(i);
},1000);
}
//代碼2:
for(let j=0;j<10;j++){
setTimeout(function(){
console.log(j);
},1000);
}
複製代碼
加油站
Vue.js面試題:www.jianshu.com/p/b1dd80f4d…
ES6,ES7,ES8特性總結整理:www.jianshu.com/p/7d7d64c0e…