字节跳动性能优化工程师(通用计算方向)-基础库与工具链
社招全职A47752地点:上海状态:招聘
任职要求
1、了解计算机体系结构、操作系统原理、编译原理、计算机网络中的基本概念和原理,熟悉数据结构与算法,熟练使用任何一门编程语言; 2、熟悉ARM、x86等某一架构的特性,包括指令微架构特性、核间互联等; 3、熟练使用Perf等性能分析工具,并了解相关性能Profile工具工作原理; 4、扎实的C++,Go或者Java基本功,具备比较好的技术迁移能力; 5、加分项:熟悉LLVM或者Java等编译器的原理,从事过相关的开发工作。
工作职责
1、发现并挖掘线上大量服务(C++/Java/Go)的性能瓶颈点,探索并落地相关优化方案,最终沉淀到基础库与工具链; 2、利用通用CPU(如ARM、X86、RISC-V等)指令集和硬件架构特点,结合经典编译/操作系统/高性能库等底层软件技术,联合业务团队,极致优化指定业务性能。
包括英文材料
数据结构+
https://www.youtube.com/watch?v=8hly31xKli0
In this course you will learn about algorithms and data structures, two of the fundamental topics in computer science.
https://www.youtube.com/watch?v=B31LgI4Y4DQ
Learn about data structures in this comprehensive course. We will be implementing these data structures in C or C++.
https://www.youtube.com/watch?v=CBYHwZcbD-s
Data Structures and Algorithms full course tutorial java
算法+
https://roadmap.sh/datastructures-and-algorithms
Step by step guide to learn Data Structures and Algorithms in 2025
https://www.hellointerview.com/learn/code
A visual guide to the most important patterns and approaches for the coding interview.
https://www.w3schools.com/dsa/
Perf+
https://perfwiki.github.io/main/
perf is powerful: it can instrument CPU performance counters, tracepoints, kprobes, and uprobes (dynamic tracing).
https://www.brendangregg.com/bpf-performance-tools-book.html
This book can help you get the most out of your systems and applications, helping you improve performance, reduce costs, and solve software issues.
[英文] perf Examples
https://www.brendangregg.com/perf.html
These are some examples of using the perf Linux profiler, which has also been called Performance Counters for Linux (PCL), Linux perf events (LPE), or perf_events.
https://www.youtube.com/watch?v=M6ldFtwWup0
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
Go+
https://www.youtube.com/watch?v=8uiZC0l4Ajw
学习Golang的完整教程!从开始到结束不到一个小时,包括如何在Go中构建API的完整演示。没有多余的内容,只有你需要知道的知识。
Java+
https://www.youtube.com/watch?v=eIrMbAQSU34
Master Java – a must-have language for software development, Android apps, and more! ☕️ This beginner-friendly course takes you from basics to real coding skills.
LLVM+
https://llvm.org/docs/GettingStarted.html
Welcome to the LLVM project!
https://llvm.org/docs/tutorial/
This is the “Kaleidoscope” Language tutorial, showing how to implement a simple language using LLVM components in C++.
https://mcyoung.xyz/2023/08/01/llvm-ir/
“LLVM” is an umbrella name for a number of software components that can be used to build compilers.
https://www.youtube.com/watch?v=Lvc8qx8ukOI
This is the first lecture from the "Programming Language with LLVM" course where we build a full programming language similar to JavaScript from scratch, using LLVM compiler infrastructure.
相关职位
社招A134416
1、发现并挖掘线上大量服务(C++/Java/Go)的性能瓶颈点,探索并落地相关优化方案,最终沉淀到基础库与工具链; 2、利用通用CPU(如ARM、X86、RIS C-V等)指令集和硬件架构特点,结合经典编译/操作系统/高性能库等底层软件技术,联合业务团队,极致优化指定业务性能。
更新于 2025-05-27
社招A143435
1、发现并挖掘线上大量服务(C++/Java/Go)的性能瓶颈点,探索并落地相关优化方案,最终沉淀到基础库与工具链; 2、利用通用CPU(如ARM、X86、RISC-V等)指令集和硬件架构特点,结合经典编译/操作系统/高性能库等底层软件技术,联合业务团队,极致优化指定业务性能。
更新于 2025-05-27
社招A157582B
1、观测和分析在离线推理和训练场景的业务特点,例如软件热点,硬件瓶颈等,提出优化方案; 2、利用通用CPU(如ARM、X86、RISC-V等)、GPU、AI加速器架构特点、结合编译/操作系统/高性能库等底层软件技术,联合业务团队,极致优化指定业务性能; 3、导入异构卡构建/编译方案,适配业务场景,并进行性能评估。
更新于 2025-05-27