ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【Golang后端基础口试题】 [打印本页]

作者: 张春    时间: 2024-7-24 03:51
标题: 【Golang后端基础口试题】
简介:重要面向准备开始口试找练习的学生或应届生,整体比力简单,重要供了解口试的基本环境,其中全部题都是阿良口试的原题,不过答案是阿良自己总结的,可供借鉴。
一. 基础面

创建一个新的、较大的底层数组。
将旧数组的数据复制到新数组中。
将切片的底层数组指针更新为新数组。
6. Golang 内里的 map 了解过吗?
Golang 的 map 是哈希表实现的,无序的键值对集合。其重要特性有 O(1) 的插入和查找时间复杂度。语法比力简单,如 make(map[string]int) 创建一个字符串键和整数值的 map。
7. 项目中并发 map?
在并发环境中使用 map 时,可以使用 sync.Map,它是 golang 标准库的并发安全 map 实现,大概手动使用互斥锁(mutex)举行掩护。
9. 介绍 Go 协程和 Channel 及常用场景
协程(Goroutines)
Go 的协程(goroutines)是轻量级的线程,可以通过 go 关键字启动。例子:
  1. go func() {  
  2.     fmt.Println("Hello from goroutine")  
  3. }()  
复制代码
通道(Channel)
通道是 goroutines 之间通讯的方式。可以通过 make(chan Type) 创建,使用 <- 操作符举行发送和吸收。例子:
  1. ch := make(chan int)  
  2. go func() {  
  3.     ch <- 42  
  4. }()  
  5. fmt.Println(<-ch)  
复制代码
常用场景
并行使命处置惩罚。
使命调治。
goroutines 之间的数据共享与同步。
10. 互斥锁,正常模式,饥饿模式?一句话形容。进步吞吐量。
互斥锁(Mutex):确保同一时间只有一个 goroutine 访问共享资源。
正常模式:默认模式,通过公平锁确保公平竞争。
饥饿模式:优先照顾等候时间长的 goroutine,以克制长期等候。
一句话形容:通过合适的锁模式和策略,进步系统并发吞吐量。
二. 项目面(简单提问)


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4