【再别字节】分享往届学长我头铁社招字节跳动被毒打的全部挂经!
最近大家应该都忙着在准备暑期实习之类的吧?
我是22届校招去的腾讯,运气不太好,组的业务走向下坡,做的方向极其痛苦,面试时应许的全部没有兑现。
前前后后想着回字节,但真正遭受到了毒打,应届生身份不在宛如地狱难度。
如今面评已经花了,HR再也不肯捞起来。算是和字节跳动再无缘了吧?
各位师弟师妹请加油,好好珍惜自己的应届生身份,努力寻找适合自己的位置。
2023年6月28日 字节跳动 Data-基础架构-数据库-ByteKV 分布式 KV 系统研发工程师 一面 1小时
- 面试官没有打开摄像头,也没有让我自我介绍。
- 让我介绍了一下简历上负责的配置服务。
- 如果发布了一个新的配置到配置集群里面,某一时间段内的一些节点的配置是不一致的,怎么样设计能防止客户端收到旧的配置?
- 我提出了一些设计思路:
- 发布期间服务强制不可用,性能差,如果集群内有上万个服务节点,将很长一段时间内配置服务都不可用
- 两阶段:先把新的配置发布到所有配置节点上,等到所有节点都 Ready 之后再让节点应用新配置。发布期间客户端依然获取节点内已有的旧配置。 这个方案似乎获得了面试官的认可。
- 如果你要设计一个配置发布平台,开发者在平台上面发布配置,向客户端发布新配置,怎么保证用户获取到的配置是安全的呢?
- 基本答不出来,讲的大多数都是 Web 网络安全方面的应用
- 了解 MVCC 是吧,MVCC 是解决什么问题的呢?
- MVCC 怎么做达到 Read Committed 和 Repeatable Read 的?
- 故障恢复机制了解吗?我回答 ARIES
- 读过 ARIES 的论文吗?(没有)
- 那能讲讲 ARIES 的过程吗?
- ARIES 为什么要先 Redo 之后再 Undo 呢?
- 答得不太好,回答主要是围绕维护是数据库事务的一些性质(一致性、持久性、原子性这些)
- 简述下 HTTPS
- HTTPS 又是如何保证安全传输密钥的呢?
- 用 C/C++ 实现 strcpy 函数
- 如果 strcpy 函数内存有重叠,怎么办?
- 如果 strcpy 函数传入的字符串很长,怎么做性能优化?(不会,感觉是想借助 CPU SIMD 并发指令之类的来做)
- 反问环节。
2023年7月3日 字节跳动 Data-基础架构-数据库-ByteKV 分布式 KV 系统研发工程师 二面 1小时30分钟
- 自我介绍
- 面试官并没有怎么关注我在腾讯的工作经历,倒是问了问我以前在字节实习的经历。
- 你的配置服务为什么会对配置文件做 MD5 校验呢?
- 面试官认为这个 MD5 主要是用作内容一致性检查。
- 你在字节实习的时候主要负责哪块项目呢?
- 为什么要对这个系统做重构?收益如何?
- 之后大部份时间都在问我 Raft 协议 KV 存储的那个小项目
- 这个项目的分片怎么做的呢?
- 你的设计当中有一个“路由表”,这个路由表存在哪里呢?MySQL?(晕
- Raft 节点扩容之后,整个系统会有什么表现,针对节点扩缩容,需要做怎么样的处理呢?
- 写一个阻塞式队列 Blocking Queue。
- 反问环节。
2023年7月6日 字节跳动 Data-基础架构-数据库-ByteKV 分布式 KV 系统研发工程师 三面 53分钟
- 自我介绍
- 你能讲讲简历的其中一个项目吗?
- 你一定做过很多 K8s 相关了吧?知道 Operator 吗?(不会,露馅了)
- 谈谈你对分布式系统的理解。
- 谈谈你对 MVCC 的理解。
- 停,那你讲讲数据库的故障恢复吧?
- LSN 是什么,为什么叫 LSN 呢?
- MySQL 是如何实现数据库事务的原子性、一致性、隔离性、持久性呢?
- 知道幻读吗?怎么解决呢?
- 什么是两阶段加锁呢?
- 智力题:64匹马,8条赛道,最少需要多少场比赛才能找出最快的4匹马?
- 再给你1分钟考虑。
- 算法题:递归实现反转链表,A->B->C->D --> D->C->B->A,并说明 D->C 之后,程序又是怎么达到 C->B 的?
- 你在写递归的时候会注意什么呢?
- 当时只回答了写递归一定要注意退出条件,然而这个只是表面的。
- 编写递归的时候最关键的还是
如何把问题划分小的子问题,确定子问题就确定了递归的结束条件
- 反问环节
反思
- 第三轮面试我感觉面得很糟糕,确实没有太多这方面的开发经历,也只是积累了一些基础知识。
- 3天之后收到了拒信。
2023年10月16日 字节跳动 Data-Arch-TikTok Feeds 一面 1小时5分钟
- 自我介绍
- MySQL 知道吗?
- MySQL 有哪些索引?或者说你知道哪些索引?
- MySQL 为什么用 B+ 树索引?
- 为什么 MySQL 不使用跳跃表作为索引?
- Redis 和 MySQL 的备份和恢复
- Redis 在备份过程中有新的请求过来,这些新的请求该如何处理?
- 日志为什么要同步到 ES 里面?
- 为什么不直接把日志产生到 ES 里面存储?
- 讲一个对你来说比较有挑战性的项目,我讲了下在字节那会做的一个算法工程项目,讲了讲当时实现的安慰剂实验。
- 算法:LC 40,没有搞出最优解,时间复杂度?
O(n!)
- 反问环节:
- 分为在线和离线团队,负责业务架构,底层库,主要挑战是系统稳定性,因为tt极高的并发量需要达到毫秒级别的延迟,实现算法,不断优化并且完善框架。会用到消息队列、搜索引擎、向量索引这些
- 技术栈是 C++,需要具备分布式系统、高并发、内存管理、高可用和负载均衡知识
- 三天后 HR 通知没有通过
2023年10月26日 字节跳动 TikTok-服务架构-平台-元数据存储组 一面 1小时
- 自我介绍
- 算法:LC 146 LRU 缓存
- 介绍一下配置中心服务这个应用,设计和遇到了哪些挑战,和 TCC 有哪些区别呢?
- 说一下配置中心应用的大概架构(这里答得不太好)
- 介绍一下蓝图编辑工具那个项目
- 常用哪些中间件?(中间件使用场景真不多)
- 介绍一下还在字节的时候,负责的比较有挑战的项目
- 我介绍了一下负责的应用媒体成本预测服务 AdminPredict,讲了讲期间使用到的安慰剂实验方法。
- 对工作地点的需求。
- 为什么要跳槽?
- 反问环节,问了问平时遇到的挑战,以及如何处理数据隔离和合规问题(对边 SRE 工单)
2023年10月31日 字节跳动 TikTok-服务架构-平台-元数据存储组 二面 1小时3分
- 自我介绍
- 介绍一个做的比较有挑战的项目
- 配置中心服务主要是解决哪些需求呢?
- 配置中心服务在开发过程中有遇到哪些难点呢?
- 配置中心服务这块的任务拆分是怎么样的呢?
- 配置中心服务底层的系统架构能大概介绍一下吗?
- 为什么找工作?
- 了解新加坡的 EP 政策吗?
- 为什么有想去国外工作的想法?
- 现在的部门主要做的业务有哪些呢?
- 为了能去从事数据相关的开发,做了哪些努力呢?
- 讲讲 DDIA 中对你印象深刻的内容
- 讲讲 MVCC
- 用具体的例子讲讲脏读
- 讲讲幻读
- 做题:LC 692 前K个高频单词
- 题目,followup,如何减少时间复杂度?(换用堆排序)
- 用大顶堆还是小顶堆?小顶堆维护目前出现频率最少的单词
- 如果n很大,内存装不下怎么办?存外排序
- 如果n很大,k也很大怎么办?(不清楚了)
- 反问环节
- 部门主要负责的业务
- 推荐的参考资料和书籍
- 关于数据风险合规如何解决的事情
2023年11月6日 字节跳动 TikTok-服务架构-平台-元数据存储组 三面 1小时15分
- 面试官是前腾讯 WXG 技术架构部
QuorumKV
和PaxosStore
负责人 - 脉脉上面能直接联系他,非常优秀的一个人。
- 自我介绍
- 之前在字节跳动实习的 Review 如何?
- 对比腾讯和字节的两段经历,你最大的感受是什么?
- 请你 Summary?不会 Summary 吗?请给出你的论点论据和结论。
- 你缺少什么?
- 负载均衡是一个很成熟的话题,你怎么能只用一两句话就结论了呢?
- 你平时用什么搜索引擎?
- 你们评估负载均衡只计算请求数这个指标吗?没有别的了?
- 读过哪些 paper?
- 读过哪些源代码?
- 介绍 Google Maglev 算法。
- (面试官一脸懵)和带权轮询算法又有啥不同?
- 介绍配置中心服务。
- 配置中心是一个 AP 的系统还是 CP 的系统?
- A 怎么做的?
- 为什么缓存用 MongoDB?
- 缓存存 HDFS 里会有什么问题?
- 后面还有一些问题,但是他突然打断了,似乎是在看过往面评,然后反问。
- 面试官:你自己不会用搜索引擎啊?
2024年1月25日 字节跳动 Data-商业化技术-达人营销 一面 1小时
- 自我介绍
- 熟悉什么编程语言?
- 介绍下 C++ 的多态。
- 介绍下 C++ 的虚函数。
- C++ 和 Java 的虚函数有啥区别?(但是我不会 Java)
- MVC 架构模式了解吗?介绍一下。
- DDD 架构模式了解吗?
- 算法题:LC23 合并 K 个升序链表
- 面试官似乎不太想招人,做算法题的时候一直在问做完了没有
- 两天后挂