鏈家面試
阿新 • • 發佈:2019-02-15
Q1:分頁問題
只能offset和limit就能解決分頁問題嗎?
很顯然是不能的,因為會有新的資料填到資料庫裡面。
- 解決方案一:儲存
把資料查詢完以後全部放置前端進行快取,需要的時候直接在快取中拿資料即可 - 解決方案二:使用小於或者大於生成資料的時間進行查詢分頁的資料
Q2:html
新的標籤nav、section、article、footer、header、aside等
為什麼新增這些標籤?
- 去掉或者丟失樣式的時候能夠讓頁面呈現出清晰的結構
- 有利於SEO,和搜尋引擎建立良好的溝通,有助於爬蟲抓取更多有效的資訊:爬蟲依賴於標籤來確定上下文和各個關鍵字的權重
- 方便其他裝置的解析(如螢幕閱讀器、盲人閱讀器、移動裝置)以意義的方式渲染網頁
- 便於團隊開發和維護,語義化更具可讀性。
Q3:怎麼實現視訊播放
一:使用HTML5新標籤
二:使用flash外掛
優缺點:使用flash可以做到瀏覽器相容,只不過需要安裝flash
HTML5新標籤,不用安裝任何外掛,但是低版本瀏覽器不支援
Q4:float和position
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type ="text/css">
div {
width: 100px;height: 100px;
}
#div1 {
background-color: green;float: left;
}
#div2 {
width: 120px;height: 12px;background-color: red;
}
</style>
</head>
<body>
<div id="div1" ></div>
<div id="div2"></div>
</body>
</html>
效果如圖:
note:元素被float之後已經不再佔用原來的位置,所以下一行的元素就上來了
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
div {
width: 100px;height: 100px;
}
#div1 {
background-color: green;float: left;
}
#div2 {
width: 120px;height: 120px;background-color: red;
}
</style>
</head>
<body>
<div id="div2"></div>
<div id="div1"></div>
</body>
</html>
效果如圖:
note:元素被float之後,它會浮動到遇到父元素邊框或者前一個浮動元素為止。
positon:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
div {
width: 100px;height: 100px;
}
#div1 {
background-color: green;
}
#div2 {
background-color: red;position: absolute;left: 20px;top: 30px;
}
</style>
</head>
<body>
<div id="div2"></div>
<div id="div1"></div>
<!-- <div id="div2"></div>效果一樣 -->
</body>
</html>
效果如圖:
note:position:absolute;這裡也是脫離文件流
來個綜合的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
div {
width: 100px;height: 100px;
}
#div1 {
background-color: green;float: left;
}
#div2 {
background-color: red;position: absolute;left: 20px;top: 30px;float: left;
}
#div3 {
background-color: black;width: 120px;height: 120px;
}
</style>
</head>
<body>
<div id="div2"></div>
<div id="div1"></div>
<div id="div3"></div>
</body>
</html>
效果圖:
Q5:js的五種基本資料型別
null、undefined、string、boolean、number
Q6:
var a = [1,2,3];
var b = [4,5,6];
function foo(a) {
a = [3,2,1];
b = [6,5,4];
}
foo(a);
a;//[1,2,3]
b;//[6,5,4]
var a = 1;
var b = 3;
function foo(a) {
a = 2;
b = 4;
}
foo(a);
a;//1
b;//4
Q7:陣列複製
淺複製就不用說了,兩個變數指向同一個引用地址
深複製
var a = [1,2,3];
function deepCopy(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if(Array.isArray(arr[i])) {
newArr.push(deepCopy(arr[i]));
}else {
newArr.push(arr[i]);
}
}
return newArr;
}
var b = deepCopy(a);
b.push(4);
a;//[1,2,3]
b;//[1,2,3,4]
Q8:http的
http協議在哪一層?應用層
他是基於哪些協議的?HTTP 是基於 TCP/IP 協議的應用層協議。它不涉及資料包(packet)傳輸,主要規定了客戶端和伺服器之間的通訊格式,預設使用80埠。
https:在http上進行了加密操作
使用https需要注意些什麼嗎?