字节国际电商一面(6.18)

本来投的飞书,被挂了,然后国际电商部门捞起来了。面试官人很好,但是我的知识积累还有待加强,基本全程被拷打。。。。。。。。。

面试官查看简历后说我是科班出身,所以会问一些计算机基础。

进程和线程的区别
悲观锁和乐观锁
从构建请求到渲染页面发生的过程(越详细越好)
页面输入错误网址发生了什么
如何访问内网ip 正向代理和反向代理
cdn  dns
强缓存和协商缓存
如何在强缓存和协商缓存都可以命中的情况下绕开缓存机制直接走请求
301 302 303 含义以及应用场景
tcp三次握手
简单请求 预检请求
服务端如何知道post请求query参数获取完毕
http 1.0 2.0 3.0区别 
udp使用场景
如何使用udp建立可靠连接 quic协议
rendertree渲染流程
defer async  还有没有其它方法
对于首页需要加载大量静态数据(css文件,图片,视频)导致的白屏如何优化

promise顺序输出题

 setTimeout(() => {
            console.log(1)
        }, 0)

new Promise((resolve) => {
            console.log(2)
            resolve(3)

        }).then(	
            res => {
                console.log(res)
                Promise.reject("err")
            },
            err => {
                console.log("err", err)
            }).catch(err => {
                console.log("catch", err)
            })

算法题

const list = [{
    id: 1,
    name: "one"
}, {
    id: 2,
    name: "two"
}, {
    id: 3,
    pid: 2,
    name: "three"
}, {
    id: 4, pid: 5,
    name: "four"
}, {
    id: 5,
    pid: 2,
    name: "five"
}, {
    id: 6,
    pid: 2,
    name: "six"
}, {
    id: 7,
    name: "sevven"
}]

const transform = function (list) {
    ///XXX
    return list
}


[
    { id: 1, name: "one" },
    {
        id: 2,
        name: "two",
        children: [
            {
                id: 3,
                pid: 2,
                name: "three"
            },
            {
                id: 5,
                pid: 2,
                name: "five",
                children: [
                    { id: 4, pid: 5, name: "four" }]
            },
            {
                id: 6,
                pid: 2,
                name: "six"
            }]
    },
    {
        id: 7,
        name: "sevven"
    }
]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值