了解过channel吗?

题目序号:2002题目来源:Shein频次:1答案:(flare)Go语言借鉴CSP(CommunicatingSequential Process,通信...

有缓冲和无缓冲的区别?

题目序号:2004题目来源:Shein频次:1答案:(flare)无缓冲channel是同步,必须等待2个goroutine同时准备好数据才执行,否则会阻...

了解过Go的内存管理吗

题目序号:2009题目来源:Shein频次:1答案:(flare)Go自带GC,可以自动回收垃圾,对比C语言不用malloc申请内存及free释放,Go的...

怎么做服务注册发现的

题目序号:(3274)题目来源: 腾讯频次: 1答案:(重拾)服务发现是指服务实例向服务注册与发现中心获取其他服务实例信息,用于进行随后的远程调用。服务发...

服务发现有哪些机制

题目序号:(3277)题目来源: 腾讯频次: 1答案:(重拾)基于Raft算法的Consul机制基于Http协议的分布式Etcd机制重量级一致性Zooke...

进程线程协程的区别

题目序号:3283题目来源:字节跳动频次:高频答案:村雨线程和进程之间的区别线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;一个进程由一个或...

go协程的好处

题目序号:3284题目来源:字节跳动/腾讯频次:高频答案:村雨go的协程是为了解决多核CPU利用率问题,go语言层面并不支持多进程或多线程,但是协程更好用...

byte和rune有什么区别

题目序号:3392题目来源:好未来频次:1答案:村雨rune和byte在go语言中都是字符类型,且都是别名类型byte型本质上是uint8类型的别名,代表...

Go的协程可以不可以自己让出cpu

题目序号:(2479)题目来源:腾讯频次:1答案1:(李好)可以,首先了解一下进程、线程(内核级线程)、协程(用户级线程)在系统调度上的区别:对于 进程、...

golang如何知道或者检测死锁

题目序号:(2654)题目来源:字节跳动频次:1答案1:(李好)为每个进程和每个资源指定一个唯一的号码,然后建立资源分配表和进程等待表。 ​ 具体工...

怎么处理锁分段

题目序号:(2270)题目来源:网易互娱频次:1答案1:(ORVR)在golang的原生map是非并发安全的,为了实现了map的并发安全,最安全有效的方式...

gomap结构,并发安全否

题目序号:(2323)题目来源:滴滴频次:1答案1:(ORVR)Go中Map是一个KV对集合。底层使用hash table,用链表来解决冲突 ,出现冲突时...

进程线程协程区别

题目序号:(2335)题目来源:奇安信频次:1答案1:(ORVR)进程进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配...

go的hashmap如何实现的

题目序号:(3106)题目来源:频次:1答案1:(One)goLang中的map来存储键值对类型的数据,但是它的内部实现是怎么样的?其实map是一种Has...

协程底层怎么实现?

题目序号:(3222)题目来源:字节跳动频次:1答案1:(One)G (goroutine)G是goroutine的头文字, goroutine可以解释为...

go的调度

题目序号:(3239)题目来源:腾讯频次:1答案1:(One)如何调度实现的机制?G是Goroutine的缩写,在这里就是Goroutine的控制结构,是...

go中的struct 能不能比较

题目序号:(3240)题目来源:腾讯频次:1答案1:(One)不同类型的 struct 之间不能进行比较,编译期就会报错(GoLand 会直接提示)同类型...

go defer

题目序号:(3241)题目来源:腾讯频次:1答案1:(One)使用defer的优势defer一般用于资源的释放和异常的捕捉, 作为Go语言的特性之一.de...

select可以用于什么

题目序号:(3242)题目来源:腾讯频次:1答案1:(One)Go 的通道有两种操作方式,一种是带 range 子句的 for 语句,另一种则是 sele...

goroutine调度源码

题目序号:(2807)题目来源: 陌陌频次: 1答案: 小强G、P、M 是 Go 调度器的三个核心组件,各司其职。在它们精密地配合下,Go 调度器得以高...

互斥锁的底层实现

题目序号:(2808)题目来源: 陌陌频次: 1答案: 小强互斥锁是并发程序中对共享资源进行访问控制的主要手段,Mutex是go语言提供的简单易用的互斥...

go 的 map 与 sync.map

题目来源: 字节跳动 频次: 1答案:苦痛律动Go语言中的Map是一种无序的键值对集合。Map可以通过key在O(1)的时间复杂度内进行查询、更改、删除操...

go 建堆过程

题目来源: 字节跳动 频次:1答案:苦痛律动堆的概念堆是一个完全二叉树 (除了最后一层,其他都是满节点,最后一层先排左节点)堆中每一个节点的值都必须大于等...

golang的一些常用工具库

题目序号:(3031)题目来源:度小满频次:1答案1:(dema)fmt包,是golang最为常见的包,提供格式化输出输入功能strings包,实现了用于...

谈谈go语言和其他语言的区别

题目序号:(3034)题目来源:小米频次:1答案1: (dema)主要有以下9点区别:Go 总是在构建中包含二进制文件Go 没有针对程序依赖的集中托管服务...

go实现协程池

题目序号:(3044)题目来源:小米频次:1答案1:(dema)package main import ( "fmt" &q...

sync.map与map的区别

题目来源:知乎频次:1答案:小小Go 语言原生 map 并不是线程安全的,对它进行并发读写操作的时候,需要加锁。而 sync.map 则是一种并发安全的 ...

Go map的底层原理

题目来源:腾讯频次:高频答案:树枝这道题需要从两个维度来回答map的实现原理go map是基于hash table(哈希表)来实现的,冲突的解决采用拉链法...

defer的执行顺序

题目来源:腾讯频次:高频答案:树枝一个函数中多个defer的执行顺序defer的作用就是把defer关键字之后的函数压入一个栈中延迟执行,多个defer的...

Golang和Java的垃圾回收机制

题目来源:Amber Group频次:答案:树枝golang在1.8GC之后采用三色标记法与混合写屏障技术三色分别指白色,黑色,灰色白色表示没有被扫描到的...

go常用的第三方库

题目来源:滴滴频次:1答案:树枝Goroutine 泄漏防治:goleak日志:logrusweb框架:gin beego压力测试:heyRPC框架:gr...