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的命令吗?
狠狠拷打半个多小时后,手撕代码:一道简单的多并发打印数字题目,要控制并发度。
结束后我问了面试官两三个问题,一个是部门业务相关,一个是给点继续深入学习的意见,要我往深处学习钻研,一定要会分布式相关的知识#腾讯实习[话题]#
做了三个项目,一个项目是日记平台,用了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的命令吗?
狠狠拷打半个多小时后,手撕代码:一道简单的多并发打印数字题目,要控制并发度。
结束后我问了面试官两三个问题,一个是部门业务相关,一个是给点继续深入学习的意见,要我往深处学习钻研,一定要会分布式相关的知识#腾讯实习[话题]#