📡
首页
🏢
企业
📚
考试
📖
攻略
📰
日报
👤
我的
校招宝-应届生校园招聘情报站
聚合秋招/春招/实习/提前批
面试真题
技术面 + 非技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
2508 道
技术岗
641 道
非技术岗
1867 道
当前筛选
357 道
按赛道
技术岗以技术方向细分;非技术岗按「结构化 / 半结构化 / 无领导 / HR / 职能」细分
全部赛道(2508)
技术岗(641)
非技术岗(1867)
按方向/形式
点选即筛,再点「全部」还原
全部(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)
按企业
点选查看该公司全部题目
百度(161)
腾讯(139)
通用(87)
阿里巴巴(62)
网易(55)
京东(49)
中国储备粮管理集团有限公司(43)
字节跳动(34)
大华股份(11)
美团(10)
Momenta(8)
小鹏汽车(8)
深信服(8)
Shopee(7)
小米(7)
拼多多(7)
滴滴(7)
虎牙(6)
读书郎(6)
金山(6)
小红书(5)
快手(5)
搜狐(5)
闪送(5)
技术岗 · 难度:中等
357 道 · 点击进入查看参考答案
中等
Go
for range中赋值的变量是指向临时变量还是真实的地址
结论:Go中for range遍历时,循环变量是复用的临时变量,取其地址得到的是同一地址,指向每次迭代赋值的临时变量,并非每个元素的真实独立地址。核心要点:for i,v := range slice { } 中v是每次…
🎤 深信服
中等
Go
gin框架如何使用swagger实现接口文档
结论:在Gin中使用Swagger需借助swaggo工具链,通过代码注释生成OpenAPI文档并暴露UI。核心步骤:1. 安装swag cli及gin-swagger、swagger-files库;2. 在main.go…
🎤 沥泉科技
中等
Go
Go 泛型
结论:Go自1.18起支持泛型,通过类型参数实现编译期多态。核心要点:使用[type T Constraint]语法定义类型参数;约束由接口描述,如comparable或自定义接口;泛型函数/结构体可安全操作多种类型,避…
🎤 百度
中等
Go
Go 最新特性
结论:近年Go重要特性包括泛型(1.18)、模糊测试(1.18)、工作区(1.18)、loopvar每轮新变量(1.22)、内置clear/min/max(1.21)、结构化日志slog(1.21)等。核心要点:泛型提升…
🎤 百度
中等
Go
Go channel
结论:channel是Go并发通信原语,基于CSP模型,用于goroutine间安全传递数据。核心要点:hchan结构体含缓冲队列、互斥锁、等待队列;无缓冲channel要求收发双方就绪(同步),有缓冲则异步直到满/空;…
🎤 百度
中等
Go
Go context
结论:context用于跨goroutine传递取消信号、超时和请求域键值,管理生命周期。核心要点:Context接口含Done()<-chan struct{}、Err()、Deadline()、Value(key);…
🎤 百度
中等
Go
Go select
结论:select用于监听多个channel的读写,实现多路复用。核心要点:每个case对应一个通信操作;随机选择可运行case;无default且均阻塞时等待;可配合time.After超时。原理:编译器将select…
🎤 百度
中等
Go
go的并发编程如何避免死锁?
结论:避免死锁需确保channel操作有配对、加锁顺序一致、select超时、避免协程泄露。核心要点:1)无缓冲channel读写需另一协程接应;2)多锁按固定顺序获取;3)select加default或time.Aft…
🎤 百度
中等
Go
go怎样在并发编程下等待多个协程的结束,Add和wait的底层实现是怎样的
结论:用sync.WaitGroup等待多协程结束,Add增计数,Done减一,Wait阻塞至零。核心要点:内部noCopy、state1含counter、waiter、信号量;Add原子增counter;Done调Ad…
🎤 百度
中等
Go
go中协程间通信的方法有哪些
结论:Go协程间通信主要两种方法:使用通道(channel)和共享内存加同步原语。核心要点:1.Channel是Go推荐方式,遵循“通过通信共享内存”,分为无缓冲和有缓冲,可传递数据或同步信号;2.共享内存方式需配合sy…
🎤 字节跳动
中等
Go
golang 读写锁的基本原理
结论:sync.RWMutex读写锁允许同时多个读操作或单一写操作,提升读多写少性能。核心要点:内部由写互斥锁和读计数器组成;读锁(RLock)当无写者持锁或写者等待时可直接获取,增加读计数;写锁(Lock)需等待所有读…
🎤 腾讯
中等
Go
golang 互斥锁的基本原理
结论:sync.Mutex互斥锁保证同一时刻仅一个goroutine进入临界区。核心要点:基于原子CAS、自旋与信号量休眠实现;有正常和饥饿两种模式。原理:Lock()先尝试原子交换获取锁,失败则自旋少量次数后休眠排队;…
🎤 阿里巴巴
中等
Go
Golang 内存逃逸现象是什么
结论:内存逃逸指局部变量本应栈分配,因生命周期超出函数而被编译器分配到堆上。核心要点:Go编译器做静态逃逸分析,若变量在函数返回后仍被引用则逃逸;常见情况:返回变量指针、被闭包捕获、赋值给接口、切片/map动态增长导致底…
🎤 字节跳动
中等
Go
golang 切片原理
结论:切片是引用类型,底层为数组的抽象,结构体含指针、长度、容量。核心要点:1.切片头包含ptr指向底层数组,len当前元素数,cap从ptr开始数组总长,cap(s[a:b])=cap(s)-a;2.切片操作s[a:b…
🎤 小米
中等
Go
golang channel的底层实现
结论:channel底层是hchan结构体,实现为带锁的环形缓冲队列及等待队列。核心要点:1.hchan含buf(环形队列)、dataqsiz、elemsize、sendx/recvx索引、recvq/sendq等待者链…
🎤 腾讯
中等
Go
golang GMP模型 Work Stealing偷多少?
结论:GMP模型中,当P本地队列空时,会从其他随机P偷取约一半的G。核心要点:1.GMP:G协程、M内核线程、P逻辑处理器,每个P有本地运行队列(数组最大256);2.工作窃取:P本地无G时,先查全局队列,再随机选其他P…
🎤 百度
中等
Go
golang程序启动时发生什么
结论:Go程序启动历经汇编引导、运行时初始化、调度器启动,最终执行main函数。核心要点:1.入口为runtime.rt0_go汇编,设置栈、解析参数;2.调用runtime.osinit获取CPU数等,runtime.…
🎤 百度
中等
Go
golang零拷贝场景
结论:Go零拷贝主要利用标准库接口优化与底层系统调用,避免用户态与内核态间冗余数据拷贝。核心场景:1) io.Copy时若目标为net.TCPConn(实现ReaderFrom),直接调用sendfile在内核完成拷贝,…
🎤 Shopee
中等
Go
golang逃逸情况分析
结论:Go逃逸分析在编译期判定变量分配位置,常见逃逸情况如下:1) 函数返回局部变量指针(如 return &localVar);2) 变量尺寸编译期未知(如 make([]int, n) 且n为变量)或栈空间不足;3)…
🎤 众图互动
中等
Go
golang协程调度、什么时候一定会发生线程上下文切换?
结论:Go采用GMP调度模型,协程(G)在用户态切换,线程(M)上下文切换发生在内核态。一定会发生线程上下文切换的场景:1) 协程执行阻塞式系统调用(如文件读写、阻塞socket、time.Sleep进入内核),M陷入内…
🎤 腾讯
‹ 上一页
第 5 / 18 页
下一页 ›
题目整理自公开面经,答案由校招宝自研生成,仅供参考
首页
企业
考试
攻略
日报
我的