面试真题

技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
641 道
覆盖企业
49 家
技术方向
16 个
当前筛选
5 道

按技术方向点选即筛,再点「全部」还原

按难度

按企业49 家企业的真题,点选查看该公司全部题目

分类:Go · 企业:京东5 道 · 点击进入查看参考答案

简单Go
开辟多个写协程向一个channel中写数据 是有序吗?
结论:多个写协程并发向同一个channel写数据,写入顺序不保证有序;channel本身不提供跨协程的写入顺序保证。 要点: - Go channel的发送操作是原子且互斥的,但哪个协程先获得发送机会由调度器决定; - …
🎤 京东
简单Go
gin框架常用中间件
结论:Gin框架常用中间件包括内置的Logger、Recovery,以及第三方如JWT鉴权、CORS跨域、Swagger文档、Prometheus监控等。原理:中间件是函数类型func(c *gin.Context),通…
🎤 京东
简单Go
关闭的channel数据的发送与接收
结论:向已关闭channel发送数据会引发panic;从已关闭channel接收,若缓冲区有数据则先读出,随后返回零值且ok=false;重复关闭同样panic。原理:channel关闭后运行时禁止发送,接收通过hcha…
🎤 京东
中等Go
channel底层结构分析
结论:channel底层是runtime.hchan结构体。关键字段:1.qcount当前元素数;2.dataqsiz缓冲区容量,buf指向环形数组;3.sendx/recvx读写索引;4.recvq/sendq为等待的…
🎤 京东
中等Go
有缓存的channel的数据接收和发送流程
结论:有缓存channel基于环形缓冲,发送接收在缓冲不满/不空时不阻塞。流程:发送时,若缓冲有空位则拷贝数据入队并返回;若满则当前goroutine入发送等待队列并阻塞,待接收方取走数据后唤醒;接收时,若缓冲非空则取数…
🎤 京东
题目整理自公开面经,答案由校招宝自研生成,仅供参考