恒生一面

1.自我介绍

2.项目

3.css中的各种单位(px,em,rem,vw,vh)

答案:

  • px是像素(pixel)的缩写,相对长度单位,网页中常用的基本单位,相对于显示器的分辨率而言的;
  • em也是相对长度单位,相对于当前文本对象内的字体尺寸(font-size),如果是作用于字体的话,em是相对于父元素字体大小,如果是作用于width/height...,em是相对于该元素的font-size
  • rem相对于html根元素的字体大小来计算的,一般来说1rem=16px
  • vw、vh为视口单位,相对于视口而定的,例如1vw等于视口宽度的1/100
  • vmax、vmin不咋常见

5.什么是深拷贝,深拷贝怎么实现

答案:深拷贝是指复制对象时,不仅复制了对象的引用,还复制了对象的本身,例如一个对象A={a:1},现在深拷贝A,得到A_copy,如果修改A.a = 3,此时对A_copy没有影响,即A_copy.a 任然为1。

实现:递归实现,考虑到循环引用的问题,需要在递归过程中添加一个weakMap

代码:

function cloneDeep(obj, hash = new WeakMap()) {
    if (obj === null) return obj
    if (obj instanceof Date) return new Date(obj)
    if (obj instanceof RegExp) return new RegExp(obj)
    if (typeof obj !== 'object')
        return obj
    if (hash.get(obj)) {
        return hash.get(obj)
    }
    const newObj = new obj.constructor
    hash.set(obj, newObj)
    for (let k in obj) {
        if (obj.hasOwnProperty(k)) {
            newObj[k] = cloneDeep(obj[k], hash)
        }
    }
    return newObj
}

5.什么是跨域,跨域如何解决

答案:跨域是浏览器基于同源策略的一种安全手段,若协议、主机号、端口任何一个不同,就会受到同源策略阻止

解决方案包括JSONP、CORS、Proxy

6.css中flex有哪些属性

答案:flex-direction(项目排列方向)、flex-wrap(换行)、flex-row、justify-content(主轴对齐方式)、align-items(交叉轴对齐方式)、align-content、flex(flex-grow, flex-shrink 和 flex-basis的简)

7.http2.0与http1.1的区别有哪些

http1.1:引入了持久连接、在同一个TCP连接里面,客户端可以同时发送多个请求

http2.0:二进制帧、多路复用、报头压缩、服务器推送

8.反问

线下面的,整天20分钟左右

====

更新,已挂,感觉答得很好,哎,已放入公司库

#我的失利项目复盘#
全部评论
佬,有发通知的话能踢一下嘛
点赞 回复 分享
发布于 2023-10-17 18:25 江苏
UU有收到后续通知吗?
点赞 回复 分享
发布于 2023-10-17 15:16 浙江

相关推荐

迷茫的大四🐶:当你得到一些东西,那这些东西就会变成基本项,你有别人也有
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务