一闪笔记 本次搜索耗时 0.123 秒,为您找到 750 个相关结果.
  • 200.当go服务部署到线上了,发现有内存泄露,该怎么处理

    152 2024-01-18 《Golang面试题》
    当go服务部署到线上了,发现有内存泄露,该怎么处理 当go服务部署到线上了,发现有内存泄露,该怎么处理 题目来源: 腾讯 答案: 如果有内存泄漏,无非就是两种情况,1.goroutine泄漏。2.有一些全局的数据结构意外的挂住了本该释放的对象,虽然goroutine已经退出了,但是这些对象并没有从这类数据结构中删除,导致对象一直被引用,无法...
  • 452.Go 当中同步锁有什么特点?作用是什么

    133 2024-01-23 《Golang面试题》
    Go 当中同步锁有什么特点?作用是什么 Go 当中同步锁有什么特点?作用是什么 参考解析 当一个Goroutine(协程)获得了Mutex后,其他Goroutine(协程)就只能乖乖的等待,除非该Goroutine释放了该Mutex。RWMutex在读锁占用的情况下,会阻止写,但不阻止读 RWMutex。 在写锁占用情况下,会阻止任何其他Gorou...
  • 288.说说火焰图?如何分析的?

    136 2024-01-19 《Golang面试题》
    说说火焰图?如何分析的? 答案: 说说火焰图?如何分析的? 参考解析 题目来源:字节 答案: 火焰图横轴是 CPU 占用时间,纵轴是调用顺序。火焰图的调用顺序从下到上,每个方块代表一个函数,它上面一层表示这个函数会调用哪些函数,方块的大小代表了占用 CPU 使用的长短;火焰图可以从全局来查看系统运行时的内存和 CPU,以及 Gorou...
  • 132.go如何避免panic,造成panic的原因

    188 2024-01-18 《Golang面试题》
    go如何避免panic go如何避免panic 题目来源: 映客 答案1: 首先明确panic定义go把真正的异常叫做 panic,是指出现重大错误,比如数组越界之类的编程BUG或者是那些需要人工介入才能修复的问题,比如程序启动时加载资源出错等等。 几个容易出现panic的点: 函数返回值或参数为指针类型,nil, 未初始化结构体,...
  • 238.go channel close后读的问题 - name: keywords

    131 2024-01-18 《Golang面试题》
    go channel close后读的问题 - name: keywords 答案: go channel close后读的问题 - name: keywords 参考解析 题目来源:UCLOUD 答案: channel作为传递消息的通道,对他的操作无非有三种,向channel发送值、从channel中取值,关闭channel。 对...
  • 134.gochannel实现排序

    154 2024-01-18 《Golang面试题》
    gochannel实现排序 gochannel实现排序 题目来源: 映客 答案1: 应该是使用channel实现一个并归排序 func Merge ( ch1 <- chan int , ch2 <- chan int ) <- chan int { out := make ( chan ...
  • 472.介绍一下 Channel

    125 2024-01-24 《Golang面试题》
    介绍一下 Channel 介绍一下 Channel 参考解析 Go 语言中,不要通过共享内存来通信,而要通过通信来实现内存共享。Go 的 CSP(Communicating Sequential Process)并发模型,中文可以叫做通信顺序进 程,是通过 goroutine 和 channel 来实现的。 channel 收发遵循先进先出 F...
  • 272.说一说go中的map

    119 2024-01-19 《Golang面试题》
    说一说go中的map 答案: 说一说go中的map 参考解析 题目来源:微步 答案: 一.map引用类型 1.1使用make定义map var m1 map [ string ] string m1 = make ( map [ string ] string , 10 ) 1.2直接赋值的方式定义map var...
  • 576.在Go语言中,结构体可以作为map的键吗

    8 2024-06-07 《Golang面试题》
    在Go语言中,结构体可以作为map的键,但需要满足两个条件: 1) 结构体中的数值必须可比较; 2) 结构体不能包含引用类型字段,因为引用类型字段会导致比较时出现问题。
  • 3.Go 互斥锁允许自旋的条件?

    3.Go 互斥锁允许自旋的条件? 3.Go 互斥锁允许自旋的条件? 线程没有获取到锁时常见有2种处理方式: 一种是没有获取到锁的线程就一直循环等待判断该资源是否已经释放锁,这种锁也叫做自旋锁 ,它不用将线程阻塞起来, 适用于并发低且程序执行时间短的场景,缺点是cpu占用较高 另外一种处理方式就是把自己阻塞起来,会释放CPU给其他线程 ,内核会将线...