引用https://blog.csdn.net/shadothew/article/details/88562474
阿裡的應屆校招網申和内推在八月份開始,提前應該開始準備
2020 4.3
1.有三個元素,第一個與第三個寬度都為100px,中間元素占用剩餘空間,怎麼做到中間元素随着浏覽器寬度的變化而變化
<div class="b">2</div>
<style>
.b{
background-color: black;
position: absolute;
left: 100px;
right: 100px;
width: auto;
color: white;
text-align: center;
}
</style>
2.講講box-sizing
content-box :正常狀态,border 和 padding 單獨占位,盒子總寬高是 設定寬高加上兩者之和
border-box :邊框盒子 盒子總寬高為設定好寬高 ,border和padding 占用設定寬高的位置。
3.做項目有沒有遇到什麼坑
第一次做跨域請求,背景做攔截器接受資料報undefined,找了半天錯誤,結果發現開始接收的option請求,這個請求不帶資料。。
4.rem與em的差別
rem是根據根的font-size變化,em是根據父級的font-size變化
5.實作destructuringArray
// destructuringArray( [1,[2,4],3], "[a,[b],c]" )
// result
// { a:1, b:2, c:3 }
let destructuringArray = (arry1,string) => {
string = string.replace(/\[/g,'')
string = string.replace(/\]/g,'')
string = string.split(',')
let q = {}
string.some((item,index) => {
if(typeof arry1[index] === 'object'){
let arr = Object.keys(arry1[index])
q[item] = arry1[index][arr[0]]
}
else{
q[item] = arry1[index]
}
})
return q
}
2020.4.8
1.一個元素随頁面的下滑而字型變小,如何減少監聽滑輪開銷,或者減少搜尋引擎搜尋時聯想詞的開銷
給一個閥值,大于這個閥值時執行一次函數。
2.原型鍊的了解
參照https://blog.csdn.net/singlever/article/details/105113968
3.閉包了解
通過執行一個函數a建立了另一個函數b,在a執行完後b執行完之前,a不會被銷毀,會和b一起成立一個閉包
4.出一個n,輸出包含n對括号的所有可能組合
let dds = (n) => {
let cont = 0 //計數器
cont += 1 //n個組的時候 ()()()() 有n/n = 1個
cont += n-1 //n-1個組的時候 () 空出來一個随機添加到任何一個組内 就有n-1種可能
for(let i = 1;i<=(n-3);i++){ //n-2個組的時候 ()() 空出來兩個,随機排列 有(n-3)+(n-4)+(n-5)+(n-(n-1))+0
cont += i
}
cont += (n-2) //全包例如n=5 (()())()() 每個組能全部容納多出來的 是以有 n-2 種
//後續我放棄了。。。。。
}
5. 0-9和a-z分别表示36進制數的0-36,寫一個加法。
0-9a-z 36進制數
“1b", "2x" = "48"
"zzz", "1" = "1000"
沒看懂題
2020 5.18
1.apply和call的差別
參考