投递情况:面经:字节:一面:1.自我介绍2.聊项目(1) 项目需求是什么?数据库表怎么设计的?(2) 点赞关系怎么存储的,有什么问题?(提到两种存储方式)(3) 针对feed流考虑一个场景:用户上传视频很多,如何避免重复观看某个视频3.介绍一下布隆过滤器4.介绍一下线程池5.介绍一下redis的集群模式6.哨兵模式的选举过程了解吗?选举算法呢?(raft算法)7.用过什么分布式锁,介绍一下原理8.看你有用过雪花算法,能介绍一下原理吗,是否会出现id相同的情况9.介绍一下责任链模式10.算法:(1) leetcode22 括号生成(2) leetcode45 跳跃游戏II (紧张,没做出来,回来一看之前还做过,蚌埠住了...)(3) leetcode69 x的平方根 (看我上题没做出来出道简单的,秒了)11.反问表现,还有哪些值得改进的地方(回答可以多刷leetcode,蚌埠住了)总结,hot100还得去复习一遍...二面:1.自我介绍2.介绍一下虚拟内存3.介绍一下ping原理、ping工作在哪一层、为什么没有使用传输层?(没答好,稀烂)4.说一下数据是如何写入到磁盘的5.对A, B建立联合索引,分析select * from xxx where A = 2 and B = 3存储引擎执行过程6.系统设计:实现一个评论功能:数据库模型->一个热点视频有很多评论怎么处理?7.算法:类似leetcode76. 最小覆盖子串8.反问三面:1.自我介绍2.拷打项目(1)点赞模块数据库怎么设计的?(2)点赞数怎么存储的?为什么要用hash而不直接使用string?(3)点赞数怎么更新?MQ重试期间用户查询不到点赞列表怎么办?(4)削峰怎么做的?为什么要削峰?既然直接写入MQ并返回成功状态那用户怎么感知服务失败?3.为什么要用RocketMQ?4.redis的zset底层实现,为什么要有跳表?为什么要有hash表?5.介绍一下ACID事务6.写一道sql:就是扣减库存7.介绍一下MySQL的隔离级别8.算法:小明上课爱打瞌睡,给你n节课,小明上第i节课会获得ai的收益,再给你n个01序列表示小明是否会在第i节课睡觉,你要选一个时间提醒小明,这样小明会保证在之后的k节课保持清醒,请最大化小明的收益。(牛友们要注意代码的可读性,被面试官批评说太acm风格了)9.智力题:10瓶药,有若干瓶被污染,被污染瓶的每粒药重1.1g,没被污染的每粒重1g,给你一个天枰,只允许称一次,请问如何求被污染的药瓶是哪些?(没做出来)10.能实习多久?11.自己的优缺点12.go和Java使用起来的感受13.为什么说go适合并发14.协程和线程的区别?15.反问HR面:1.实习地点和时长2.未来的职业规划3.成绩情况4.介绍参加的竞赛5.怎么学习后端的?6.你在竞赛或项目中有没有遇到和组员意见不一致的情况?怎么解决?7.近期遇到过最有压力的一件事是什么?怎么解决?8.如果来实习你希望收获什么?9.还面了哪些公司?会怎么选?10.反问腾讯:PCG-腾讯视频 一面:(人生第一次面试上来就是腾讯,也是难绷,很紧张,答得不好)1.介绍一下自己2.websocket怎么实现的?底层基于什么3.你的websocket如何支持成千上万的连接4.介绍一下IO多路复用5.介绍一下匹配算法和代码沙箱6.你做这个项目给你的收获是什么8.介绍一下视频上传,视频数据存在哪里7.你的点赞系统如何应对频繁刷赞的情况8.介绍一下redis的持久化过程9.做题:给定一个序列,找第100大的数,不能使用任何库函数10.反问CSIG-腾讯云 一面:1.介绍一下自己2.算法:手写一个二叉搜索树,实现add和find操作还问了:时间复杂度;Map相关,哈希冲突怎么解决?TreeMap这种和unordered_map这种有什么区别?什么时候用哪个?怎么评判哈希冲突是否严重?3.问项目:(1)你做这个项目的初衷是什么?(2)OAuth2的流程,QQ一键登录的流程(授权码能否和访问令牌合并)(3)介绍一下JWT,签名算法了解吗(实现原理)?(4)无感登录怎么做的(5)前后端即时通信怎么做的,怎么保证游戏的实时性和稳定性?(6)WebSocket的消息组成了解吗?什么是消息帧?为什么要有消息帧?(7)介绍一下匹配算法(8)介绍一下MiniMax-Search和Alpha-Beta剪枝技术4.简历写到:熟练掌握MySQL,深刻理解事务及其原理、索引、锁机制、MVCC、各种日志等,面试官问:"认真的吗?"(嘴角勾起一丝微笑,难崩)(1)介绍一下MySQL的事务及其原理(2)介绍一下MVCC5.反问(1)实习生会干些什么?(2)部门语言:C++\Go2024/4/10PCG-腾讯视频 一面(2h 蚌埠住了)1.互相自我介绍2.算法手写:(1) 求和大于等于s的最小连续子序列长度 (2) 给定序列,每个元素是[1, n]的整数,求重复出现的数 (3) LRU口述:(1) 如何判断一个链表是否有环(2) 100亿个数,每个数要么出现两次要么出现一次,求只出现一次的这个数(3) 10亿个数,求第k大3.介绍一下Java集合、介绍一下HashMap的原理4.介绍一下MySQL的索引,为什么这么设计5.介绍一下MySQL主从复制的原理 (面吐了,脑抽背到redis主从原理去了,背到一半刹车...尴尬)6.介绍一下redis的持久化方式7.介绍一下redis的数据结构。这些数据结构是怎么持久化的 (乱答)8.redis的通信协议了解吗?10.介绍一下TCP协议11.time_wait了解吗12.用过git吗,用过哪些命令?13.用过哪些linux命令14.如果我要获取一个目录下指定要求的文件,该用什么命令?15.问项目比较通用的:(1) 介绍一下redis和MySQL一致性怎么保证的?(2) 雪花算法原理16.反问阿里:淘天一面(电话面)没有问项目,八股盛宴1.介绍一下equals和hashcode2.为什么重写equals要重写hashcode (答的不好)3.hashmap的hash过程4.hashmap的扩容过程5.hashmap的底层实现6.concurrenthashmap和hashmap的区别?concurrenthashmap底层的锁实现7.ThreadLocal用过吗?什么场景下用?实现原理?会有什么问题?8.ThreadLocalMap底层使用的HashMap吗?ThreadLocal底层为什么不维护一个Map以Thread为key,资源为Value?9.什么是cas?10.TCP三次握手和四次挥手11.为什么握手要三次,挥手要四次?挥手什么时候变成三次?12.MySQL的隔离级别,每种隔离级别下会有什么问题?13.redis和MySQL的一致性怎么保证?14.redis缓存击穿和缓存雪崩介绍一下,怎么解决?15.分布式锁你是怎么用的?redisson实现分布式锁的原理?怎么加解锁?16.redis的一致性算法了解吗?为什么要有这个?原理是怎么样的?17.rocketmq满足cap的哪些?18.算法:开根号,不能使用库函数,二分秒了19.为什么想来实习?20.反问阿里国际一面(电话面)1.自我介绍2.介绍一下参加青训营的收获3.如何应对高并发请求,前端后端分别可以做什么?4.项目架构5.对于限流、实时流量和非实时流量限流怎么做?6.dubbo组件有哪些?为什么消费端能够像调用本地方法一样去调用生产者?dubbo序列化方式有哪些?7.rocketmq是如何保证可靠性的?8.broker全挂了怎么办?9.redis和mysql一致性怎么保证?10.说一下一条sql的执行过程11.innodb和myisam的区别12.介绍一下乐观锁和悲观锁13.介绍一下mysql的锁14.mysql如何加锁16.死锁的条件是什么?17.并发事务使用for update加锁是否会出现死锁的现象?18.50亿个数据去重怎么做?19.50亿个数据排序怎么做?20.反问拼多多:一面1.自我介绍2.有没有读研的打算3.有没有参加学校什么实验室或者基地之类的?4.有没有看过Java相关的书籍5.平时有用过线程池吗?怎么使用的?6.Java常见的线程池有哪些?7.介绍一下常见的阻塞队列8.接口和抽象类有什么区别?9.多态怎么实现的?10.对象是怎么生成的?常量存储在哪?11.聊聊gc算法12.介绍一下synchronized13.聊项目14.有没有看过设计模式相关的书籍15.手写设计模式,策略,模板16.有没有看过redis相关的书籍(我答没有,然后就没问redis了)17.聊项目18.算法:最长重复子串19.反问二面1.自我介绍2.问项目:(1) 代码隔离怎么做的?docker为什么能实现代码隔离?(2) 雪花算法原理?还了解哪些分布式id生成算法?(3) 怎么建索引的?(4) rocketmq如何保证消费顺序?(5) rocketmq的消费模式有哪些?3.mysql join如何使用?4.一条select * from table where xx的执行流程?5.语法树长什么样?(没听懂是不是问这个?唉应该问一下的)6.redis是如何接收和处理命令的?主要问序列化方式、然后问用过哪些序列化方式(protobuf)以及优缺点、dubbo序列化方式7.如何序列化一个map8.为什么要有线程池?为什么要有内存池?9.都说进程切换代价比线程切换代价大为什么?进程切换需要切换什么?10.concurrenthashmap和hashmap的区别?11.hashmap时间复杂度?什么时候链表会变成红黑树?12.hashmap的hash过程?如果让你实现一个hash算法你会怎么做?13.hash冲突不可避免我们应该怎么减少hash冲突?14.为什么要有JVM?15.算法:实现一个BigInteger类,它能完成大整数加法、大整数乘法、大整数赋值、大整数比较16.反问:感觉面试官已经不耐烦了,匆匆回答结束。三面1.自我介绍2.能实习多久?3.有没有读研的打算?为什么不读研?4.目前面了哪些公司?为什么选择pdd?5.对pdd的工作强度了解吗?你认为pdd为什么是这个强度?6.写一道算法:大浮点数相减7.说一说大学期间最有挑战的一件事8.讲一下大学期间最能体现你技术亮点的一件事9.反问HR面1.自我介绍2.能来实习多久?base地点有要求吗?3.面了哪些公司?为什么选择pdd?4.对pdd了解多少?5.有没有读研的打算?为什么不读研?6.有没有女朋友?7.了解pdd工作强度吗?如何看待pdd这样的工作强度?8.大学成绩9.如何学习后端的?10.介绍一下项目中最有挑战最能体现你团队协作的点11.未来校招期望薪资是多少?12.反问美团:基础研发平台-信息安全部-一面1.介绍自己2.介绍一下登录流程(从前端到后端)3.详细说一下qq一键登录的流程,具体到交互了些什么参数?4.jwt和session、cookie的区别5.jwt的缺点6.websocket连接的建立过程,websocket用的基于tomcat的还是netty的?tomcat底层7.拷打项目(为什么要实现心跳检测,你的websocket服务在集群模式下是否会出问题等)8.https项目中怎么配置的,具体到参数(晕)9.介绍一下mysql的日志文件10.如何保证redis的高可用11.分片集群了解吗?介绍一下12.分片集群的机器数配置???有点忘了当时问的是什么了,没太明白13.redis数据类型,zset底层结构,zset能存多少数据14.float、double浮点计算为什么不准确?应该用Java的什么类15.介绍一下线程池的原理,项目中是怎么用的?参数怎么设置?16.继续拷打项目17.算法:最长上升子序列 (不知道为什么当时系统跑个测试样例都超时,事后去oj平台测试AC了)18.反问优选事业部-研发部-一面1.自我介绍2.介绍一下单点登录3.WebSocket是怎么建立的?5.介绍一下生产者消费者模式6.索引创建的原则?索引什么时候失效?7.介绍一下雪花算法,雪花算法有什么缺点?还了解哪些分布式ID生成的算法?8.介绍一下限流逻辑,如果redis挂了怎么办?有考虑过熔断降级吗?9.介绍一下你的视频上传逻辑10.RocketMQ如何保证数据不丢失?11.介绍一下你的点赞逻辑12.你是如何使用RocketMQ去进行削峰的?13.Java是如何解决并发安全问题的?14.介绍一下悲观锁和乐观锁的区别,以及在Java中的应用15.介绍一下Bean的生命周期16.介绍一下策略模式17.bfs变种,实现一个蛇形遍历,第一层从左到右输出,第二层从右到左输出,第三层第四层等以此类推。18.平常怎么学习一个新技术的?19.生活中有没有什么常用的优势的东西然后怎么固化它什么之类的,这个太抽象了没怎么听懂20.反问:部门是做什么的?实习生来了会做什么?
点赞 32
评论 2
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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