📡
首页
🏢
企业
📚
考试
📖
攻略
📰
日报
👤
我的
校招宝-应届生校园招聘情报站
聚合秋招/春招/实习/提前批
面试真题
技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
641 道
覆盖企业
49 家
技术方向
16 个
当前筛选
26 道
按技术方向
点选即筛,再点「全部」还原
全部(641)
数据库(114)
C++(85)
Go(82)
Java(69)
网络(65)
操作系统(54)
后端(39)
前端(37)
算法(31)
运维(22)
其他(17)
AI算法(13)
大数据(6)
测试(4)
产品(2)
Python(1)
按难度
简单(265)
中等(357)
困难(19)
按企业
49 家企业的真题,点选查看该公司全部题目
百度(160)
腾讯(138)
阿里巴巴(62)
网易(54)
京东(48)
字节跳动(33)
大华股份(10)
美团(9)
Momenta(7)
小鹏汽车(7)
深信服(7)
Shopee(6)
小米(6)
拼多多(6)
滴滴(6)
读书郎(6)
金山(6)
搜狐(5)
虎牙(5)
闪送(5)
小红书(4)
快手(4)
沥泉科技(4)
360(3)
分类:Go · 难度:简单
26 道 · 点击进入查看参考答案
简单
Go
1000个 goroutine 进行 IO 处理会发生什么?
结论:Go运行时可高效调度1000个goroutine进行IO,不会阻塞OS线程,资源占用低。核心要点:goroutine轻量(初始栈2KB),创建和切换成本低;网络IO时,goroutine阻塞触发runtime.ne…
🎤 网易
简单
Go
发给10个协程,如何打出升序的数字
结论:通过channel控制协程结果按序输出,避免并发乱序。核心要点:1.启动10个协程并发执行,各自生成数字但完成顺序不确定;2.主协程预建10个channel,协程i向ch[i]发送数字i;主协程按索引0~9依次接收…
🎤 滴滴
简单
Go
讲讲defer关键字
结论:Go中defer用于延迟函数调用,在所在函数返回前按后进先出执行。原理:defer注册函数并拷贝参数压栈,函数return或panic时弹出。场景:资源释放(关文件、解锁)、错误日志;示例:f,_:=os.Open…
🎤 百度
简单
Go
结构体中的tag有什么作用
结论:结构体tag是字段的元信息字符串,主要用于反射场景下的序列化、校验、ORM映射等。原理:以Go为例,tag用反引号附在字段后如`json:"name"`;encoding/json等包通过反射读取tag,决定编码键…
🎤 大华股份
简单
Go
开辟多个写协程向一个channel中写数据 是有序吗?
结论:多个写协程并发向同一个channel写数据,写入顺序不保证有序;channel本身不提供跨协程的写入顺序保证。 要点: - Go channel的发送操作是原子且互斥的,但哪个协程先获得发送机会由调度器决定; - …
🎤 京东
简单
Go
切片的复制过程
结论:切片复制分两种,切片表达式仅复制元数据(浅拷贝),copy函数复制元素值(表层拷贝)。过程:使用copy(dst,src)时,系统取min(len(dst),len(src))个元素,将src对应索引处的元素逐个赋…
🎤 大华股份
简单
Go
切片和数组的区别
结论:数组是固定长度的值类型,切片是动态长度的引用类型。区别:1. 数组长度编译期确定且属于类型([2]int与[3]int不同),赋值传参时整体拷贝;切片长度运行时可变,赋值时仅拷贝切片头。2. 数组在内存中直接连续存…
🎤 百度
简单
Go
如何判断一个结构是否实现了某个接口?
结论:Go接口为隐式实现,判断结构体是否实现接口可用编译期断言或运行时类型断言。核心:1. 编译期检查:在包中声明 var _ MyInterface = (*MyStruct)(nil),若未实现则编译报错;2. 运行…
🎤 大华股份
简单
Go
channel在项目中的4种典型应用
结论:channel典型应用有4种:1.数据传递:主协程与子协程通过chan传值,如go func(){ch<-res}();2.工作池:用任务chan分发,多个worker消费,控制并发,jobs:=make(chan…
🎤 百度
简单
Go
defer的应用场景与defer的执行顺序
结论:defer用于延迟执行,常用于资源释放、异常恢复和退出前操作;执行顺序为后进先出(LIFO)。应用场景:1.关闭文件句柄;2.解锁互斥锁;3.recover捕获panic;4.记录函数耗时。执行顺序:函数内多个de…
🎤 百度
简单
Go
gin框架常用中间件
结论:Gin框架常用中间件包括内置的Logger、Recovery,以及第三方如JWT鉴权、CORS跨域、Swagger文档、Prometheus监控等。原理:中间件是函数类型func(c *gin.Context),通…
🎤 京东
简单
Go
Go 两个 slice 比较
结论:Go中slice不可直接用==比较(仅能与nil比较),需手动遍历或使用reflect.DeepEqual。核心要点:slice是引用类型,底层含指针、长度、容量,==运算符仅允许与nil比较,否则编译错误;比较内…
🎤 百度
简单
Go
go常见的三种序列化和反序列化
结论:常见三种为JSON、Gob、Protocol Buffers。核心要点:JSON通用文本,标准库encoding/json;Gob Go原生二进制,高效但不跨语言;Protobuf需schema,跨语言高性能。原理…
🎤 读书郎
简单
Go
go语言的切片和数组的区别(关系)
结论:数组固定长度连续内存,切片是数组的动态视图。核心要点:数组值类型,长度属类型;切片引用类型,含指针、长度、容量;切片底层指向数组。原理:声明[3]int是数组,[]int是切片;数组赋值拷贝数据,切片赋值拷贝头信息…
🎤 百度
简单
Go
golang 并发原语是什么?
结论:Golang并发原语指语言内置与标准库提供的并发控制机制。核心要点:语言级原语包括go关键字启动goroutine、chan通道用于通信;标准库原语在sync和atomic包中,如sync.Mutex互斥锁、syn…
🎤 百度
简单
Go
golang内存逃逸有了解吗?
结论:内存逃逸是Go编译器将本应栈分配的局部变量改为堆分配的现象,由逃逸分析决定。核心要点:1) 逃逸原因:变量地址被返回或全局引用、闭包捕获、编译期无法确定大小(如动态切片)、赋值给接口类型;2) 原理:编译期静态分析…
🎤 深信服
简单
Go
golang协程的使用需要注意哪两个方面的问题
结论:Go协程使用需重点关注两方面:1) 协程泄露:协程因通道阻塞、缺少退出信号或死锁无法结束,导致资源常驻。应避免向已无接收者的channel发送、使用context取消或select超时控制;2) 并发安全:多协程访…
🎤 腾讯
简单
Go
golang有哪些同步原语?
结论:Go同步原语主要包括sync包、channel及atomic包。核心要点:1) sync.Mutex/RWMutex提供互斥与读写锁;2) sync.WaitGroup等待一组goroutine结束;3) sync…
🎤 大华股份
简单
Go
golang中哪些类型是引用类型,哪些类型是值类型
结论:Go中值类型赋值传参拷贝整体,引用类型拷贝引用头指向同一底层。值类型:int、float、bool、string、array、struct;引用类型:slice、map、chan、func、interface、po…
🎤 大华股份
简单
Go
goroutine的使用场景
结论:goroutine适合轻量并发场景,尤其IO密集与高并发服务。使用场景:1) 网络服务每连接或请求起goroutine处理;2) 后台异步任务如日志上报、定时清理;3) 流水线或Worker池分发任务通过chann…
🎤 子虔科技
第 1 / 2 页
下一页 ›
题目整理自公开面经,答案由校招宝自研生成,仅供参考
首页
企业
考试
攻略
日报
我的