美文网首页
golang 面试题目

golang 面试题目

作者: 娄云 | 来源:发表于2018-04-02 21:03 被阅读0次

golang 面试题目

1 new 和make 有什么区别

  new 初始化T类型的零值,返回指针
  make 初始T 类型, 返回T类型

2 变量类型不携带任何信息且是0 值。 地址是否相同?

    s := struct {}{}
    d := [0]int{}
    if unsafe.Pointer(&s) == unsafe.Pointer(&d) {
        fmt.Println("same adress")
    } else {
        fmt.Println("not same adress")
    }
  result: same adress

3 变量逃逸

当变量(或者对象)在方法中分配后,其指针被返回或者被全局引用(这样就会被其他过程或者线程所引用),这种现象称作指针(或者引用)的逃逸(Escape)。

4 隐式赋值,下面的输出结果可能会是什么

func assginParameter() (ret int){
   i := 0
   ret = 0
   for i < 3 {
       go func() {
           time.Sleep(1)
           fmt.Println("get value %v", ret)
       }()
       i++
   }
   return 1
}

func TestInterface2(t *testing.T) {
   assginParameter()
   time.Sleep(3)
}

隐式赋值返回值
0 0 0
0 0 1
0 1 1
1 1 1

5 包级变量初始化循序

var a = b + c
var b = f()
var c = 1

func f() int {
    return 100
}

func TestInterface2(t *testing.T) {
    fmt.Println(a , b , c )
}

101 100 1
包级别的变量按照声明顺序初始化, 在依赖解析完毕的情况下 ,根据依赖的顺序进行。
包的初始按照导入的顺序进行。

5 变量作用域生命周期怎么区分

作用域: 编译属性
生命周期 : 运行期属性。

   var a = 0
    if true {
        a,b := 1, 5
        fmt.Print(a, b)
    }
    fmt.Print(a)


    if true {
        b := 0
        a,b = 2, 5
        fmt.Println(a, b)
    }
    fmt.Println(a)
0 1 5 0  2 5 2

考察 := 对外围重名赋值的覆盖问题。

6 字符串s , 则s[0] 表示什么

第一个字节? 第一个字符?
答案: 第一个字符( 一个字符根据不同编码可能对应多个字节)

7 字符串内容永远不可变:

s := "12345"
 s[0] = ‘0’ // 编译错误!!! 

8 slice 是否可以做map的key 为什么

slice 不可以做slice 的key, slice 没有 “ == ” 操作

9 在go 中() 是面向对象编程方式的核心

A 组合 B 继承
答: A

9 go 语言的函数调用栈可达多少(其他语言 64K - 2MB)?

go 的函数调用栈可变长,最多可达 1GB 左右

相关文章

  • golang 面试题目

    golang 面试题目 1 new 和make 有什么区别 2 变量类型不携带任何信息且是0 值。 地址是否相同...

  • GO语言面试系列:(五)Gopher 全栈面试参考

    先前准备 Golang 面试用的笔记,仅供参考。 前言 本文结构: 参考资料:笔试面试知识整理、Golang 面试...

  • Golang后端面试题目

    与其他语言相比,使用 Go 有什么好处? ?查看答案?· 与其他作为学术实验开始的语言不同, Go 代码的设计是务...

  • golang 面试总结

    前言 前段时间找工作搜索 golang 面试题时,发现都是比较零散或是基础的题目,覆盖面较小。而自己也在边面试时边...

  • Golang面试题41道

    Golang面试题41道 大家好,这一期呢,我们来说一下golang的面试题。 第1题什么是golang? go是...

  • golang面试题

    转载面试经历[https://zhuanlan.zhihu.com/p/77425984]golang面试题[ht...

  • golang面试

    答案会在后续更新 cch关于知乎go面试题的部分答案:https://xargin.com/answers-for...

  • GO语言面试系列:(二)常规性Golang面试题解析

    最近在很多地方看到了golang的面试题,看到了很多人对Golang的面试题心存恐惧,也是为了复习基础,我把解题的...

  • 后端研发体系

    记录自己为了面试发现的文章 golang golang中都是值传递,没有引用传递,哪怕是指针,也是指针的值拷贝。 ...

  • GO语言面试系列:(四)一道并发和锁的golang面试题

    今天面试golang碰到了一道考并发和锁的题目,没有完成,所以把它记录下来,仅为以后复习。 场景:在一个高并发的w...

网友评论

      本文标题:golang 面试题目

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