2024.3.26 腾讯魔方工作室—golang后台开发面经

全程拷打,深挖项目,几乎不问八股,有些问题想不太清楚了,只是凭着模糊记忆把大体问题写下。

做了三个项目,一个项目是日记平台,用了redis作为缓存中间件,面试官一直问有关缓存的问题
1. 为什么使用redis?
2. 缓存更新策略是什么?我是先删缓存再更新。追问:这样有什么优势?如果更新key过程中更新失败或者redis崩溃怎么办?
3. 什么是缓存穿透?
4. 为什么使用布隆过滤器?与不使用相比有什么优势?
5. 你这个布隆过滤器是在redis上,都走缓存,是不是布隆过滤器有点多余?
5. 你一开始设计这个项目的时候有没有考虑分布式部署?
6. 如果要让你改成分布式部署,会有什么变化?
7. 你觉得你这个项目适不适合分布式部署?

第二个项目,Rpc框架
0. 介绍一下这个项目做了什么?
1. 编解码器gob和json相比有什么优势劣势?
2. 除了gob和json,还有其他编解码方案吗?
3. 你如何管理底层网络连接?
4. 我看你用了反射进行服务注册,为什么用反射?有什么优缺点?与硬编码相比有什么优缺点?
5. 注册中心有什么用?
6. 如果客户端恰巧在可用服务列表过期的那微小的时间间隔内发送了请求,请求发送错误,该怎么办?

第三个项目,容器部署类的项目
1. 我看你用了docker和k8s,能不能讲一下镜像和容器的关系?
2. 了解k8s的架构吗?说一下k8s各个组件的功能
3. 能说一下k8s的命令吗?

狠狠拷打半个多小时后,手撕代码:一道简单的多并发打印数字题目,要控制并发度。

结束后我问了面试官两三个问题,一个是部门业务相关,一个是给点继续深入学习的意见,要我往深处学习钻研,一定要会分布式相关的知识#腾讯实习[话题]#
全部评论
同学你好 可以考虑下我们部门呢 我们是淘天集团 基础交易链路核心团队 目前在招25届暑期实习 hc充足 欢迎咨询投递!
点赞
送花
回复
分享
发布于 03-27 12:17 浙江
第三个项目是什么呀,想了解一下😍
点赞
送花
回复
分享
发布于 03-27 15:25 北京
网易互娱
校招火热招聘中
官网直投
魔方后台技术栈是golang啊?不是cpp吗
点赞
送花
回复
分享
发布于 03-28 23:04 广东
第二个项目是geektutu那个嘛
点赞
送花
回复
分享
发布于 04-01 16:30 上海
魔方测开咋样啊,Java选手被捞了
点赞
送花
回复
分享
发布于 04-16 11:03 北京

相关推荐

#golang面经# 1、容量为1的channel在什么情况下会堵塞(除了常见的)2、多线程同时读写map中不同的key,一个线程只会读写一个key,会发送什么3、检查数据竞争4、实现了一个web的server,如何设置这个server返回的response的类型,比如说是一个图片一个视频一个json5、快速定位死锁6、用户从客户端访问一个页面,webserver如何主动的给这个页面推送一个通知7、singleflght是使用什么方式去通知其他线程,其他线程怎么阻塞的8、不用waitgroup怎么实现这部分9、slice是[]int{1,2},把它传入一个函数,修改第一项的值为3,函数结束,原来slice值改变了吗10、如果函数是新建一个list等于append原来的slice,list=append(slice,3),调用完这个函数后在函数的外部打印这个原来slice的长度是多少,新的是多少,地址改变了吗,指向的原来的数组呢11、a和b两个线程,a里面有defer recover,a里面新开了一个b,b没写defer recover,b发生了panic,ab两个线程会发生什么情况(之前没听清,以为是两个不相干的函数,我还在想那不直接panic还要咋)12、在函数参数传递一个非指针的互斥锁会发生什么事情?为什么会发生?13、优化过sql吗,数据库是部署在哪里的,讲一个你认为最好的sql优化例子14、mysql部署在阿里云上,如何找到最慢的sql语句15、用过gorm,如果一张上百万的数据的表,要新建一个字段的索引,如何保证线上的服务尽量少的被影响16、jwt鉴权管理实现怎么做的,怎么实现的鉴权,修改了token它怎么解析,为什么这么解析,原理是什么17、详细说一下令牌桶算法的实现
点赞 评论 收藏
转发
5 34 评论
分享
牛客网
牛客企业服务