首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏余生开发

    go语言面试题

    const cl = 10 cl是字⾯量10的对等符号。

    1.3K40发布于 2020-12-31
  • 来自专栏Lemon黄

    Go 基础面试题

    本文是 Go 基础常见面试题,结合ChatGPT的详细解释版,全背是不可能,假如面试碰上了,挑出要点用自己的语言回答就好了。 1. 与其他语言相比,Go 语言的优点有哪些? 总的来说,通道是 Go 提供的一个强大工具,使得并发编程变得更安全、更简单,但同时开发者也需要考虑合理的使用方式和潜在的陷阱。 10. Go 语言当中 Channel 缓冲有什么特点? 例如,make([]int, 0, 10)创建一个整型切片,长度为 0,容量为 10。 映射(Map):make用于创建一个映射,并为其分配足够的内存,以便可以开始添加键值对。 例如,make(chan int, 10)创建了一个传递整型数据的带有缓冲区大小为 10 的通道。 总结,make用于创建复杂的数据结构并返回一个有初始值的实例,而不是它们的零值指针。 15. / 地址传递,originalData的指针被传递 modifyByReference(&originalData) fmt.Println(originalData) // 输出 {10

    85410编辑于 2023-12-06
  • 来自专栏Lemon黄

    Go 并发编程面试题

    Mutex 几种状态 在 Go 语言的同步库中,sync.Mutex是用来提供互斥锁的基本同步原语。 互斥锁在内部状态实现可能因 Go 语言的不同版本而有所不同。 Go 语言团队不断优化sync.Mutex,以找到公平和效率之间的平衡点。有关 sync.Mutex 的更多权威信息,建议查看最新的 Go 语言源码和文档。 3. 需要注意的是,在实现细节方面,Go 的标准库不提供关于互斥锁内部行为的具体参数。自旋的逻辑和上述条件可能在 Go 不同的版本之间有所变化,以上内容主要基于 Go 语言当前和之前版本的实现。 10.

    1.3K10编辑于 2023-12-13
  • 来自专栏十二的树洞

    go面试题目收集

    := make([]int, 0, 10) 通过Make创建,可指定创建的切片的长度和容量。 (2)sliceTwo := sliceOne[2:4] 这种方式是基于其他切片或数据创建容量,长度为创建切片是指定的结束-起始位置, = 4-2=2;容量就等于切片的容量-起始位置=10-2=8.且两个切片共享同一个数据区 map的创建 1. make方式创建 hash := make(map[string]int, 10) 2. 在go语言中,new和make的区别? go语言中协程 协程和线程都可以实现程序的并发执行; 通过channel来进行协程间的通信; 只需要在函数调用前添加go关键字即可实现go的协程,创建并发任务; 关键字go并非执行并发任务

    97352编辑于 2021-12-24
  • 来自专栏mousemin

    Go 语言笔试面试题

    Go 语言笔试面试题 日常收集的题 一. 基础语法 1 = 和 := 的区别? 答案 := 声明+赋值 = 仅赋值 1var a int 2a = 10 3// 等价于 4a := 10 2 Go 有异常类型吗? 答案 Go 没有异常类型,只有错误类型(Error),通常使用返回值来表示异常状态。 1f, err := os.Open("/tmp/a.txt") 2if err ! 6 var y int = M 7 fmt.Println(x, y) 8} 答案 编译失败:cannot use M (type int32) as type int in assignment Go ] 9 b = append(b, 1) 10 c = append(c, 1) 11 fmt.Println(a) 12} 答案 [0 1 2 3 4 1 6 7 8 9]

    60730编辑于 2023-06-10
  • 来自专栏Java

    go语言面试题:为什么选择go语言

    选择Go语言的原因: 并发和高并发:Go 语言在设计之初就考虑了并发和高并发方面的问题,将其内置于语言层面上,在编写代码时容易实现并发,提升程序的性能。 高效率:Go 语言的速度非常快(如 C/C++),同时又简单易用(如 Python)。Go 语言通过 Go 语言自身的编译器即可生成本地机器码,无需虚拟机,加快了执行效率。 开发工具丰富:Go语言是开源的,所以有很多优秀的开发工具,例如Goland、Visual Studio Code等。 学习曲线低:Go 语言语法类似于C/C++,容易学习,对于其他编程语言的用户来说更加容易上手。 例如,在高并发的Web应用程序中,Go 语言被广泛应用,如微服务框架、云原生应用开发、区块链等。 Go语言的优秀性能和高可靠性已经在实际应用中得到了验证。

    14710编辑于 2025-01-21
  • 来自专栏面向加薪学习

    10.Go语言-包

    10 章 包 包(package) 用于组织 Go 源代码,提供了更好的可重用性与可读性。 Go 语言有超过 100 个的标准包,可以用 go list std | wc -l 命令查看标准包的具体数目,标准库为大多数的程序提供了必要的基础组件。 例如我们 Go 的第一个程序。 在 Go 中这具有特殊意义。在 Go 中,任何以大写字母开头的变量或者函数都是被导出的名字。其它包只能访问被导出的函数和变量。 如果在 book.go 中将函数名从 ShowBookInfo 变为 showBookInfo ,并且在 main.go 中调用 book.showBookInfo 函数,则该程序编译不通过。

    46220编辑于 2022-09-04
  • 来自专栏对线JAVA面试

    10道MySQL面试题

    union all 则会显示重复结果,只是简单的两个结果合并并返回.所以效率比union高,在保证没有重复数据的情况下用union all. 10. SQL语言包括哪几部分?

    55040编辑于 2022-10-27
  • 来自专栏Lemon黄

    Go 运行时面试题

    并发简单:Go 语言提供的 goroutines 使并发编程变得更简洁易懂。通过go关键字,开发者可以非常方便地启动新的并发任务。 需要注意的使,Go 的调度器细节可能随着版本更新而变化,上述描述适用于 1.x 系列的 Go 版本。 5. Go 1.14 版本引入了基于信号的抢占,这标志着 Go 语言实现了抢占式调度的一大步。 8. 10. Sysmon 有什么作用 Sysmon 也叫监控线程,变动的周期性检查,好处: 释放闲置超过 5 分钟的 span 物理内存。 如果超过 2 分钟没有垃圾回收,强制执行。 向长时间运行的 G 任务发出抢占调度(超过 10ms 的 G,会进行 retake)。 收回因 syscall 长时间阻塞的 P。

    78110编辑于 2023-12-13
  • 来自专栏码农编程进阶笔记

    Go面试必会的面试题

    引用类型的内存在堆中分配,当没有任何变量引用堆中的内存地址时,该内存地址对应的数据存储空间就变成了垃圾,就会被GO语言的GC回收。 注意:在go中 var是声明关键字,不会开辟内存空间;使用 := 或者 make 关键字进行初始化时才会开辟内存空间。 应该按照如下方式使用内置的new函数对a进行初始化之后就可以正常对其赋值了: func main() { var a *int a = new(int) *a = 10 make函数进行初始化操作之后,才能对其进行键值对赋值: func main() { var b map[string]int b = make(map[string]int, 10 九、go的map实现排序 我们知道go语言的map类型底层是有hash实现的,是无序的,不支持排序。 如果我们的数据使用map类型存储,如何实现排序呢?

    64722编辑于 2022-12-21
  • 来自专栏ai_houzi

    go语言基础10-Goroutine

    实例 func main() { for i := 0; i < 1000; i++ { go func(i int) { for { fmt.Printf("我打印的是:%d\n" 轻量级”线程“ 非抢占式多任务处理,由协程主动交出控制权 编译器/解释器/虚拟机层面的多任务 多个协程可能在一个或者多个线程上运行 子程序是协程的一个特例 goroutine的定义 任何函数只需加上go

    43330发布于 2019-04-04
  • 来自专栏go程序例子

    Go程序例子(10):映射(Map)

    映射(Map)是 Go 语言内置的关联数据类型(在其他语言中有时称为哈希(hash)或字典(dict))。 [string]int{"foo": 1, "bar": 2} if maps.Equal(n, n2) { fmt.Println("n == n2") }}运行结果:$ go run maps.go map: map[k1:7 k2:13]v1: 7v3: 0len: 2map: map[k1:7]map: map[]prs: falsemap: map[bar:2 foo

    30610编辑于 2024-12-10
  • 来自专栏WebDeveloper

    Go基础系列 | 10. 函数

    编写函数时,无需关注顺序,因为 Go 语言是编译型的。 在 Go 语言中有三种函数类型: 基本格式:有命名的函数,直接调用完事。 匿名函数:没有名字的函数。 T 代表 Go 语言中的任意类型,使用时替换成 int、string、slice 等等类型。 小括号后紧跟函数返回值类型。 返回多个值 Go 语言函数中有个特点,可以多个值返回。在声明返回值类型时,可以不指定名称,也可以指定名称,啥意思呢,往下看。 1. 传递函数 在 Go 语言中,函数是“一等公民”,它和 int 、string 等等,都是一个级别,可以作为参数进行传递。 在 Go 语言中,切片(slice)、map、接口(interface)、通道(channel)这样的引用类型都是默认使用引用传递,在函数内修改形参是会改变实参的值。

    56470发布于 2021-08-10
  • 来自专栏ADAS性能优化

    Android 10Go Edition)性能提升

    Android 10Go版)对内存管理/服务的运行方式、系统通知等做了比较大的改进和较多的优化,其应用启动时间比Android Pie(Go版)缩短了10%,并且在应用之间切换的速度也更快。 Encryption for all Android 10Go版)中的另一个关键优化是Adiantum,这是一种新的加密形式,可以在不影响性能的情况下提供入门级设备保护。 Google已经发布了许多“ Go”应用程序,包括Assistant Go和Google Maps GoGo app 占用的空间大为减少比None-Go,如Google Maps Go是有正常Google Maps app的1/100,但是其仍然提供了诸如实时交通更新,路线和公共交通信息之类的基础信息。 软件更新的决定将取决于制造商,因此并非所有运行Android Go的手机都将获得最新的Android 10Go版),这进一步加剧了Android的碎片化问题。

    1.2K30编辑于 2022-05-13
  • 来自专栏编程基础

    Go编程基础-基础篇 10

    package main import "fmt" func main() { var a []int fmt.Println("初始化前:", a) a = make([]int, 5, 10 , 2, 3, 4, 5} a = append(a, 6) fmt.Println(a) a = append(a, 7, 8) fmt.Println(a) b := []int{9, 10 fmt.Println(a) } [1 2 3 4 5 6] [1 2 3 4 5 6 7 8] [1 2 3 4 5 6 7 8 9 10] 切片的长度和容量 在切片中可以使用len()获取切片中元素的数量 cap(a)) a = append(a, 7, 8) fmt.Printf("a的地址%p,a的长度%d,a的容量%d\n", a, len(a), cap(a)) b := []int{9, 10 a的地址0xc0000ba000,a的长度8,a的容量10 a的地址0xc0000bc000,a的长度11,a的容量20

    31231发布于 2021-03-04
  • 来自专栏民工哥技术之路

    10 道经典 MySQL 面试题

    union all 则会显示重复结果,只是简单的两个结果合并并返回.所以效率比union高,在保证没有重复数据的情况下用union all. 10. SQL语言包括哪几部分?

    67930发布于 2021-05-11
  • 来自专栏CSDNToQQCode

    vue基础面试题10

    10、Vue.js的路由是什么?请解释一下。 答案: Vue.js的路由是指通过URL实现页面之间的跳转。在Vue.js中,路由通过vue-router实现。

    30630编辑于 2023-10-11
  • 来自专栏JAVA葵花宝典

    10道经典MySQL面试题

    union all 则会显示重复结果,只是简单的两个结果合并并返回.所以效率比union高,在保证没有重复数据的情况下用union all. 10. SQL语言包括哪几部分?

    92420发布于 2021-05-11
  • 来自专栏猴子数据分析

    10个常见的面试题

    我是在3月份开始投的简历,前前后后大概面了10家左右。前面几家一开始面试的时候比较紧张,加上没人指导,面试完以后就挂了,没有下文。 在经过前辈指导之后,面的就好很多了。 5、你的性格是怎么样的,在学校进了什么社团 6、加入公司你能给我们带来什么 7、对自己的职业规划 8、学过什么跟数据分析相关的课程 9、抗压能力并举例子 10、喜欢什么样的团队氛围 11、与科班相比你的优劣势

    65200发布于 2020-11-01
  • 来自专栏Java

    go语言面试题go与cpp和java的对比

    Go语言、C++和Java语言是三种性能较好的编程语言,它们在某些方面有不同的优势。下面是一个简单的比较: 内存管理 C++需要手动管理内存,而Java和Go语言使用垃圾回收机制。 Go语言的垃圾回收机制与Java相似,但是Go语言在设计上更加注重高性能和高并发,在实际生产环境中表现也很好。 Java和Go语言在执行速度方面与C++相差不大,但是Go语言在处理高并发方面更加出色,因为Goroutines使Go代码并发执行非常容易。 而Go语言使用Goroutines和Channels来处理并发性,使得Go语言非常适合于高并发场景,简单易用。 如果你需要处理高并发,则选择Go语言。

    20800编辑于 2025-01-21
领券