一闪笔记 本次搜索耗时 0.104 秒,为您找到 210 个相关结果.
  • 443.go map slice 实现(内存泄漏分析)

    137 2024-01-23 《Golang面试题》
    go map slice 实现(内存泄漏分析) 答案1: go map slice 实现(内存泄漏分析) 参考解析 题目来源:知乎 答案1: slice内存泄漏分析 ( 1 )发生场景:截取长 slice 中的一段导致长 slice 未释放 ​ 由于底层都是数组,如果截图长slice的一段,其实相当于引用了底层数组中的一小段...
  • 268.说一下reflect

    141 2024-01-19 《Golang面试题》
    说一下reflect 答案: 说一下reflect 参考解析 题目来源 :京东 答案: recflect是golang用来检测存储在接口变量内部(值value;类型concrete type) pair对的一种机制。它提供了两种类型(或者说两个方法)让我们可以很容易的访问接口变量内容,分别是reflect.ValueOf() 和 re...
  • 568.golang 读写锁底层怎么实现

    19 2024-06-08 《Golang面试题》
    Golang中的读写锁(RWMutex)是基于互斥锁(Mutex)的扩展实现的。其底层结构体包含一个互斥锁和一个用于等待读完成的信号量(semaphore)。当一个goroutine获得了读锁后,其他goroutine可以同时获得读锁,但不能获得写锁。这种设计允许多个读者同时访问资源,而只允许一个写者在同一时间内进行写操作。具体实现上,RWMutex通过C...
  • 36.map的key可以是哪些类型?可以嵌套map吗?

    245 2024-01-16 《Golang面试题》
    map的key可以是哪些类型?可以嵌套map吗? map的key可以是哪些类型?可以嵌套map吗? 题目来源:好未来 答案1: golang中的map,的 key 可以是很多种类型,比如 bool, 数字,string, 指针, channel , 还有 只包含前面几个类型的 interface types, structs, arrays...
  • 431.一个a+b程序从编译到运行都发生了什么(从预编译到print显示到屏幕上)

    156 2024-01-23 《Golang面试题》
    一个a+b程序从编译到运行都发生了什么(从预编译到print显示到屏幕上) 一个a+b程序从编译到运行都发生了什么(从预编译到print显示到屏幕上) 参考解析 题目来源:360 答案: 简要来说,整个流程如下:源码 —> 编译 —> 链接 —> 可执行文件 —> 执行输出 Golang为编译型语言,需要将源代码文件编译之后才能执行...
  • 340.go的值传递和引用传递

    164 2024-01-22 《Golang面试题》
    go的值传递和引用传递 go的值传递和引用传递 题目来源:知乎 **答案:** 值传递只会把参数的值复制⼀份放进对应的函数,两个变量的地址不同,不可相互修改。 地址传递(引⽤传递)会将变量本身传⼊对应的函数,在函数中可以对该变量进⾏值内容的修改。 golang默认都是采用值传递,即拷贝传递,有些值天生就是指针(slice、map、chan...
  • 可变长数组

    一、实现可变长数组 1.1. 初始化数组 1.2. 添加元素 1.3. 获取指定下标元素 1.4. 获取真实长度和容量 1.5. 示例 二、总结 因为数组大小是固定的,当数据元素特别多时,固定的数组无法储存这么多的值,所以可变长数组出现了,这也是一种数据结构。在 Golang 语言中,可变长数组被内置在语言里面:切片 slice 。 sli...
  • 166.golang 性能问题怎么排查

    174 2024-01-18 《Golang面试题》
    golang 性能问题怎么排查 答案: golang 性能问题怎么排查 题目来源:腾讯 答案: 线上性能问题的定位和优化是程序员进阶的必经之路,定位问题的方式有多种多样,常见的有观察线程栈、排查日志和做性能分析。性能分析(profile)作为定位性能问题的大杀器,它可以收集程序执行过程中的具体事件,并且对程序进行抽样统计,从而能更精准的...
  • 138.golang类型断言,怎么用

    165 2024-01-18 《Golang面试题》
    golang类型断言,怎么用 golang类型断言,怎么用 题目来源:腾讯 答案1: Go中的所有程序都实现了interface{} 的接口,这意味着,所有的类型如string ,int ,int64 甚至是自定义的struct 类型都就此拥有了interface{} 的接口.那么在一个数据通过func funcName(interface...
  • 121.STW 在 go 的哪些阶段发生?了解1.8版本的改进吗?

    176 2024-01-17 《Golang面试题》
    STW 在 go 的哪些阶段发生?了解1.8版本的改进吗? STW 在 go 的哪些阶段发生?了解1.8版本的改进吗? 题目来源:字节跳动 答案1: Golang v1.3之前采用传统采取标记-清除法,需要STW,暂停整个程序的运行。 在v1.5版本中,引入了三色标记法和插入写屏障机制,其中插入写屏障机制只在堆内存中生效。但在标记过程中...