IT书架 本次搜索耗时 0.017 秒,为您找到 746 个相关结果.
  • 144.go的sync.Map了解吗

    154 2024-01-18 《Golang面试题》
    go的sync.Map了解吗 go的sync.Map了解吗 题目来源:好未来 答案: 总体概述 sync.Map 采用读写分离和用空间换时间的策略保证 Map 的读写安全 Map 的基本结构 type Map struct { mu Mutex read atomic . Value ...
  • 472.介绍一下 Channel

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

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

    三个阶段go基础知识讲解 - 第一个阶段微服务阶段 - 第二个阶段 (知识面)单体应用开发, gin从0开始讲解,自己集成的, 规范性,先运行起来,然后再深入负载均衡, 限流熔断(负载均衡算法原理、熔断限流的原理) - 建议大家去看一下网上的资料深入一下算法全面: 商品系统, 订单系统商品系统,订单系统(很复杂的系统): 深入的地方面试的时候都会很容易通关...
  • 157.go里面比较成熟的日志框架了解过没有

    184 2024-01-18 《Golang面试题》
    go里面比较成熟的日志框架了解过没有 答案: go里面比较成熟的日志框架了解过没有 题目来源:高德 答案: golang日志库golang标准库的日志框架非常简单,仅仅提供了print,panic和fatal三个函数,对于更精细的日志级别、日志文件分割以及日志分发等方面并没有提供支持。所以催生了很多第三方的日志库,但是在golang的世...
  • 320.如果项目里api耗时过久,你会怎么去排查

    138 2024-01-22 《Golang面试题》
    如果项目里api耗时过久,你会怎么去排查 如果项目里api耗时过久,你会怎么去排查 题目来源: 百度 答案: 如果项目添加链路追踪,每一处的调用耗时记录在日志当中,通过日志先找到问题的大概地方 主要先查看数据库和内存中间件的耗时,定位到主要问题,分别查看中间件服务上面的cpu, 内存, 磁盘io,网络连接 排除上面问题,业务代码的问...
  • 职责链模式

    职责链模式 10.1 模式动机 10.2 Go语言实现 chain.go chain_test.go 职责链模式 10.1 模式动机 职责链模式用于分离不同职责,并且动态组合相关职责。 Golang实现职责链模式时候,因为没有继承的支持,使用链对象包涵职责的方式,即: 链对象包含当前职责对象以及下一个职责链。 职责对象提供接口表示是...
  • 4.Go channel为什么是线程安全的?

    4.Go channel为什么是线程安全的? 为什么设计成线程安全? 如何实现线程安全的? 4.Go channel为什么是线程安全的? 为什么设计成线程安全? 不同协程通过channel进行通信,本身的使用场景就是多线程,为了保证数据的一致性,必须实现线程安全 如何实现线程安全的? channel的底层实现中,hchan结构体中采用M...
  • 505.Go 语言中 GC 的流程是什么?

    119 2024-01-25 《Golang面试题》
    Go 语言中 GC 的流程是什么? Go 语言中 GC 的流程是什么? Go1.14 版本以 STW 为界限,可以将 GC 划分为五个阶段: GCMark 标记准备阶段,为并发标记做准备工作,启动写屏障 STWGCMark 扫描标记阶段,与赋值器并发执行,写屏障开启并发 GCMarkTermination 标记终止阶段,保证一个周期内标记任务完...
  • 185.Golang 切片如何删除数据

    146 2024-01-18 《Golang面试题》
    Golang 切片如何删除数据 答案: Golang 切片如何删除数据 参考解析 题目来源: 大疆 答案: 方法 go语言删除切片元素的方法:1、指定删除位置,如【index := 1】;2、查看删除位置之前的元素和之后的元素;3、将删除点前后的元素连接起来即可。Go 语言并没有对删除切片元素提供专用的语法或者接口,需要使用切...