IT书架 本次搜索耗时 0.210 秒,为您找到 430 个相关结果.
  • 366.golang除了goroutine还有什么处理并发的方法

    135 2024-01-22 《Golang面试题》
    golang除了goroutine还有什么处理并发的方法 golang除了goroutine还有什么处理并发的方法 参考解析 题目来源:成都景合 解析: 处理并发的方法,主要使用goroutine,还可以使用channel + goroutine 以及使用 sync 包提供的并发锁以及经常用的信号量机制。
  • 502.删除写屏障

    135 2024-01-25 《Golang面试题》
    删除写屏障 删除写屏障 Golang 没有这一步,Golang 的内存写屏障是由插入写屏障到混合写屏障过渡 的。简单介绍一下,一个对象即使被删除了最后一个指向它的指针也依旧可以 活过这一轮,在下一轮 GC 中才被清理掉。
  • 417.Go结构体内嵌后的命名冲突

    135 2024-01-23 《Golang面试题》
    Go结构体内嵌后的命名冲突 Go结构体内嵌后的命名冲突 参考解析 题目来源:腾讯 答案: package main import ( "fmt" ) type A struct { a int } type B struct { a int }...
  • 473.Channel 的 ring buffer 实现

    135 2024-01-24 《Golang面试题》
    Channel 的 ring buffer 实现 Channel 的 ring buffer 实现 参考解析 channel 中使用了 ring buffer(环形缓冲区) 来缓存写入的数据。ring buffer 有很多好处,而且非常适合用来实现 FIFO 式的固定长度队列。 在 channel 中,ring buffer 的实现如下: ...
  • 365.golang的基础问题,比如包管理,比如值传递,比如协程

    134 2024-01-22 《Golang面试题》
    golang的基础问题,比如包管理,比如值传递,比如协程 golang的基础问题,比如包管理,比如值传递,比如协程 参考解析 题目来源:有色 解析: 本题因人而异,回答可以深入,也能够宽泛,但是可以基本回答几个点:1、go 在 1.11 版本之前使用 gopath 与 goroot 的模式进行包管理,从 1.11 版本后,默认使用 go ...
  • 471.Golang Map 查找

    134 2024-01-24 《Golang面试题》
    Golang Map 查找 Golang Map 查找 参考解析 Go 语言中 map 采用的是哈希查找表,由一个 key 通过哈希函数得到哈希值,64 位系统中就生成一个 64bit 的哈希值,由这个哈希值将 key 对应存到不同的桶 (bucket)中,当有多个哈希映射到相同的的桶中时,使用链表解决哈希冲 突。 细节:key 经过 hash...
  • 466.Golang Slice 的扩容机制,有什么注意点?

    134 2024-01-24 《Golang面试题》
    Golang Slice 的扩容机制,有什么注意点? Golang Slice 的扩容机制,有什么注意点? 参考解析 Go 中切片扩容的策略是这样的: - 首先判断,如果新申请容量大于 2 倍的旧容量,最终容量就是新申请的容 量 - 否则判断,如果旧切片的长度小于 1024 ,则最终容量就是旧容量...
  • 543.Go goroutine的底层实现原理?

    134 2024-01-25 《Golang面试题》
    Go goroutine的底层实现原理? 概念 底层数据结构 状态流转 创建 运行 阻塞 唤醒 退出 Go goroutine的底层实现原理? 参考解析 概念 Goroutine可以理解为一种Go语言的协程(轻量级线程),是Go支持高并发的基础,属于用户态的线程,由Go runtime管理而不是操作系统。 底层数据结构 ...
  • 409.讲讲go的启动过程

    134 2024-01-23 《Golang面试题》
    讲讲go的启动过程 讲讲go的启动过程 Go语言的启动过程可以分为编译和运行两个阶段。以下是Go程序的启动过程的简要描述: 源代码编写: 开发者编写Go程序的源代码文件,通常以.go 为文件扩展名。 编译: 使用Go编译器将源代码编译成机器代码。这个阶段生成一个可执行文件。 go build < filename >. go ...
  • 351.golang的锁有了解吗?

    133 2024-01-22 《Golang面试题》
    golang的锁有了解吗? golang的锁有了解吗? 题目来源: 答案:行飞子 golang主要有两种锁:互斥锁 和读写锁 Mutex 可以实现互斥锁,使用互斥锁(Mutex,全称 mutual exclusion)是为了来保护一个资源不会因为并发操作而引起冲突导致数据不准确。 RWMutex可以实现读写锁,每种锁分别对应两个方法,...