字节跳动存储引擎研发工程师/架构师
社招全职A250069地点:北京状态:招聘
任职要求
1、具备问题分析,概念抽象和设计,以及扎实的工程编程能力,精通 C/C++,熟悉 Python / Shell 等中的任一语言; 2、熟练掌握系统编程,包括系统调用和库函数,网络/多线程编程模型,Debug 以及 IO 性能调优工具和技能等; 3、对存储系统的架构和原理有比较深入的了解,例如 LSM Tree,文件系统 (ext4/bluefs) 等; 4、优秀的发现和解决问题能力,良好的沟通能力,具备团队合作精神,对新技术有学习的渴望。 加分项: 1、有大规模分布式存储/缓存/数据库系统/单机KV存储引擎/单机文件系统相关的任一开发设计经验者优先; 2、熟悉常见开源KV数据库项目 RocksDB / LevelDB / Redis / Memcached,有 RocksDB 相关开发经验者优先; 3、熟悉计算机体系结构,理解硬件的工作原理,有 NVM(AEP) / NVMe SSD / Optane / FPGA 硬件加速等新硬件开发和调试经验者优先; 4、对存算分离架构有相关开发经验者优先。
工作职责
1、参与大规模分布式存储&数据库系统后端高性能KV存储引擎和文件系统的设计与实现; 2、探索新一代KV存储引擎架构的设计及演进,以保证低延迟和高吞吐; 3、深入理解业务场景的存储需求,与业务合作寻找最合适的存储解决方案。
包括英文材料
C+
https://www.freecodecamp.org/chinese/news/the-c-beginners-handbook/
本手册遵循二八定律。你将在 20% 的时间内学习 80% 的 C 编程语言。
https://www.youtube.com/watch?v=87SH2Cn0s9A
https://www.youtube.com/watch?v=KJgsSFOSQv0
This course will give you a full introduction into all of the core concepts in the C programming language.
https://www.youtube.com/watch?v=PaPN51Mm5qQ
In this complete C programming course, Dr. Charles Severance (aka Dr. Chuck) will help you understand computer architecture and low-level programming with the help of the classic C Programming language book written by Brian Kernighan and Dennis Ritchie.
C+++
https://www.learncpp.com/
LearnCpp.com is a free website devoted to teaching you how to program in modern C++.
https://www.youtube.com/watch?v=ZzaPdXTrSb8
Python+
https://liaoxuefeng.com/books/python/introduction/index.html
中文,免费,零起点,完整示例,基于最新的Python 3版本。
https://www.learnpython.org/
a free interactive Python tutorial for people who want to learn Python, fast.
https://www.youtube.com/watch?v=K5KVEU3aaeQ
Master Python from scratch 🚀 No fluff—just clear, practical coding skills to kickstart your journey!
https://www.youtube.com/watch?v=rfscVS0vtbw
This course will give you a full introduction into all of the core concepts in python.
Bash+
[英文] The Bash Guide
https://guide.bash.academy/
A quality-driven guide through the shell's many features.
https://www.youtube.com/watch?v=tK9Oc6AEnR4
Understanding how to use bash scripting will enhance your productivity by automating tasks, streamlining processes, and making your workflow more efficient.
多线程+
https://liaoxuefeng.com/books/java/threading/basic/index.html
和单线程相比,多线程编程的特点在于:多线程经常需要读写共享数据,并且需要同步。
https://www.youtube.com/watch?v=_uQgGS_VIXM&list=PLsc-VaxfZl4do3Etp_xQ0aQBoC-x5BIgJ
https://www.youtube.com/watch?v=IEEhzQoKtQU
https://www.youtube.com/watch?v=mTGdtC9f4EU&list=PLL8woMHwr36EDxjUoCzboZjedsnhLP1j4
https://www.youtube.com/watch?v=TPVH_coGAQs&list=PLk6CEY9XxSIAeK-EAh3hB4fgNvYkYmghp
https://www.youtube.com/watch?v=xPqnoB2hjjA
This video is an introduction to multithreading in modern C++.
https://www.youtube.com/watch?v=YKBwKy5PrpQ
Rust threading is easy to implement and improves the efficiency of your applications on multi-core systems!
性能调优+
https://goperf.dev/
The Go App Optimization Guide is a series of in-depth, technical articles for developers who want to get more performance out of their Go code without relying on guesswork or cargo cult patterns.
https://web.dev/learn/performance
This course is designed for those new to web performance, a vital aspect of the user experience.
https://www.ibm.com/think/insights/application-performance-optimization
Application performance is not just a simple concern for most organizations; it’s a critical factor in their business’s success.
https://www.oreilly.com/library/view/optimizing-java/9781492039259/
Performance tuning is an experimental science, but that doesn’t mean engineers should resort to guesswork and folklore to get the job done.
缓存+
https://hackernoon.com/the-system-design-cheat-sheet-cache
The cache is a layer that stores a subset of data, typically the most frequently accessed or essential information, in a location quicker to access than its primary storage location.
https://www.youtube.com/watch?v=bP4BeUjNkXc
Caching strategies, Distributed Caching, Eviction Policies, Write-Through Cache and Least Recently Used (LRU) cache are all important terms when it comes to designing an efficient system with a caching layer.
https://www.youtube.com/watch?v=dGAgxozNWFE
RocksDB+
https://rocksdb.org/docs/getting-started.html
The RocksDB library provides a persistent key value store.
Redis+
[英文] Developer Hub
https://redis.io/dev/
Get all the tutorials, learning paths, and more you need to start building—fast.
https://www.runoob.com/redis/redis-tutorial.html
REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。
https://www.youtube.com/watch?v=jgpVdJB2sKQ
In this video I will be covering Redis in depth from how to install it, what commands you can use, all the way to how to use it in a real world project.
Memcached+
https://www.youtube.com/watch?v=VhM2ByShhzE
Memcached is a high-performance, distributed memory caching system designed to speed up dynamic web applications by alleviating database load.
FPGA+
https://nandland.com/fpga-101/
These are the fundamental concepts that are important to understand when designing FPGAs.
相关职位
社招3年以上核心本地商业-业
参与美团核心本地商业的统一搜索引擎建设,具体包含以下方面: 1. 支撑搜推核心业务的统一检索引擎建设,包含核心存储引擎建设(正倒排索引、向量化检索、KV存储等)、检索引 擎建设(SQL化的查询引擎)、索引构建系统、在线召回系统。 2. 负责流批一体的数据处理系统建设,支撑美团全业务线供给、数百数据源、百亿数据的接入处理、实时索引构建和更新。 3. 从离线数据处理、索引构建、在线召回的一站式平台研发,支持业务的一站式迭代、支持大规模存储服务的自动化运维、auto-resharding、弹性伸缩、离在线混布。
更新于 2025-06-22
社招3年以上技术类-开发
1. 主导OceanBase分布式执行引擎架构设计与性能优化,涵盖分布式执行框架、并行计算模型等核心模块开发,确保在高并发场景下的性能与稳定性; 2. 深入分析分布式数据库执行层性能瓶颈,构建多维度性能调优方法论,主导SQL执行路径优化、执行引擎分布式读写优化、系统级性能故障根因诊断; 3. 基于分布式数据库架构特性,设计并实现执行引擎与存储引擎的协同优化策略,提升大规模数据场景下的查询吞吐与延迟指标;
更新于 2025-08-01