IT书架 本次搜索耗时 0.168 秒,为您找到 1106 个相关结果.
  • 434.Go 并发优秀在哪里,需要通过实际的测试,benchmark等说明

    137 2024-01-23 《Golang面试题》
    Go 并发优秀在哪里,需要通过实际的测试,benchmark等说明 Go 并发优秀在哪里,需要通过实际的测试,benchmark等说明 参考解析 题目来源:Shopee 答案: Go中天然的支持并发,Go允许使用go语句开启一个新的运行期线程,即 goroutine,以一个不同的、新创建的goroutine来执行一个函数。同一个程序中的...
  • 329.golang调度能不能不要p

    137 2024-01-22 《Golang面试题》
    golang调度能不能不要p golang调度能不能不要p 题目来源:腾讯 答案: 1.介绍golang调度器中P是什么? Processor的简称,处理器,上下文。 2.简述p的功能与为什么必须要P 它的主要用途就是用来执行goroutine的,它维护了一个goroutine队列,即runqueue。Processor是让咱们从N:1调度...
  • 351.golang的锁有了解吗?

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

    136 2024-01-25 《Golang面试题》
    Go 可重入锁如何实现? Go 可重入锁如何实现? 参考解析 概念: 可重入锁又称为递归锁,是指在同一个线程在外层方法获取锁的时候,在进入该线程的内层方法时会自动获取锁,不会因为之前已经获取过还没释放再次加锁导致死锁 为什么Go语言中没有可重入锁? Mutex 不是可重入的锁。Mutex 的实现中没有记录哪个 goroutine 拥有这...
  • 312.silce遇到过哪些坑,原理?append可能导致底层数组改变

    136 2024-01-22 《Golang面试题》
    silce遇到过哪些坑,原理?append可能导致底层数组改变 silce遇到过哪些坑,原理?append可能导致底层数组改变 题目来源:百度 切片扩容的策略: 首先判断,如果新申请容量大于 2 倍的旧容量,最终容量就是新申请的容量 否则判断,如果旧切片的长度小于 1024,则最终容量就是旧容量的两倍 否则判断,如果旧切片长度...
  • 417.Go结构体内嵌后的命名冲突

    136 2024-01-23 《Golang面试题》
    Go结构体内嵌后的命名冲突 Go结构体内嵌后的命名冲突 参考解析 题目来源:腾讯 答案: package main import ( "fmt" ) type A struct { a int } type B struct { a int }...
  • 330.借助额外的数据结构比如slice等,对key进行排序,遍历slice得到顺序输出

    136 2024-01-22 《Golang面试题》
    借助额外的数据结构比如slice等,对key进行排序,遍历slice得到顺序输出 借助额外的数据结构比如slice等,对key进行排序,遍历slice得到顺序输出 题目来源:BIGO 答案: 1.解题思路 我们现在有一个“有序的切片” 根据这个切片将map有序输出 2.这里写的是一个模板,根据具体的slice与map来写出代码 ...
  • 365.golang的基础问题,比如包管理,比如值传递,比如协程

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

    136 2024-01-24 《Golang面试题》
    Channel 的 ring buffer 实现 Channel 的 ring buffer 实现 参考解析 channel 中使用了 ring buffer(环形缓冲区) 来缓存写入的数据。ring buffer 有很多好处,而且非常适合用来实现 FIFO 式的固定长度队列。 在 channel 中,ring buffer 的实现如下: ...
  • 409.讲讲go的启动过程

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