刚出炉的~字节后端面经

字节面试体验真不错 ,虽然答的不好,痛苦并快乐。
一面:
自我介绍
TCP/UDP
进程通信方式
进程/线程区别
三次握手,四次挥手
死锁的必要条件
手撕代码:输出字符串,然后建立链表,对链表进行排序。我用的归并排序,逻辑上对了,但是牛客上没运行出来,面试官最后放过了。
二面:
两道题,
1.给了个场景。当时我立即想到这是 有向图的拓扑排序,只不过我忘记了图的建立,只把拓扑排序写出来了,最后时间都是面试官再问我咋存结点。
2. 单生产者和单消费者      多生产者和多消费者  手撕
然后问论文和我自己优势,这就一顿乱吹了。
然后等HR通知。
感觉要凉了,两道题没有一道做完整的。等着感谢信了。
#字节跳动后端实习日常##字节跳动##实习##软件研发工程师##面经#
全部评论
日常实习没有笔试嘛
点赞 回复 分享
发布于 2021-10-26 15:32
楼主请问你一面结束后多久收到可以二面的通知呢
点赞 回复 分享
发布于 2020-04-23 13:23
楼主面的是哪个部门啊
点赞 回复 分享
发布于 2020-04-22 20:03
请问一下楼主,从笔试到一面要等多久呀
点赞 回复 分享
发布于 2020-04-22 19:48
一二面隔了多久呀
点赞 回复 分享
发布于 2020-04-21 17:26

相关推荐

3.6 一面自我介绍一、 项目相关1. 大概介绍一下你整个系统架构的链路,或者说你的系统整体链路是长什么样子?2. 你的库存信息怎么保留?存不存在超卖的现象?3. 你 Redis 里的信息是怎么跟 MySQL 做同步的?4. 初始结果不一致怎么办?(存不存在 Redis 初始结果跟 MySQL 不一致的问题)5. 你觉得这条链路在真实的生产环境下能用吗?还有哪些不完备的点?6. 如果消费队列扣减失败或订单写入 MySQL 失败,导致数据不一致,你有什么自动化机制(校验+补偿)来解决?7. 知识库构建的文档和语义信息数据来源是哪里?是自己整理的吗?8. 通过什么去做分词和检索?9. 向量数据库跟正常数据库的区别是什么?它怎么加速相似向量检索?10. 是否了解 HNSW 算法的具体实现?二、 八股1. 缓存击穿、穿透、雪崩这三个概念上的区别是什么?3. 使用 SETNX 指令跟执行 Lua 脚本的差异是什么?4. 排他锁(X锁)跟共享锁(S锁)的区别是什么?5. Java 线程模型如何保证线程间的公平性6. CAS是做什么的?它有什么问题?7. 数据库有哪些隔离级别?8. 如何解决“幻读”问题?InnoDB 引擎下是怎么处理的?9. 聚簇索引和非聚簇索引的区别是什么?10. 什么情况下不需要“回表”查询11. TCP 是通过哪些机制保证可靠传输的?12. 如何解决网络拥塞问题?(拥塞控制、慢启动、快重传等机制)13. 进程和线程在内存结构上有哪些区别和关系?14. 同步 I/O 和异步 I/O 的概念怎么理解?15. 异步 I/O 是在用户态执行还是系统态(内核)执行?谁来负责通知结果?16. Linux 的软链接和硬链接有什么区别?删除原始文件后哪种还能正常访问?17. Java 的 HashMap 是怎么解决冲突的18. 实现“数组+链表”时,为什么不能直接用 ArrayList 或 LinkedList 替换掉那个数组?手撕之字形(Zigzag)打印二叉树。3.10 二面一、项目1. 请介绍你在项目过程中印象最深、最具技术挑战或复杂度的点,以及你是如何解决的。2. 在秒杀场景下,如何保证“库存扣减”与“一人一单”逻辑的原子性?3. 为什么 Lua 脚本能做到分布式一致性?它是如何把多条命令聚合为原子操作的?4. Lua 脚本是如何编排这些多条 Redis 命令的?它是感知多个用户的命令还是单用户的顺序命令?5. 限流算法6. 除了限流,你是否了解“熔断”机制?它与限流的区别是什么?在下游服务扛不住时该如何处理?7. 你构建的知识库文档量级是多少?8. 如何从原始文档构建出向量检索索引库?索引库的底层数据结构是什么样的?9. 你了解 HNSW 和 IVF这两种索引算法的区别吗?它们分别适用于什么场景?手撕1. 无序数组频率统计 时间复杂度 O(n),空间复杂度 O(1)(允许修改原数组)2. 旋转有序数组找最小值3. 有 10 个 100G 的日志文件,存储用户的搜索 Query(存在重复),找出访问频次最高的 100 个 Query。单机内存仅 10G,可以使用多台机器。 口述思路3.11 hr面半小时后oc,晚上下正式offer明天就要入职了,希望一切顺利
点赞 评论 收藏
分享
评论
3
32
分享

创作者周榜

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