📡
首页
🏢
企业
📚
考试
📖
攻略
📰
日报
👤
我的
校招宝-应届生校园招聘情报站
聚合秋招/春招/实习/提前批
面试真题
技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
641 道
覆盖企业
49 家
技术方向
16 个
当前筛选
25 道
按技术方向
点选即筛,再点「全部」还原
全部(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 · 企业:百度
25 道 · 点击进入查看参考答案
简单
Go
讲讲defer关键字
结论:Go中defer用于延迟函数调用,在所在函数返回前按后进先出执行。原理:defer注册函数并拷贝参数压栈,函数return或panic时弹出。场景:资源释放(关文件、解锁)、错误日志;示例:f,_:=os.Open…
🎤 百度
简单
Go
切片和数组的区别
结论:数组是固定长度的值类型,切片是动态长度的引用类型。区别:1. 数组长度编译期确定且属于类型([2]int与[3]int不同),赋值传参时整体拷贝;切片长度运行时可变,赋值时仅拷贝切片头。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
Go 两个 slice 比较
结论:Go中slice不可直接用==比较(仅能与nil比较),需手动遍历或使用reflect.DeepEqual。核心要点:slice是引用类型,底层含指针、长度、容量,==运算符仅允许与nil比较,否则编译错误;比较内…
🎤 百度
简单
Go
go语言的切片和数组的区别(关系)
结论:数组固定长度连续内存,切片是数组的动态视图。核心要点:数组值类型,长度属类型;切片引用类型,含指针、长度、容量;切片底层指向数组。原理:声明[3]int是数组,[]int是切片;数组赋值拷贝数据,切片赋值拷贝头信息…
🎤 百度
简单
Go
golang 并发原语是什么?
结论:Golang并发原语指语言内置与标准库提供的并发控制机制。核心要点:语言级原语包括go关键字启动goroutine、chan通道用于通信;标准库原语在sync和atomic包中,如sync.Mutex互斥锁、syn…
🎤 百度
简单
Go
map与切片哪个是线程安全的
结论:Go语言的map和slice均非线程安全,并发读写会导致panic或数据错乱。原理:map底层无锁,并发写触发runtime抛出'concurrent map writes'崩溃;slice底层是结构体含指针/长度…
🎤 百度
中等
Go
切片不断append是如何给它分配内存的,具体扩容规则是怎样的
结论:append在容量不足时触发扩容,向系统申请新内存并拷贝原数据。具体规则:当原切片容量oldCap<1024时,新容量newCap翻倍(oldCap*2);当oldCap>=1024时,newCap按1.25倍增长…
🎤 百度
中等
Go
Channel的底层结构与数据的收发流程
结论:Go channel底层是hchan结构体,收发流程依赖缓冲区和等待队列。核心结构:hchan含buf环形队列(dataqsiz大小)、sendx/recvx索引、recvq/sendq等待队列(sudog链表)、…
🎤 百度
中等
Go
channel的用途和使用上要注意的4个点以及底层结构
结论:channel用于goroutine通信与同步;使用注意4点:1.向已关闭channel写会panic;2.从关闭channel读立即返回零值且ok=false;3.nil channel读写永久阻塞,常用于sel…
🎤 百度
中等
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
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.…
🎤 百度
第 1 / 2 页
下一页 ›
查看「百度」全部在招岗位与笔面经 ›
题目整理自公开面经,答案由校招宝自研生成,仅供参考
首页
企业
考试
攻略
日报
我的