Funplus 服务端开发实习 面经

官网投了 boss上也问了,hr boss里直接和我约面 

一面:北京时间 2025年2月28,
15:00

自我介绍:略
项目:略

问:项目提到了redis zset,说说底层
跳表,拿平衡树,线段树做了对比,两点优势:合适范围存取,插入后续指针处理相对较快

问:项目接口速率优化怎么做的:
多级缓存(localcache+redis)+golang singleflight 合并同key请求+异步更新redis

问:如果要你自己实现一个简单缓存怎么做:
实际上就是一个并发安全键值对,扯sync.map,读写分离
不过也要分情况,读多写少可以用,写多得另外考虑,以为修改缓存的性能消耗可能拖后腿

问:怎么考虑?
和我之前提的类似,异步改缓存,根本还是并发安全+最终一致性+读写分离

问:缓存淘汰应该有哪些策略?
LRU,基本上就是队列,优化下可以弄上堆,比如优先队列来排序

问:堆是什么
(八股忘了打错了)类似二叉平衡树(实际上是二叉堆),说到底就是空间换时间,设定旋转规则保证遍历顺序,树状结构压缩遍历深度,然后在logn的时间内返回

问:golang熟悉把,讲讲gc
三色标记:从栈里面遍历出去遍历不到就删。还有混合写屏障,用于缩短stw时间,具体不记得了

问:声明变量什么时候在栈里什么时候再堆里
阿巴阿巴(脑子抽了有点乱答语无伦次)
反正动态删改的全局变量一定是再堆里面,函数内部调用的生命周期都在函数内的一定在栈上

问:(引导)那我make出来的map那些呢
make底层是动态函数分配一定是在栈上的

问:(继续引导)比如说我创建一个结构体,然后把直接把这个结构体返回,那这个结构体它是在堆还是栈?
哪里的结构体,函数里面吗?

问:对的
函数里的局部变量就是在里面的。因为它整个生命周期都和这个函数一样,然后函数的话也是栈上的。

问:如果传递到函数外呢
那就逃逸掉了(想当然了)

问:那如果传递的不是指针了是结构体呢?
(恍然大悟,谢谢面试官)哦哦哦赋值不会,引用传递会逃逸。

问:git会用把, merge和rebase有什么区别吗
忘了,一般都是merge,没遇到过rebase的场景

问:用过C++吧,主要写什么呢
写算法题,用stl有些了解

问:那你讲讲stl组件
Container,Adapter,Algorithm,Iterator,Function,Allocator

问:典型的Adapter有哪些
stack,queue,priority queue

问:list底层和和vector有什么不一样,
链表和数组

问:讲讲dfs和bfs
本质就是栈和队列,balabala讲了不少,面试官说ok

问:要你实现一个定时器管理模块,不使用time包之类的,你要怎么做
堆实现,或者直接调用priority queue,按照执行时间排序,每次轮询堆顶,到时间了就执行,需要高并发可以开多个堆,并不影响

问:如果我要删呢
类似redis懒删除,弄个表存要删的id,遍历到要执行对比下是直接丢掉就行

问:如果不要懒删除要直接删呢
那就不能用priority queue,要到堆里面直接查,查到了删掉(没救了,堆不能快速查找,和平衡树搞混了,答错了)

反问
表现怎么样: 还可以,相对起来基础算好的
日常实习还是暑期:日常
组里做什么的:slg
技术栈:Golang+redis+mongo

体验很好,面试官有水平的,会引导,等后续消息了

3月7日更新,hr说我入职时间有点远,有意愿的话4月份再来看有没有hc吧,人才池+1

#面经##后端##golang##redis##funplus##实习##牛客AI配图神器#
全部评论
你这是25届实习吗?
1 回复 分享
发布于 2025-03-04 01:11 辽宁
表扬了
1 回复 分享
发布于 2025-03-03 20:30 广东
佬你面的岗base哪啊
点赞 回复 分享
发布于 2025-03-13 19:43 黑龙江
没有手撕吗
点赞 回复 分享
发布于 2025-03-02 00:29 广东
补充:bg双非一本海外硕,出国之前有一年小厂经验
点赞 回复 分享
发布于 2025-02-28 19:56 英国

相关推荐

04-13 15:31
门头沟学院 Java
某游戏厂,面了 1h。大部分时间都是问纯八股,项目一点没问,手撕也很简单,网上搜到的面经大部分是C++八股文轰炸或者项目拷打。是不是因为一开始就对我不感兴趣所以干脆不为难我了面经如下:自我介绍游戏经历主要编程语言(我说的Java 但是岗位写的是C++/GoLang)求职方向是后端,为什么选择游戏服务器开发有Linux使用经历吗(项目部署)用过的Linux命令查看文件用什么命令,查看大文件呢?租服务器会关注服务器配置吗,如何确定这个配置能够满足项目部署的需求?会分析服务器使用情况吗(CPU、内存使用率),如何定位具体的线程资源使用情况?讲讲数组和链表结构、常用操作、时间复杂度为什么数组支持随机访问(内存连续+偏移量)讲讲栈和队列结构、区别、应用讲讲RabbitMQ如何用数组实现队列讲讲哈希,平时用过哪些哈希的数据结构哈希表的key如何获得什么是哈希冲突哈希底层原理了解吗面向对象三大特性现场写一下多态的例子讲讲平时用过的设计模式手撕反转链表、反转字符串反问的时候面试官说我可以自信一点()最后给点建议吧:纯八股 + 项目一点没问,大概率不是“不感兴趣所以不为难你”,更可能是:1,面试官习惯按固定流程走,先筛基础2,或者他觉得项目跟岗位匹配度不高,问了也白问,3,面了一个小时还给建议,说明你至少过了他的及格线。别自己加戏
查看23道真题和解析
点赞 评论 收藏
分享
04-13 09:20
已编辑
电子科技大学 C++
自我介绍 实习1. 去上一家公司实习的目的?2. 为什么离职?3. 上一家公司职场氛围和交流氛围如何?4. 上一家公司实习主要的工作背景和产出?5. 介绍一下上一家公司实习的背景和原理6-12. 实习拷打13. 上一家公司有没有 AI 提效工具?有没有 AI 培训?其他员工有没有相关的使用经验?14. 你为什么在实习开发中使用 AI 工具吗?15. 总结一下上一家公司实习你的收获是什么?16. 实习期间,你遇到最困难的一个点?你是如何解决的?项目1. Raft 项目的动机是什么?算法无闲聊1. 你转专业了吗?还是自学?2. Golang 和 C++ 哪个用得比较多?3. 面试官介绍 Golang 和 C++ 在后端和鸡架开发之间的差异...4. 能实习多久?专业其他同学的规划是读研还是就业?5. 你为什么想要就业?你不用上课吗?6. 有没有想过跨考?7. 反问总结第一次约面后,面试官临时有会,面试前 5 分钟取消会议。推迟了一天,然后又迟到 10 分钟。自我介绍完就感觉像是 KPI 面了,不过没关系,感觉还是很好为人师的面试官,反问环节直接让他帮我把从 C++ 到 Golang 学习路线规划了一下,也请教了一下应该阅读哪些书籍。
发面经攒人品
点赞 评论 收藏
分享
评论
3
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务