引用https://blog.youkuaiyun.com/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.youkuaiyun.com/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的区别