面试真题

技术面 + 非技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
2508 道
技术岗
641 道
非技术岗
1867 道
当前筛选
5 道

按赛道技术岗以技术方向细分;非技术岗按「结构化 / 半结构化 / 无领导 / HR / 职能」细分

按方向/形式点选即筛,再点「全部」还原

按难度

按企业点选查看该公司全部题目

分类:Go · 难度:中等 · 企业:深信服5 道 · 点击进入查看参考答案

中等Go
协程如何关闭
结论:协程关闭需通过通道通知或上下文取消,不可强制杀死。核心要点:1.Go中goroutine无法外部强制终止,需通过close(channel)发信号或使用context.Context取消;示例:ctx,cancel…
🎤 大华股份 / 深信服
中等Go
如何获取goroutine里面的一个函数执行的返回值
结论:获取goroutine内函数返回值,主流方案是用channel传递,或借助共享变量配合sync.WaitGroup/互斥锁。原理:go语句启动并发后,被调函数的返回结果会被丢弃,必须显式传出。方案1:无缓冲/缓冲c…
🎤 深信服
中等Go
如何在defer中修改方法返回值
结论:defer只能修改命名返回值,不能改匿名返回值。原理:Go函数命名返回(如func f() (r int))时return先赋值r再执行defer,defer修改r即改返回槽;匿名返回时return将局部变量拷贝到…
🎤 深信服
中等Go
先判断channel是否阻塞,再写入数据
结论:Go中不能直接判断channel是否阻塞,但可通过select语句实现非阻塞写入。核心要点:1. channel写入阻塞条件:无缓冲channel无接收者,或有缓冲channel缓冲区满;2. 非阻塞写入使用sel…
🎤 深信服
中等Go
for range中赋值的变量是指向临时变量还是真实的地址
结论:Go中for range遍历时,循环变量是复用的临时变量,取其地址得到的是同一地址,指向每次迭代赋值的临时变量,并非每个元素的真实独立地址。核心要点:for i,v := range slice { } 中v是每次…
🎤 深信服
题目整理自公开面经,答案由校招宝自研生成,仅供参考