腾讯PCG一面面经分享

一面 3.6 60min
自我介绍
拷打项目
一些和项目强相关的问题省略
为什么要用本地缓存?
什么是最终一致性,如果节点宕机了数据丢失了怎么保证?
有没有考虑数据迁移的问题
项目中的QPS是多少,怎么压测的?用了什么工具

八股:
项目中用到了kafka,为什么要用,描述一下kafka的架构
redis的查询流程
redis zset底层数据结构,为什么要用zipList或者listpack, zipList会导致什么问题?
说一下listpack里面是存了哪些字段?
描述一下跳表的读写流程,分析下时间复杂度
MySQL聚簇索引的底层结构是什么?为什么要用B+树,对比一下红黑树,跳表?
什么是二级索引?索引在什么情况下会失效, 什么情况下适合用索引?
tcp和udp的区别(从面向字节流, 面向连接, 可靠传输三点分析)
http底层是基于什么协议?(这题是个坑, 一定要区分版本说tcp or udp)
http1.0, 1.1, 2.0, 3.0的区别
队头阻塞是怎么产生的?为什么会产生这个问题
http3.0是如何解决队头阻塞的?在什么情况下会容易出现队头阻塞的问题?
https描述一下流程,CA在其中的作用是什么,证书链的验证过程
进程,线程,协程的区别
描述GMP(Golang)模型
go map的底层实现
描述go map渐进式rehash的流程,和redis的流程有什么不同
go的sort底层是怎么实现的
go的字符串里面Contains是怎么实现的?讲一下KMP算法(忘记了..不确定说会的话是否要手撕)

算法:
手写堆排序
手写快排, 写完问递归实现是否会导致栈深度过深的问题, 附加要求:改成迭代实现
二叉树的BFS
全部评论
太强了哥 平时八股在哪背的啊
点赞 回复 分享
发布于 2024-03-28 02:21 广东

相关推荐

2025.3.20下午3点1.面试官介绍业务2.自我介绍3.说一说布隆过滤器的实现,为什么用谷歌的布隆过滤器(轻量级)?,有没有看过他的源码?(没有)4.实习和区块链有关,对他了解吗?(做二次开发,没碰底层,简单介绍区块链)5.说一说简历里面写的oom问题?这里有用到jinfo等命令吗?(没有,比较简单的oom问题没用到这些命令)画火焰图了吗?(没有)?6.线程池使用的全过程?有监控过线程池吗?(没有)7.有没有解决过死锁问题?(没遇到过,但是看过很多解决方案)8.java锁的实现方式?9.分布式锁的实现方式?运用?(他说线程池经常配合锁一起用,没这样用过)10.Linux上出现很多time wait怎么排查(不会)11.三次握手四次挥手的过程中服务器的状态(不会)12.用过socket吗?(课设用过,他说那过)13.长链接用过吗?(没有)14.用的Docker版本多少?(不记得)15.Docker相关命令16.Docker底层是docker d还是container d(没听说过)17.Docker用的是桥接还是host(应该是用桥接,面试官:所以你只是会用命令但是并没有了解过底层是吧-对)18.进程、线程、协程的区别?进程间的通信方式?还知道其他的吗,比如java机这种?(没听说过),有使用过共享内存吗?(没有)19.所以没有手写过协程之类的是吧?(没有)20.他说给了个简单的Sql执行-sql语句:select A.a A.g from user where a=1,b=2 group by g 有两个索引(a,b,c)和(a)他会走索引吗-会吧(答错了,他说有group排序就不行,但是查了发现a,b好像确实还是用到索引了,要是联合索引包括g,group也会用到索引)算法:手撕LRU(让我看完题目问我思路,说了双向链表或者大顶堆,问我多久能写完,想了一下自己也不太清楚什么时候能搓完,他说java搓大顶堆挺耗时间的,那换一道,结果换了没写出来,太菜了)面评脏
查看17道真题和解析
点赞 评论 收藏
分享
评论
7
74
分享

创作者周榜

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