首页 / 暑期实习
#

暑期实习

#
4913490次浏览 72950人互动
此刻你想和大家分享什么
热门 最新
2024-03-21 10:58
企业号
点赞 评论 收藏
分享
分库分表常见问题参考答案(收录25年至今的牛客面经)
分库分表的常用中间件有哪些?有哪些问题中间件无法提供帮助、只能改写业务代码的场景?使用了什么中间件?分库分表的实现场景和方式有哪些?分表之后,要查询两个表的数据要怎么查?分库分表的优缺点是什么?分库分表业界有哪些替代方案?(提示:分布式文件系统,因为分库分表会出现降低QPS,比如range查询失效)为什么做了分库分表后分页比较困难了?如果10亿数据要分表,要怎么分?业务怎么切?分库分表怎么保证数据一致性?选的什么分片键?什么分片算法?分库分表后的分布式ID怎么做?(2025年目前为止的牛客面经关于分库分表的问题收集)总结:分布式事务一致性问题跨节点关联查询JOIN问题(解决方案:1.全局表 2.冗余字段 3.建立1:1的ER实体关系分片)非分片键的查询问题(1.创建映射表 2.  前缀分片法  3.使用ES搜索引擎(最后才说要抬高立意)全局分布式ID问题(1.UUID 2.雪花算法 3.mysql/Redis 4.美团Leaf(1.Leaf-segment 2.Leaf-snowflake)跨库跨节点分页查询问题(不会)与朋友合作的开源Go KV项目路过可以的话帮我们点个star✨🌟https://github.com/FinnTew/FincasKV参考面试回答:(吟唱)<strong>面试官:分库分表后、如何解决跨节点JOIN查询问题</strong><span> <code><参考回答:></code></span>  分库分表后、跨节点 JOIN 查询会带来性能问题。 为了解决这个问题主要有以下几种方案:  1. 全局表: 如果是一些数据量小、变动不频繁的基础数据(比如权限表、配置表、商品分类表)可以将它们复制到每个数据库节点。 这样查询时可以直接在本地 JOIN、避免跨库。 但需要保证全局表的数据同步。  2. 冗余字段: 如果经常需要 JOIN 某些字段、可以将这些字段冗余存储到需要查询的表中。 比如在订单表中冗余存储用户的姓名和地址。 这样查询订单信息时、就不用 JOIN 用户表了。 但需要保证冗余字段的数据一致性。  3. ER 分片: 如果表之间存在很强的关联关系、比如订单表和订单详情表、可以按照相同的规则进行分片、保证它们在同一个数据库节点上。 这样就可以避免跨库 JOIN。(ER: 例如将订单表 和订单详情表按照 订单ID进行分片)使用一致性哈希算法、将 订单ID映射到不同的数据库节点上。关键: 保证具有相同 订单ID 的订单表记录和订单详情表记录、始终被分配到同一个数据库节点上。)<strong>面试官:非分片键的字段如何查询问题</strong><span> <code><参考回答:></code></span>问题背景:我们选择分片键的时候都是选用查询场景最多的字段来做分片键、但是可能需要查询非分片键下的所有所有数据。例如电商用(订单ID) 做分片但是我们可能会查询订单类型、这些数据可能被分到了不同的库、我们需要聚合所有库的查询、然后返回给前端。导致效率低下回答参考方案:<strong>1.关系映射表:映射关系表就是存储待查询字段和分片键映射关系的一张表、当要使用非分片键查询的时候、先到映射关系表中查询字段所对应的所有分片键、再根据分片键查询所有信息。</strong>(例如创建一个额外的映射表Map、包含 订单ID 和 订单类型 的对应关系。当插入新订单时、同时更新这个映射表。查询时先查映射表获取所有的 订单ID、再根据 订单ID列表查询分片表。总结一下就是用映射去查询我们就可以得到了 缺点是要维护新的Map 适用于对实时性要求不高的情况)<strong>2.  前缀分片法:利用(订单ID)的某些特征来决定数据存储在哪个分片上,并将这个嵌入到主键中。 这样既可以通过主键进行分片、又可以通过UID进行分片。</strong>(例如在生成 订单时,嵌入 用户ID 的某些特征 例如 用户ID的最后一位。然后使用包含这个 订单ID进行分片。这样既可以通过 订单分片,也可以通过 用户ID的特征进行路由。优点不需要额外的存储空间 缺点是可能会产生如果 用户ID分布不均匀、可能会导致数据倾斜)<strong>3.ES: 将所有订单数据同步到ES中、利用 ES 的全文检索和聚合分析能力、进行多条件查询</strong><strong>面试官:分库分表后的分布式ID怎么做?</strong><span> <code><参考回答:></code></span>问题背景:分库分表后需要一个唯一ID来标识一条数据或消息。回答参考方案:说一下各大方案及优缺点就行。1. UUID(优点本地生成、缺点是16字节128位存储成本高以及会产生页分裂问题2.雪花算法(优点生成性能高、可以根据业务特征分配Bit位、缺点是依赖强时间回钟)3.MySQL自增主键和Redis的Incr命令(不做探讨)3. 分布式ID生成服务、如美团的leaf算法(Leaf-segment和Leaf-snowflake)大家这里可以去看美团技术文章 这里引导一下思路就好<strong>面试官:如果要你选择一个分布式ID生成方案你会选什么</strong><span> <code><参考回答:></code></span>1.如果 对 ID 的有序性有要求、且需要高性能的 ID 生成服务、我会优先选择雪花或者 Leaf-snowflake 。 雪花的优点是生成速度快、ID 趋势递增、有利于数据库索引的性能优化。Leaf-snowflake 在雪花的基础上、对时钟回拨问题进行了优化2.如果 对 ID 的有序性没有要求、且可以容忍一定的存储空间浪费、我会选择 UUID。 优点是本地生成、不需要依赖外部服务、生成速度快。3.如果 业务规模较大、对 ID 的全局唯一性、高性能和可扩展性有较高要求、我会选择构建一个专门的分布式 ID 生成服、例如使用 Leaf-segment 算法。 的优点是统一管理、方便维护和扩展、可以根据业务需求定制 ID 生成规则。后面再更新一下CSDN和一个语雀链接大家copy内容背诵就好了在我看来这个就是点到为止说出自己能知道多少就说多少 不要一点不知道 说多少都是缘分而且我觉得面试官自己也没做过分库分表具体的技术深度大家看看别的
huangyong:分库分表总结得很全面
点赞 评论 收藏
分享
03-21 09:59
已编辑
深圳大学 Java
3.17腾讯广告后台开发一面凉经
1.自我介绍2.Java是自学的吗3.开发过程中遇到过什么困难4.java字符串类型,并发场景下怎么使用,怎么保证线程安全的5.说一下synchronized,volatile+CAS的实现原理6.synchronized是公平锁还是非公平锁7.什么是公平锁什么是非公平锁8.公平锁怎么实现9.怎么实现可重入锁10.string类型继承自哪个类11.object类的方法你用过哪些12.锁升级过程13.你在项目里用过什么集合14.ArrayList实现原理15.hashmap的实现原理16.ArrayList,linkedlist的区别17.hashmap为什么单个链表达到8个会转为红黑树,你确定是8个吗18.hashmap的扩容策略19.hashmap线程安全问题,并发场景下怎么用20.concurrenthashmap实现原理21.arraylist和hashmap是有序的吗22.hashmap在扩容的过程中插入新数据会发什么什么事情23.线程池的核心参数24.不丢弃任务的拒绝策略叫什么名字(?25.springboot接收到一个请求后都做了什么26.现在需要对一个数据表中的一个敏感字段加密,在不动业务代码的情况下怎么实现(我答的AOP)27.有没有更优雅的方式(数据库写触发器?)28.用aop和用数据库实现的优缺点分别是什么28.用mybatis可不可以实现这个功能29.你在项目中用redis做什么(缓存30.用了什么数据类型(string31.为什么不用hash,什么场景下用hash32.其他基本数据类型的应用场景33.redis的默认端口号是多少(?算法题:最长不重复子串,因为是hot100原题,给了15分钟,5分钟就做出来了,然后估计面试官想卡到一小时,就又加了一道题...多线程交替打印字符(没做出来,notify没反应>_<反问:具体业务本来想问对我的建议,脑抽说成了面试的评价,然后他说面评不能告诉你,真想给自己一巴掌😫#面经# #腾讯# #暑期实习# #面试# #后台开发#
土豆去皮:八股盛宴
点赞 评论 收藏
分享
pcg qq后台一二面已凉
PCG QQ后台开发暑期实习1.5h1.自我介绍2.介绍项目3.页表的数据结构? 我介绍了页表的基本功能和访问过程4.介绍下实现的协程调度策略,和原有的比较? 介绍了协程的实现和xv的上下文切换的过程5.介绍下xv6的进程调度策略6.介绍下调度算法? 先来先服务  最短任务优先 多级反馈队列 时间片轮询7.多路IO复用的好处? 对比了多进程和多线程 还提了线程池8.开始做题 30~40min 8.1 215 数组中的第K大元素 要求不用库函数手写堆排序8.2 32 有长有效括号 没写出来说了下思路9.MySQL的索引在项目中? 结合注册功能提了建立了联合索引10.介绍下索引的存储结构? InnoDB的索引文件和数据文件一起存储11.介绍下索引叶子节点存了什么? 主键索引树存页记录,二级存主键ID12.介绍下回表?13.离线消息存储数据量过大怎么办? 考虑分库分表14.该使用业务的什么字段进行分库分表? 不会15.介绍下客户端之间的通信机制? 通过服务器转发16.亿万级别客户端的转发如何保证消息可靠? 考虑了TCP的设计 序列号 确认号17.TCP为什么可靠? 连接管理 序列号 确认号 超时重传 拥塞控制和流量控制18.介绍下 超时重传 拥塞控制和流量控制算法详细?19.上述算法中的设计那些可以用到 .亿万级别客户端的转发可靠的问题? 结合TCP的特性进行介绍20.MySQL慢查询如何查找和优化? 慢查询日志+explain21.亿万客户端访问数据库如何保证数据库性能? 考虑主从复制22.介绍下主从复制的流程? 三个线程+binlog23.介绍下binlog不同格式的使用场景? row statement 两者混合24.如何保证数据通信的安全? 介绍了RSA/AES 哈希 入口校验25.在不同的token和session下如何保证安全? 没听过26.Redis缓存一致性问题为什么有? 对数据库和缓存的操作不是原子操作27.举例说明那些场景可能出现缓存一致性问题? 介绍了 并发场景下和数据库缓存操作失败的情况28.介绍下B+树的时间和空间复杂度?29.B+树如何实现范围查找的? 双向链表底层——————PCG QQ后台开发暑期实习二面1h(45min写题讲题+20min问项目)合并区间(不让使用sort):实现了数组快排,讲代码被三整数求最大和:不会说了思路1.介绍发送方和接收方的数据收发流程?服务器作为中转2.如何转发给接收方?用户ID和数据库用户ID的map3.如何感知好友在线?map和心跳机制探测4.用户不在线,该如何做? 离线消息存储5.如何进行离线消息的存储? 介绍表结构,优化群聊存储6.好多消息接收方如何保证有序接收? 考虑应用层序列号和确认号7.群聊不同用户发送消息该如何进行序列号的设定?到达中转服务器的时间来排序8.序列号无法保证消息到达,该如何保证消息到达? 定时ACK确认+重传 考虑消息重复9.接收方可以感知到消息没收到该如何实现? 服务器推送消息数,客户端比较消息数和实际收到的数目10.客户端如何感知消息丢失? 版本号,客户端维护本地版本号,如果不连续则认为丢失消息,超时请求最大连续的版本号+111.消息丢失客户端拉取消息,如何做? 超时后主动推送最新版本号,服务器比较将最新的版本号12.消息序列号如何维护?13.消息序号如何保证唯一且连续递增? 数据库维护+算法(雪花算法)+Redis生成14.群聊多条消息同时到达不同服务器,如何保证消息序号不同? 分布式锁+ID生成服务或者使用incr原子累加15.如何实现分布式锁? Redis set key local_seq nx  #腾讯#  #暑期实习#
猫头鹰1984:不是,怎么这么难啊
点赞 评论 收藏
分享
03-13 19:22
已编辑
华中科技大学 Java
26届暑期qq后台开发 二面凉经
bg双九无实习玩具项目 感觉卷不进去互联网了##暑期实习##牛客创作赏金赛# #腾讯#  #后端开发# -------------------------------------------------------------------- 3.05 一面 (20min极速版)1. GRPC项目拷打,服务注册服务发现流程2. REDIS底层熟悉么 就是数据对象的数据结构 3. 项目提到本地缓存+REDIS缓存联合使用,怎么用的4. COOKIE/jwt区别5. Go GC机制6. 访问一个URL跳转涉及协议7. 反转链表---------------------------------------------------------------------3.11 二面 (1h20min)1. 吃饭了吗?(想过无数种开头,没想到这一种,这是我第一个没答上来的问题)2. 知道我们项目组干啥的吗 (一面面试官有介绍 QQ群)3. 你是哪里人?(自我介绍完第一句问这个,好的我确实忘记介绍这个了)4. 想去哪里发展?(家常开唠,想去南方,我差点就直说想去深圳了。对啊我为啥不说呢)5. 有啥爱好?(真没啥爱好 我总不能说我爱写力扣吧 借师弟打球爱好一用)6. 参与过开源项目吗?(稍微参与过 打过杂 阿里龙蜥交过PR 不过都是写的SHELL )7. 实习过吗?(显然对我的开源经历失去兴趣 当然他算是问到点子上了 我也没实习过)8. 最近比较火的AI了解吗(DEEPSEEK起手 谈生活和科研应用)9. 讲讲你科研用途(居然对这个感兴趣吗 把我襁褓中的计划和盘托出)10. 落地打算?(开源到社区 福泽万民哈哈哈)11. 怎么评价工具效果?(我们HCI领域以人为本,模型效果和人做对比再计算指标)12. 现在效果怎么样?(还在开发中 我也想知道 说了目前缺陷和改善想法)13. 哪来的想法? (大方向老师给 具体办法自己想 看了很多前沿论文 公式回答)14. 项目拿来练手的吧?(好直白 是的 但是我还是挣扎了一下 说用到了科研试验上)15. 了解过容器XXXX的吗?或者服务网格,类似你的这个场景(啊?我不到啊)16. 你这个方案是做到了隔离但是网络通信的安全有没有考虑过(噩梦的开始 转向网络了 我说没有 确实欠考虑了 我们也不是针对通信场景)17. 明白,其实主要就是想练手对吧?(好的你赢了 他揭破了我的伪装 我说是的 因为没有太高的工业界落地要求)18. TCP UDP能监听相同端口吗(可以 协议栈会做区分 交给对应的应用 数据流是独立的)19. 我服务挂了,重启显示占用,啥情况,排查一下?(没彻底挂 或者其他进程抢占了)20. 怎么排查? (说了一些命令 PS NETSTAT kiLL这些)21. 怎么优化启动避免这个问题(考虑崩溃时完全释放 好的我知道这很科幻  或者启动时灵活选择空闲端口)22. 假如我这个端口写死了呢 从套接字思考(不留活路啊 我说关键是BIND套接字加入一些参数处理 具体我没接触过)23. 回到第一个场景,客户端TCP连接过多,TIMEWAIT过多,端口耗尽(没太懂意思,说了下TCP的端口复用 这给我干哪来了)(回头看了下小林发现这几个就是某一章全部问题 哎没看到)24. 你在学习GOLANG对吧(是啊 好好好 来 语言八股拷打我!)25. 切片和数组区别(封装了一下 支持动态扩展BALABALa~)26. 使用切片时要注意的点(我说了函数传参 APPEND扩容)27. 就想到两种对吧?(腿软了 想跪了)28. 你觉得该怎么正确使用这俩?(要改就共用,不传参用;不改就CLONE一个,别共用)29. 切片可以作为MAP的KEY吗(不行吧 除非实现了比较)30. 你觉得作为KEY的首要条件?(我说MAP泛型的T是COMPARE应该要实现可比较比如LESS函数才可以)31. gmp模型?(听成CSP了,开始讲CHANNEL通信)32. 不是,我说GMP(好的对不起,没事这个我也熟,八股吟唱,三个分别是啥,怎么协调使用,窃取解绑两大机制 协作抢占两大改善)33. 为什么GO要GMP(面向并发的语言 这个调度是关键 提升上CPU运行效率吧)34. 你知不知道没有GMP之前的GO是啥样(哈哈 从我认识GO起 GMP就在了 这么说吧 GMP小时候抱过我 你让我想公元前的事情吗)(后来了解到远古没有p 其实也有点印象可惜拿不准)35. 你提到CSP,讲讲你的理解(通过通信共享内存 而不是XXX 专有内存吧类似 只有通信才能用)36. CHANNEL怎么做到并发安全(这个忘了真不应该 讲了讲CHANEL结构体 唤醒阻塞之类的)37. 讲讲内存逃逸(讲了进程的 比如文件没关 通道一直监听 说变量这方面少点 GO会智能编译)38. 你刚刚提到了新生代 讲讲(讲了讲 GO的垃圾回收 无分代 不整理 并发 三色标记吟唱)39. MYSQL三大日志(BINLOG REDOLOG UNDOLOG 分别介绍然后两两说明关系区别 说太多了感觉有点乱)40. REDIS MYSQL一致性 举出具体场景例子(场景就一读一写两进程 说了先写数据库 先删再写数据库 延迟双删)41. 根治了吗?(没有 不清楚这方面 但联系数据库rR没有根治幻读这种不一致性说了下)42. 设计一下QQ群的禁言功能(噩梦开始 我说定时任务 首先从CONTEXT TIME考虑)43. 你不用去实现这个接口(在扭正我的方向了 但没办法 我习惯从根里说 我继续说定时任务)44. 他说好的 你说的这些都是进程甚至携程级别的 这个功能进程挂了是不是就解不开了 怎么办(确实 他想让我换方案 但我还在嘴硬 我说会优先考虑错误处理 然后想其他方案 从发送者方面限制 类似权限的机制)45. 你这是不是把问题扩大化了(我说确实扩大了)46. 那怎么办(我说了从群这个方面限制 比如我们用消息队列实现的 我们去限制这个消息队列)47. 回到场景 说一下用啥手段保证定时开启禁言关闭禁言(我说REDIS黑名单 关联用户? )48. REDIS定时机制怎么理解(我没具体底层细节 这小林也没有啊 说了下到期消亡 感觉没回答)49. 你是从读的角度是吧 每次发言都检查一下吗 你这个方案(我说确实 也可以从写的角度考虑 是可以写但不能发送出来吗 好想会读心术)50. 栈是什么结构(先进后出)51. 假设让你设计一个栈 除了基本功能外 还要维护最小值 怎么设计(HOT100好像是 结构体加一个元素记录一下)52. 了解DNS劫持?(怎么不问我TCP HTTP 问起这个来了 我不到啊 说了说DNS污染)53. 讲讲DNS解析过程(公式八股公式回答)54. 解析慢怎么处理(考虑污染劫持,之后缓存更新、路由路径溯源细查)55. 服务发现注册负载均衡,讲讲(注册中心过程讲了下 说一下常见负载均衡机制)56. DNS其实也可以用来做负载均衡知道吗(哦牛皮 我说因为一个域名可以对应多个IP 可以在DNS那里设置策略控制这个解析 定位到目标服务器)57. 和原来的过程有区别吗(想了一下可能会有回表类似的损耗?我瞎说的 反正答得不对)58. 来做题(摩尔投票 边写边讲 缓解用侧刻打字慢的尴尬 两分钟结束)59. 反问环节(问了下内部用啥具体技术 他巨耐心讲了五六分钟 让我不用太纠结语言这方面的 多培养思维)60. 行嘞谢谢您愿意跟我聊这么多,有缘再见。
野猪不是猪🐗:其实面试官出48题是在提醒你毕竟前面给出的方案不满足高可用,中途挂了就没法解除禁言了。所以面试官在引导你说redis延迟队列,依靠redis的持久化来保证不丢失
点赞 评论 收藏
分享
02-26 12:25
已编辑
厦门大学 Java
腾讯PCG QQ后台开发一面
2025-2-19 一编——————————————暑期第一面,还是鹅orz,开始面试前面试官说晚五分钟再开始TL:之前就在池子里,每天刷新简历后2月14号晚上打电话约2月19号面试全程40mins左右1. 冒泡排序和选择排序的时间复杂度?2. 我看你技术栈是 java ,讲讲 java 里用到哪些数据结构   - ArrayList 线性表,扩容机制;LinkedList 双向循环链表     - 两者的区别?各自的优势?   - HashMap 数组 + 链表(JDK1.7),HashMap 数组 + 链表 + 红黑树(JDK1.8)     - 底层是数组,数组索引怎么确认?是通过哈希计算得到的吗?     - 常见的哈希算法了解哪些?解决哈希冲突的方法呢?     - 红黑树了解多少?3. 如何寻找第 k 大的数字?(堆排序)   - 用大根堆还是小根堆?   - 堆的构建过程?4. TCP 的 time_wait 状态,在主动断开连接的那一方还是被动的那一方?time_wait 状态的作用?5. 你提到 TCP 超时重传,这个机制的底层实现原理有了解吗?(这个没太搞懂想问什么,说不太了解)6. 操作系统虚拟内存和物理内存的区别?7. 内存置换算法了解哪些?8. 拷打项目(最大的困难?如何解决?项目的不足?)9. 除了写代码,其他兴趣爱好?10. 反问:    - 面试表现:还行,沟通还比较流畅    - 部门业务:手机端 QQ 基础后台,主要做大数据流量控制之类的无手撕,全程 40mins2025-2-25 二编——————————————2.24中午打电话约25号下午补手撕,全程一个半小时左右,具体题目请看我的新动态2025-2-26 三编——————————————一面过了#腾讯# #暑期实习# #面经# #后端#
腾讯一面1591人在聊 查看28道真题和解析
点赞 评论 收藏
分享
昨天 15:41
已编辑
门头沟学院 数字IC前端设计
26届达摩院芯片设计岗实习面经
补个bg:c9本硕 有竞赛无论文 0实习 两个项目排序等结果中...写个面经攒人品——————————————————3.10 一面 技术面 base地团队负责人(人很好,回应很积极)1.自我介绍2.深挖项目细节...(问的很深入,聊了很多)3.异步FIFO怎么设计?4.低功耗设计相关5.电路时序约束怎么分析?写没写过sdc,具体时序怎么约?6.有没有做过cdc检查?7.复位信号怎么处理?异步复位同步释放能解决毛刺吗?8.后续想要做哪方面的工作?9.实习时间10.反问(简单问了一下后续流程,以及一些改进方向)11.手撕(比较简单,但是我答的不好)面试体验⭐⭐⭐⭐实验室项目细节没有了解那么深,手撕环节有点拉————————————————一周后接到二面通知,感恩!!3.19 二面 主管面(很健谈,感觉知识面很广)二面的形式主要是聊天,时长大约半小时,没有手撕。首先主管自我介绍(好评!),然后让我做自我介绍。项目拷打没有一面那么细节,更关注全局。简单记录一下:1.自我介绍(中途会打断对项目随机提问)2.意向工作地点3.有无转正打算4.后续找工作的安排5.未来的职业规划6.还投了哪些公司7.反问:部门业务和实习工作面试体验⭐⭐⭐⭐⭐对面是真大佬!但是没有狠狠拷打项目感觉可能会寄(m倾向初现),球球给我过了吧让我做什么都愿意😭😭——————————————————3.20收到三面邀请,仍然是钉钉会议3.24 HR面是一位很亲切的女士,一上来就介绍了达摩院和平头哥的关系(面试前还在搜hhh)时长半小时,问了一些常规问题,明确说清明前不会出结果,简单记录✍️1.自我介绍2.为什么读这个专业3.有没有读博打算4.项目遇到的困难?怎么解决的5.实习时间和实习地点6.反问:薪资待遇和实习工作感觉自己的排序会比较靠后,但还是许愿OC哇!😭#暑期实习# #暑期实习# #面经#
查看35道真题和解析
点赞 评论 收藏
分享
双非本暑期战况
Yki_:你倒是进一个面啊
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客企业服务