GO
00 分钟
2022-9-16

gmp具体的调度策略

go语言的时候垃圾回收,写代码的时候如何减少小对象分配,原理,算法

map会遇到一些并发安全的问题,为什么就并发不安全了?如何解决

实现map的方法除了哈希还有哪些?

goslice和map的区别,slice和数组的区别

如何实现一个线程安全的map

map如何顺序读取

gomap的底层实现

map取一个key,然后修改这个值,原map数据的值会不会变化

为什么不要大量使用goroutine

go里面goroutine创建数量有限制吗?

为什么不要频繁创建和停止goroutine

goroutine为什么会存在,为什么不使用线程?

并行goroutine如何实现

如何拿到多个goroutine的返回值,如何区别他们

goroutine在项目里面主要承担了什么责任

gochannel实现排序

go里面channel是什么样的概念

channel和共享内存有什么优劣势?

写个channel相关的题,并发模型,爬虫url,控制并发量

channel主要做什么事情

channel底层是用什么实现的?

channel有缓冲和无缓冲在使用上有什么区别?

关闭channel有什么作用?

go利用channel通信的方式

被close的channel会有什么问题

分布式锁知道哪些?用channel如何实现?

集群用channel如何实现分布式锁

channel和锁对比一下

channel的应用场景

go里面为什么需要多协程?

go协程线程进程区别

同一个协程里面,对无缓冲channel同时发送和接收数据有什么问题

用go协程的时候也是要走IO的,go是如何处理的?

用go实现一个协程池,大概用什么实现

主协程如何等其余协程完再操作

向为nil的channel发送数据会怎么样

rpc微服务框架

rpc调用过程

rpc服务是如何找到其他目标服务的?

rpc底层实现

string和byte数组有什么区别?

数组和切片的关系和区别

如何把数组转化成一个切片

创建一个数组底层扩容

切片是如何实现的,底层架构是什么

gin框架的路由是怎么处理的?

熔断降级开源框架

golang用到哪些框架

go里面比较成熟的日志框架了解过没有

go主要用搜框架

grpc

mq底层数仓

runtime包里面的方法

go的profile工具?

 

fork的底层实现方式

go实现不重启热部署

go性能分析工具

go并发机制

go内存操作也要处理IO,是如何处理的?

一个进程能创建的线程数量受到哪些制约?

分布式锁如何实现

读扩散&写扩散

锁的可重入

常用限流算法

serviceMash

GPM调度模型

slice和array区别

Hash实现、冲突解决、应用

io多路复用,select\poll\epoll的实现和区别

protobuf为什么快

gowaitgroup的坑

etcd原理

给一个栈,用另外一个栈实现排序

gostruct能不能比较

select可以用于什么

context包的用途

client如何实现长连接

slice,len,cap,共享,扩容

IO多路复用

集群分布式

线程

etcd

syncpool的实现原理

sleep底层实现原理

while(tree){sleep(1)}这个会有什么问题

go结构体和结构体指针的区别

go深拷贝,什么时候需要深拷贝

go如何避免panic

结构体创建优化

中间各个链条出现问题怎么办?如何解决,有没有什么其他方案

读过什么go源码没有

go什么场景使用接口

内存申请上有什么区别

函数传递有什么区别

服务能开多少个m由什么决定

开多少个p由什么决定

m和p是什么样的关系

同时启了一万个g,如何调度的?

go里面interface是什么概念

相比于javac++interface有什么区别吗?

一个进程能创建多少线程受哪些因素的限制

golangwait.group用过吗?

读写锁说下

defer用的多吗?有哪些应用

异常捕获是如何做的?

怎么理解“不要用共享内存来通信,而是用通信来共享内存”

IO多路复用有看过吗?

扩展类型说下

hyperloglog详细说下

gpm模型

make一个slice参数怎么写?

gpm模型

golang支持哪些并发机制

go用共享内存的方式实现并发如何保证安全?

go的锁是可重入的吗?

获取不到锁会一直等待吗?

那如何实现一个timeout的锁?

go语言如何实现服务不重启热部署

go性能分析工具

gpm模型

为什么gpm模型会更快?

为什么给变量一个基础类型没有并发安全问题?

如何解决这个问题?

是如何做到和本地调用一样的?

如果一个包要依赖另一个包,这个时候如何写单元测试

知道浮点数在机器上面怎么存储的

知道processor大小是多少吗?

go的init函数是什么时候执行的?多个init函数执行顺序能保证吗?

cgo了解过引入的风险点吗?

forrange坑输出

遇到过什么语法问题

go实现一个并发限制爬虫

对go的中间件和工作机制有了解吗?

对连接池有了解吗?

怎么检查go问题

如何通过goclient写代码获取

context包内部如何实现的?

go怎么实现封装继承多态

为什么go的变量申请类型是为了什么?

 

评论