IT书架 本次搜索耗时 0.105 秒,为您找到 1023 个相关结果.
  • 408.go调度中阻塞都有那些方式

    153 2024-01-23 《Golang面试题》
    go调度中阻塞都有那些方式 go调度中阻塞都有那些方式 题目来源: 滴滴 答案: 由于原子、互斥量或通道操作调用导致 Goroutine 阻塞,调度器将把当前阻塞的 Goroutine 切换出去,重新调度 LRQ 上的其他 Goroutine; 由于网络请求和 IO 操作导致 Goroutine 阻塞。Go 程序提供了网络轮询器(NetP...
  • 554.Go 如何查看运行时调度信息?

    152 2024-01-25 《Golang面试题》
    Go 如何查看运行时调度信息? go tool trace GODEBUG Go 如何查看运行时调度信息? 有 2 种方式可以查看一个程序的调度GMP信息,分别是go tool trace和GODEBUG trace.go package main import ( "fmt" "os" "runtime/trace...
  • 499.三色标记原理

    152 2024-01-24 《Golang面试题》
    三色标记原理 三色标记原理 参考解析 原理: 首先把所有的对象都放到白色的集合中 从根节点开始遍历对象,遍历到的白色对象从白色集合中放到灰色集合中 遍历灰色集合中的对象,把灰色对象引用的白色集合的对象放入到灰色集 合中,同时把遍历过的灰色集合中的对象放到黑色的集合中 循环步骤 3,知道灰色集合中没有对象 步骤 4 结束后,白色集合中的...
  • 48.Nginx 有哪些负载均衡策略?

    48.Nginx 有哪些负载均衡策略? 48.Nginx 有哪些负载均衡策略? 负载均衡,即是代理服务器将接收的请求均衡的分发到各服务器中。 Nginx 默认提供了 3 种负载均衡策略: 1、轮询(默认)round_robin 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。 2、IP 哈希 ...
  • 557.Go 内存对齐机制?

    152 2024-01-25 《Golang面试题》
    Go 内存对齐机制? 什么是内存对齐 对齐系数 优点 缺点 结构体对齐 Go 内存对齐机制? 什么是内存对齐 为了能让CPU可以更快的存取到各个字段,Go编译器会帮你把struct结构体做数据的对齐。所谓的数据对齐,是指内存地址是所存储数据大小(按字节为单位)的整数倍,以便CPU可以一次将该数据从内存中读取出来。 编译器通过在结构体的...
  • 534.Go channel发送和接收什么情况下会死锁?

    152 2024-01-25 《Golang面试题》
    Go channel发送和接收什么情况下会死锁? Go channel发送和接收什么情况下会死锁? 参考解析 死锁: 单个协程永久阻塞 两个或两个以上的协程的执行过程中,由于竞争资源或由于彼此通信而造成的一种阻塞的现象。 channel死锁场景: 非缓存channel只写不读 非缓存channel读在写后面 缓存channel写入超...
  • 566.Go 如何排查数据竞争问题?

    152 2024-01-25 《Golang面试题》
    Go 如何排查数据竞争问题? 概念 排查方式 Go 如何排查数据竞争问题? 概念 只要有两个以上的goroutine并发访问同一变量,且至少其中的一个是写操作的时候就会发生数据竞争;全是读的情况下是不存在数据竞争的。 排查方式 package main import "fmt" func main () { ...
  • 192.Go语言实现set - name: keywords

    151 2024-01-18 《Golang面试题》
    Go语言实现set - name: keywords 答案: Go语言实现set - name: keywords 题目来源: 腾讯 答案: package set import ( "bytes" "fmt" ) func main () { } typ...
  • 364.go 的执行顺序

    151 2024-01-22 《Golang面试题》
    go 的执行顺序 go 的执行顺序 参考解析 题目来源: 答案: main 函数是 Go 应用的入口函数,但不一定是用户层第一个执行的函数。 init 函数是 Go 包的初始化函数,如果手动定义了 init 函数,则会先执行 init 函数再执行 main 函数。(并且不能手动显示的调用 init,会报错) Go 语言代码执...
  • 5. 为什么使用消息队列进行异步处理?

    5. 为什么使用消息队列进行异步处理? 5. 为什么使用消息队列进行异步处理? 这个应该对于大多数开发者,这是最最最核心的用途了!!! 传统模式下,如下图所示: 传统模式 A 系统需要 串行 逐个 同步 调用系统 B、C、D 。这其中会有很多问题: 如果每个系统调用执行是 200ms ,那么这个逻辑就要执行 600ms...