IT书架 本次搜索耗时 0.233 秒,为您找到 430 个相关结果.
  • 400.用go协程的时候也是要走IO的,go是如何处理的?

    167 2024-01-23 《Golang面试题》
    用go协程的时候也是要走IO的,go是如何处理的? 用go协程的时候也是要走IO的,go是如何处理的? 题目来源 :滴滴 答案: 线程是操作系统的内核对象,多线程编程时,如果线程数过多,就会导致频繁的上下文切换,这些 cpu 时间是一个额外的耗费。所以在一些高并发的网络服务器编程中,使用一个线程服务一个 socket 连接是很不明智的。于是...
  • 259.goroutine为什么比线程开销小,实现原理

    165 2024-01-19 《Golang面试题》
    goroutine为什么比线程开销小,实现原理 goroutine为什么比线程开销小,实现原理 题目来源:SmartX,字节跳动 **答案:**Zbbxd 1.内存占用 从栈空间上, goroutine的栈空间更加动态灵活。每个OS的线程都有⼀个固定⼤⼩的栈内存,通常是2MB,栈内存⽤于保存在其他函数调⽤期间哪些正在执⾏或者临时暂停的函数...
  • 340.go的值传递和引用传递

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

    164 2024-01-18 《Golang面试题》
    golang类型断言,怎么用 golang类型断言,怎么用 题目来源:腾讯 答案1: Go中的所有程序都实现了interface{} 的接口,这意味着,所有的类型如string ,int ,int64 甚至是自定义的struct 类型都就此拥有了interface{} 的接口.那么在一个数据通过func funcName(interface...
  • 165.golang 的 waitGroup 用法

    164 2024-01-18 《Golang面试题》
    golang 的 waitGroup 用法 golang 的 waitGroup 用法 题目来源:腾讯 答案: WaitGroup 的实现逻辑 WaitGroup 的底层内存结构及性能优化 WaitGroup 的内部如何实现无锁操作WaitGroup 的使用 func main () { var wg sync ...
  • 266.RPC基础

    162 2024-01-19 《Golang面试题》
    RPC基础 RPC基础 参考解析 题目来源: 答案: 讲一下RPC基础: RPC的概念 RPC(Romote Procedure Call,远程过程调用),作为分布式系统中不同节点之间的通信方式,是分布式系统的基石之一,RPC不是具体的方法,而是一种解决不同服务之间调用的设计。 基于RPC开发的框架可以称为RPC框架,典型的有...
  • 210.golang如何知道或者检测死锁

    162 2024-01-18 《Golang面试题》
    golang如何知道或者检测死锁 golang如何知道或者检测死锁 题目来源:字节跳动 答案1: 为每个进程和每个资源指定一个唯一的号码,然后建立资源分配表和进程等待表。 ​ 具体工具:pprof 如何用pprof检测golang代码中的死锁:参考文章]
  • 207.Go的协程可以不可以自己让出cpu

    162 2024-01-18 《Golang面试题》
    Go的协程可以不可以自己让出cpu Go的协程可以不可以自己让出cpu 题目来源:腾讯 答案1: 可以,首先了解一下进程、线程(内核级线程)、协程(用户级线程)在系统调度上的区别: 对于 进程、线程 ,都是有内核进行调度,有 CPU 时间片的概念,进行 抢占式调度 (有多种调度算法)。 对于 协程 (用户级线程),这是对内核透明的,也就...
  • 143.对go的中间件和工作机制有了解吗?

    162 2024-01-18 《Golang面试题》
    对go的中间件和工作机制有了解吗? 对go的中间件和工作机制有了解吗? 题目来源:好未来 答案: 中间件的设计使得具有一般性、通用性的代码从业务代码中剥离,独立出来。 以网络中的请求响应为例 以 go 的原生为例,要实现一个中间件,就要实现 http.Handler 接口 type Handler interface { ...
  • 177.Golang 里怎么避免内存逃逸?

    162 2024-01-18 《Golang面试题》
    Golang 里怎么避免内存逃逸? 答案: Golang 里怎么避免内存逃逸? 参考解析 题目来源:蚂蚁 答案: 不要盲目使用变量指针作为参数,虽然减少了复制,但变量逃逸的开销更大。 预先设定好slice长度,避免频繁超出容量,重新分配。 一个经验是,指针指向的数据大部分在堆上分配的,请注意。 出现内存逃逸的情况有: 1.发送指...