腾讯游戏前沿技术 一面 后台实习

自我介绍,说了Golang,然后开始问golang
Golang相关:
1. new make的区别
2. GMP模型
3. 使用golang中遇见的坑(说了map并发读写 问sync.Map的具体实现)
4. 数组与slice的区别
5. 逃逸分析
这部分的总结是:啥都不会,面试官问:你这没有准备呀
然后看项目:
看到了用了RPC框架
1. RPC与HTTP
说到pb协议,为什么pb协议快,JSON不快
然后HTTP/2与HTTP的区别
HTTP与HTTPS的区别
gRPC底层用的协议
2. MySQL
存储引擎、各个存储引擎之间的区别
事务特性与隔离级别实现的基本原理
3. Redis
Redis为什么这么快
Redis常用的数据结构
ZSET底层
Redis的网络模型
4. 说一下项目中比较有技术含量的部分
说了实现分布式websocket服务器的方式
RabbitMQ,消息队列的选型
这时候谈到服务器资源,kafka占用内存特别高,面试官保持怀疑
5. 服务器
Linux常用的命令
查看CPU的命令
排查CPU占用率特别高
排查内存占用率高(GC -> 各种资源的close问题)
6. 做题
洗牌算法(rand包下的api忘完了)
字符串数组的公共前缀

总结:基础没有准备,项目经验匹配
全部评论
流程结束🥹菜狗哭泣
2 回复 分享
发布于 2023-02-14 16:34 上海
楼主你好,请问可以投递多个岗位吗,看楼主之前投了天美
点赞 回复 分享
发布于 2023-02-25 10:36 广东
老哥 请问你什么时候一面的啊
点赞 回复 分享
发布于 2023-02-09 14:31 湖南

相关推荐

1.图文上传流程2.如何解决图片上传的负载3.不同文件预览的挑战4.讲一下自定义hook5.讲一下Vue2 和vue3 的差异6.vue3解决了vue2的什么问题7.react对比vue的差异8.了解性能优化,在网络层面讲一下优化9.301 和 302区别10.浏览器缓存的策略11.具体是怎么触发缓存12.css的动画中,给一个元素写一个动画,又给它绑定了js点击事件,会生效吗13.反过来,js的代码会不会影响css14.盒子模型,width:100 padding:100 宽度是多少手撕:对于一个数组(长度>=3)进行乱序排序,要求每个元素不会落到原来位置,且落到其他位置的概率相同:function derangementShuffle(arr) {const n = arr.length;// 复制数组,防止修改原数组const shuffledArr = [...arr];// 1. 使用 Fisher-Yates 洗牌算法进行初步打乱for (let i = n - 1; i > 0; i--) {const j = Math.floor(Math.random() * (i + 1));[shuffledArr[i], shuffledArr[j]] = [shuffledArr[j], shuffledArr[i]];}// 2. 检查并纠正还在原位的元素for (let i = 0; i < n; i++) {// 如果当前元素还在原位,需要进行交换if (shuffledArr[i] === arr[i]) {let j = (i + 1) % n; // 从下一个位置开始找// 找到一个可以交换的元素while (shuffledArr[j] === arr[j] && j !== i) {j = (j + 1) % n;}// 进行交换[shuffledArr[i], shuffledArr[j]] = [shuffledArr[j], shuffledArr[i]];}}return shuffledArr;}// 示例const originalArr = [1, 2, 3, 4, 5];const derangedArr = derangementShuffle(originalArr);追问:这段代码的时间复杂度是多少反问:1.业务2.几面
查看15道真题和解析
点赞 评论 收藏
分享
评论
17
92
分享

创作者周榜

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