美文网首页Go
一些找实习的go股文

一些找实习的go股文

作者: Dakini_Wind | 来源:发表于2021-06-23 11:37 被阅读0次
  • 1.锁相关
    核心是利用了atomic包,由操作系统和硬件支持。
    • 互斥锁 sync.Mutex
      1.直接获取锁,返回
      2.自旋和唤醒(cas算法,非阻塞同步)
      3.判断各种状态,特殊情况处理
      Mutex 实现中有两种模式,1:正常模式,2:饥饿模式,前者指的是当一个协程获取到锁时,后面的协程会排队 (FIFO), 释放锁时会唤醒最早排队的协程,这个协程会和正在 CPU 上运行的协程竞争锁,但是大概率会失败,为什么呢?因为你是刚被唤醒的,还没有获得 CPU 的使用权,而 CPU 正在执行的协程肯定比你有优势,如果这个被唤醒的协程竞争失败,并且超过了 1ms,那么就会退回到后者 (饥饿模式),这种模式下,该协程在下次获取锁时直接得到,不存在竞争关系,本质是为了防止协程等待锁的时间太长。

    • 读写锁 sync.RWMutex
      RWMutex.readerCount是个整型值,用于表示读者数量,int32类型,最大值为30(写在源码里)

    • 其他:
      使用 - race 在运行时检测数据竞争问题,go test -race ....,go build -race ....
      使用 go-deadlock 检测死锁,和指定锁超时的等待问题
      能用 channel 就不用 lock

  • 2.介绍一下线程安全的共享内存方式
    • sync.Mutex
    • sync.WaitGroup
    • channel
  • 3.介绍一下goroutine
    Go协程介绍
  • 4.goroutine的自旋占用资源如何解决,gmp
    自旋锁是指当一个线程在获取锁的时候,如果锁已经被其他线程获取,那么该线程将循环等待,然后不断地判断是否能够被成功获取,知直到获取到锁才会退出循环。对于互斥锁,如果资源已经被占用,资源申请者只能进入睡眠状态。但是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁。
    5.介绍Linux系统信号
    6.goroutine抢占时机,gc栈扫描
    7.Gc触发时机
    8.是否了解其他gc机制
    9.内存管理方式
    10.Channel分配在堆上还是在栈上?哪些对象分配在堆上?哪些对象分配在栈上?
    11.代码效率分析,考虑局部性原理
    12.多核CPU下,cache如何保持一致,不冲突
    13.uint类型溢出
    14.聊聊rune类型
    15.介绍一下channel,有缓冲和无缓冲的区别
    16.channel是否线程安全
    17.介绍一下Mutex的实现,是悲观锁还是乐观锁
    18.Mutex几种模式?
    19.Muxtez可以做自旋锁?
    20.介绍一下RWMutex
    21.介绍一下大对象和小对象,为什么小对象多了会造成gc压力?
    22.介绍项目中遇到的oop情况
    23.介绍项目中遇到的坑
    24.如果指定指令执行的顺序
    25.什么是写屏障、混合写屏障,如何实现?
    26.gc的stw是怎么回事
    27.协程之间是怎么调度的
    28.简单聊聊内存逃逸
    29.为sync.WaitGroup中Wait函数支持 WaitTimeout 功能.
    30.字符串转成byte数组,会发生内存拷贝吗?
    31.http包的内存泄漏
    32.Goroutine调度策略
    33.对已经关闭的的chan进行读写,会怎么样?为什么?
    34.实现阻塞读的并发安全Map
    35.什么是goroutine leak?
    36.data race问题怎么解决?能不能不加锁解决这个问题?
    37.epoll原理
    38.etcd怎么实现分布式锁?
    39.滑动窗口的概念以及应用?
    40.grpc内部原理是什么?
    41.http2的特点是什么,与http1.1的对比。
    42.time.Now有几次系统调用?如何优化
    43.空struct{}是否使用过?会在什么情况下使用,举例说明一下。
    44.聊聊runtime
    45.介绍下你平时都是怎么调试bug以及性能问题的?
    46.通过通信来共享内存,而不是通过共享内存而通信,怎么理解这句话,如何处理共享变量?
    47.chan比mutex更轻么?还有更轻量的方法么?
    48.什么时候用chan不如mutex效率高?

参考:https://learnku.com/articles/39577

相关文章

  • 一些找实习的go股文

    1.锁相关核心是利用了atomic包,由操作系统和硬件支持。互斥锁 sync.Mutex1.直接获取锁,返回2.自...

  • 如何利用大学暑假,找到一份优质实习?

    这篇文章的框架大致是三块:1、为什么要找实习?2、怎么找实习?3、找实习过程中需要注意的一些问题? 1、首先,是为...

  • 一些找实习的体会

    前段时间,我独自一人在深圳寻找前端实习生的机会,开始的时候,我踌躇满志,势在必得,现在看来,这真的是一个再可笑不过...

  • Go!实习!

    匆匆那年,忙忙一周,好像时间从来都无情更胜有情。时光充实,岁月依然,欢喜依旧。这周就回忆一下实习理论吧。 满满一周...

  • 找实习

    这段时间都在找实习,然而并没有人要我。起初很焦虑,不过听了个讲座心安多了。 我想要找的实习是属于那种有人给我安排任...

  • 找实习

    也许,找工作就是不断的试错,不断的反思,不断的变得更好。 这一周,天气一直都是5-7℃,不上不下,手放在外头,没一...

  • 腾讯2018测试题小Q硬币有感——浅谈记忆化搜索

      笔者现在还未到找实习工作的时候。但正好是实习生招聘季,有幸有一些参加实习生招聘的朋友找我讨论一些大公司的笔试题...

  • 买张慢车票,慢慢回家

    文/陈子陌 这些日子,忙于找实习工作。“尚未佩妥剑...

  • 产品入门:送给那些需要入门的产品汪们(4)

    以下为本章内容 如何制作简历 找实习的一些经验分享 这章讲的就是简历制作和实习投递的一些事情了,把过往的一些经历分...

  • 在网易和百度实习之后,我才明白了这些事

    之前作者发了几篇关于找实习的文章,讲述了找实习的那些事。其实,比起找实习,实习过程本身更加有趣。先后在网易和百度实...

网友评论

    本文标题:一些找实习的go股文

    本文链接:https://www.haomeiwen.com/subject/jjcbyltx.html