绿岛农村中餐厨子 level
获赞
23
粉丝
27
关注
1
看过 TA
468
University College Dublin
2025
golang
IP属地:英国
暂未填写个人简介
私信
关注
03-07 17:55
已编辑
University College Dublin golang
官网投了 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配图神器#
查看20道真题和解析
0 点赞 评论 收藏
分享
已注销:可恶的是,做完了还不给过
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务