写个channel相关的题,并发模型,爬虫url,控制并发量
题目来源:好未来答案:T参考:https://cloud.tencent.com/developer/article/1820718package mai...
一个a+b程序从编译到运行都发生了什么(从预编译到print显示到屏幕上)
答案:简要来说,整个流程如下:源码 --> 编译 --> 链接 --> 可执行文件 --> 执行输出Golang为编译型语言,需要...
Go中struct组合与Java继承的区别
答案:两者都是在编译期实现的。 Go语言的继承通过匿名组合完成:基类以Struct的方式定义,子类只需要把基类作为成员放在子类的定义中,支持多继承。Ja...
虚拟内存有什么作用 (无效,属于操作系统)
答案:虚拟内存就是说,让物理内存扩充成更⼤的逻辑内存,从⽽让程序获得更多的可⽤内存。虚拟内存使⽤部分加载的 技术,让⼀个进程或者资源的某些⻚⾯加载进内存...
Go 并发优秀在哪里,需要通过实际的测试,benchmark等说明
答案:Go中天然的支持并发,Go允许使用go语句开启一个新的运行期线程,即 goroutine,以一个不同的、新创建的goroutine来执行一个函数。同...
使用过哪些 golang 的 String 类库
答案:string.builderGo 语言提供了一个专门操作字符串的库 strings,可以用于字符串查找、替换、比较等。使用 strings.Buil...
golang 断言
答案:golang 断言是作用在接口上的。go 作为一门强类型语言,对数据类型有着严格的区分,但所有类型(如 int、slice、map 等)都满足了 i...
使用 database/sql 和 使用 gorm 的区别
答案:Go操作Mysql数据库,一般有两种方式:通过 database/sql 接口通过 GORM 对象关系映射使用 database/sql 接口Go没...
如何限制 goroutine 并发数量 (channel 或 WaitGroup)
答案:限制 goroutine 并发数量有两种办法:使用channel通道WaitGroupchanel 实现 goroutine 并发数量限制 在每次...
go什么场景使用接口
题目序号:252题目来源:映客频次:1答案1:(趁醉独饮痛)定义Interface 是一个定义了方法签名的集合,用来指定对象的行为,如果对象做到了 Int...
信令用wss还是ws?
题目序号:958题目来源:好未来 频次:1答案1:(peace)信令:信令(Signaling)是指通讯系统中的控制指令。wss:WSS 是 Web So...
go怎么实现封装继承多态
题目序号:976题目来源:好未来 频次:1答案1:(peace)封装封装就是把抽象出的字段和字段的操作封装在一起,数据被保护在内部,程序的其他包只有通过被...
为什么go的变量申请类型是为了什么?
题目序号:977题目来源:好未来 频次:1答案1:(peace)在 Go 编程语言中,数据类型用于声明函数和变量。数据类型的出现是为了把数据分成所需内存大...
Go和JAVA垃圾回收机制有啥区别
题目序号:977题目来源:好未来 频次:1答案1:(peace)1) JAVA java语言中选择了可达性分析进行对象存活判断,而不是引用计数,主要也...
用Channel和两个协程实现数组相加
题目序号:985题目来源:好未来 频次:1答案1:(peace)代码如下:package main import "fmt" //用...
go map并发安全问题,如何解决
题目序号:314题目来源:频次:1答案1:(树枝)go map 并发为什么不是安全的?熟悉Go语言的人或多或少都听过Rob Pike的这句话 Do not...
node.js和go是基于什么样的考虑是用这两种语言的?
题目序号:584题目来源:滴滴频次:1答案1:(重拾)1.使用Node.js时,CPU性能或内存限制任务会变慢。Node.js基于JavaScript,一...
golang垃圾回收机制了解吗?
题目序号:618 同40题题目来源:频次:高频答案1:(重拾)垃圾回收就是对程序中不再使用的内存资源进行自动回收的操作。三色标记法初始化状态下所有对象都是...
golang支持哪些并发机制
题目序号:654题目来源:网易频次:1答案1:(重拾)Go语言中实现了两种并发模型,一种是我们熟悉的线程与锁的并发模型,它主要依赖于共享内存实现的。程序的...
go利用channel通信的方式
题目序号:655题目来源:网易频次:1答案1:(重拾)1.channel的发送与接收,从channel发送数据和读取数据需要使用 “<-”符号,如...
go协程的实现方式
题目序号:(65,1186)题目来源:好未来、字节跳动频次:2答案1 :(栾龙生)协程介绍协程并不是Go发明的概念,支持协程的编程语言有很多,比如Pyth...
P和M的数量一定是1:1吗?如果一个G阻塞了会怎么样?
题目序号:(166)题目来源:哔哩哔哩频次:1答案1:(栾龙生)不一定,M必须持有P才可以执行代码,跟系统中的其他线程一样,M也会被系统调用阻塞。P的个数...
怎么确定走go语言技术栈的
题目序号:(88)题目来源:小米频次:1答案1:(栾龙生)Go语言我之前是一名C++程序员,最初接触Go语言是因为使用到了Go语言的明星产品Docker,...
go语言怎么做的连接复用,怎么支持的并发请求,go的netpoll是怎么实现的像阻塞read一样去使用底层的非阻塞read
题目序号:(56)题目来源:字节跳动频次:1答案1:(栾龙生)IO多路复用的netpoll模型go语言怎么做的连接复用go语言中IO多路复用使用netpo...
被close的channel会有什么问题
题目序号:(658)题目来源:网易频次:1答案1:(呼哈)nil的channel:关闭会panic;非空的channel:关闭成功,读完数据后返回零值;空...
分布式锁知道哪些?用channel如何实现?
题目序号:(659)题目来源:网易频次:1答案1:(呼哈)分布式锁定义-控制分布式系统有序的去对共享资源进行操作,通过互斥来保持一致性。通过数据库,red...
集群用channel如何实现分布式锁
题目序号:(660)题目来源:网易频次:1答案1:(呼哈)通过channel作为媒介,利用struct作为信号,判断struct是否存在进行加锁、解锁操作...
并行goroutine如何实现
题目序号:(661)题目来源:网易频次:1答案1:(呼哈)通过设置最大的可同时使用的 CPU 核数,例如同时执行两个goroutine,设置runtime...
go用共享内存的方式实现并发如何保证安全?
题目序号:(662)题目来源:网易频次:1答案1:(呼哈)Go的设计思想就是, 不要通过共享内存来通信,而是通过通信来共享内存,前者就是传统的加锁,后者就...
什么时候会触发线程切换
题目序号:(1533)题目来源:腾讯频次:1答案1:(cxiang)线程只在分配的时间片内占用处理器,当一个线程分配的时间片用完了,或者自身原因被迫暂停运...
goroutine和线程的区别,为什么说goroutine轻量
题目序号:(1619)题目来源:美团频次:1答案1:(cxiang)线程线程有时被称为轻量级进程(Lightweight Process),是程序执行流的...
有对项目和系统做性能测试吗?(benchmark 和 pprodf)
题目序号:(1630)题目来源:腾讯频次:1答案1:(cxiang)benchmark Go 语言标准库内置的 testing 测试框架提供了基准测试(b...
看你会golang,讲下go的协程模型?(GPM模型)
题目序号:(1664)题目来源:字节跳动频次:1答案1:(cxiang)go协程使用GPM调度模型实现,具体内容如下:G : goroutine协程P:p...
golang http库设计原理,为什么不池化
题目序号:(151, 152)题目来源: 字节跳动频次: 1答案1:(阿纪、)http库设计原理用 Go 实现一个 http server 非常容易,Go...
golang gc
题目序号:(153, 154, 155, 10)题目来源: 字节跳动,深信服,米哈游频次: 3答案1:(阿纪、)对【40. go的GC(标记清理 ->...
讲一讲 Golang 的并发控制
题目序号:169题目来源:哔哩哔哩频次:1答案1:(小小)开发 go 程序的时候,时常需要使用 goroutine 并发处理任务,有时候这些 gorout...
关闭一个已经关闭的 Channel 会发生什么?Channel 有缓存和没缓存的区别是什么?
题目序号:170题目来源:哔哩哔哩答案1:(小小)问题1:关闭已经关闭的 Channel 会发生 panic。问题2:无缓冲的与有缓冲 channel 有...
父 goroutine 退出,如何使得子 goroutine 也退出?
题目序号:207题目来源:好未来频次:1答案1:(小小)父子协程的退出分为两种情况:当父协程是 main 协程时,父协程退出,父协程下的所有子协程也会跟着...
Channel 的使用场景
题目序号:216题目来源:好未来频次:1答案1:(小小)数据交流:当作并发的 buffer 或者 queue,解决生产者 - 消费者问题。多个 gorou...
go slice 和 map 的区别
题目序号:223题目来源:映客答案1:(小小)Map 是一种无序的键值对的集合。Map 可以通过 key 来快速检索数据,key 类似于索引,指向数据的值...
go中的互斥锁:正常、饥饿状态,读写锁中写操作如何阻止读操作?
题目序号:126题目来源:字节跳动频次:1答案1:(在远方)正常模式:在正常模式下,锁的等待者会按照先进先出的顺序获取锁。但是刚被唤起的 Goroutin...
GMP中,M的数量怎么控制,P呢?
题目序号:129题目来源:字节跳动频次:1答案1:(在远方)M:内核级线程G:代表一个goroutineP:Processor,处理器,用来管理和执行go...
类型断言用过吗,说说实现,如何判断断言成功?
题目序号:130题目来源:字节跳动频次:1答案1:(在远方)第一种:格式 t := i.(T),这个表达式可以断言一个接口对象(i)里不是 nil...
sleep底层实现原理
题目序号:(370)题目来源:频次:1答案1:(dema)进入Go语言中(当前为1.17版本)的sleep.go文件查看源码sleep的定义如下// Sl...
主协程如何等待其余协程完再操作
题目序号:(421, 3235)题目来源:腾讯频次:2答案1:(dema)Sleep(不常用),在main方法退出之前 sleep 一段时间package...
interface 的底层实现
题目序号:1682题目来源:字节跳动频次:1答案1:(小小)Go 语言根据接口类型是否包含一组方法将接口类型分成了两类:使用 runtime.iface ...
已加贵站~
name: 技研录
link: https://linmohan.fun/
avatar: https://linmohan.fun/img/favicon.png
descr: 「代码重构世界,逻辑解构真理」