沐瞳Golang开发秋招一面

#牛客AI配图神器#面试时间:2024-09-11
面试时长:40分钟

项目提问
● 这个基于数据库乐观锁,如何实现?
● 用户量变大之后,如何优化?
● 这个Lua脚本如何写的?
● 切换成Redis如何实现乐观锁?
● 假设锁的超时时间设置成10s,一个线程正常执行1s,那要是一个任务执行11s,另一个线程拿锁会发生什么?
● 往key加入线程id,那分布式环境下?

Golang
1. Channel底层实现
a. 写等待队列已有goroutine,过来另一个写命令,如何?
b. 数组有数据且写等待队列有goroutine,过来另一个读命令,如何?
2. Mutex底层实现
a. 介绍自旋?
b. 介绍atomic包叭
i. atomic包是如何实现的?
ii. 具体什么硬件指令实现?

手撕
二叉树右视图
func RightD(root *Tree) []int {
    queue := []*Tree{}
    front, rear := 0, 0
    last := root

    res := []int{}

    queue = append(queue, root)
    rear++

    for front != rear {
        node := queue[front]
        front++

        if node.Left != nil {
            queue = append(queue, node.Left)
            rear++
        }

        if node.Right != nil {
            queue = append(queue, node.Right)
            rear++
        }

        if node == last {
            res = append(res, node.Data)
            last = queue[rear-1]
        }
    }

    return res
}

type Tree struct {
    Data        int
    Left, Right *Tree
}

反问
全部评论

相关推荐

点赞 评论 收藏
分享
05-11 20:45
门头沟学院 Java
有担当的灰太狼又在摸...:零帧起手查看图片
点赞 评论 收藏
分享
06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
1
10
分享

创作者周榜

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