Skip to content

字节三面

项目

主要是一些项目的细节以及设计方面的;

底层问题

1, 如果js不提供闭包, 你如何实现闭包?

2, 如果react不提供useState, 如何实现useState()钩子? 状态如何更新? 如何触发组件渲染

3, 为什么有原型?

4, 函数组件和类组件的区别和联系? 为什么有函数组件还要搞个类组件? react封装解决了什么问题?

5, js为什么有原型链?他为什么有这个东西?他属于这个语言的特性;

6, 为什么有虚拟dom, 相比于原生dom, 优点在哪? 他既然性能不好, 为什么还要用?

算法题

1, 给你一颗二叉树,打印它的右视图

2, MySQL 设置最大连接数

采集一个服务,在高峰期一段连续时间里的所有连接记录,这些记录是无序的,每条记录是一个三元组(连接id、开始时间、结束时间),时间是秒级的时间戳,求这段时间的最大连接数

就是一个数组:

https://www.lintcode.com/problem/919/

js
const list = [
    [id, start,end],
    ...
]
js
const maxConnect = (list) => {
    let max_count = 0;
    let current = 0;
    let events = []

    for(const value of list){
        const {id, start, end} = value
        events.push([start,1])
        events.push([end,-1])
    }

    events.sort((a,b)=>{
        a[0] - b[0]
    })

    for(const value of events){
        const[a, b] = value
        current += b
        max_count = Math.max(current, max_count)
    }
    return max_count
}

1, 问, 思路是? 时间复杂度和空间复杂度是? 2, 最大连接数是? 就是start和end的最大重合数;

本站访客数 人次 本站总访问量