字节跳动高级图形开发工程师-移动OS
社招全职3年以上A55895地点:上海状态:招聘
任职要求
1、计算机科学、数学、物理或相关专业本科及以上学历; 2、3年以上图形开发经验,有完整的项目开发及上线经历; 3、精通C++编程,熟悉现代C++特性及设计模式; 4、深入理解至少一种主流图形API(Vulkan/OpenGL/Metal/DirectX); 5、扎实的图形学基础(渲染管线、着色器、GPU架构等); 6、熟悉图形调试工具(RenderDoc、Nsight等)。 加分项: 1、有自研引擎开发经验者优先; 2、具备图形渲染算法实现经验(如PBR、GI、后处理效果等); 3、熟悉Shader编程(GLSL/HLSL/Metal Shader); 4、掌握多线程、SIMD优化等高性能编程技术; 5、有跨平台(Android/iOS/Windows/Console)开发经验; 6、数学功底扎实(线性代数、几何处理、计算几何)。
工作职责
1、参与自研图形引擎的架构设计、开发与性能优化; 2、基于Vulkan/OpenGL/Metal等图形API实现高效的渲染管线; 3、开发与维护图形渲染相关模块(如光照、阴影、材质系统等); 4、解决多平台(PC/移动端)适配中的图形性能瓶颈; 5、探索并集成前沿图形技术(如光线追踪、GPU Driven Rendering等); 6、编写高质量、可维护的C++代码,确保系统稳定性和扩展性。
包括英文材料
学历+
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
设计模式+
https://liaoxuefeng.com/books/java/design-patterns/index.html
设计模式,即Design Patterns,是指在软件设计中,被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码,提高代码的可扩展性和可维护性。
[英文] Design Patterns
https://refactoring.guru/design-patterns
Design patterns are typical solutions to common problems in software design. Each pattern is like a blueprint that you can customize to solve a particular design problem in your code.
https://www.youtube.com/watch?v=NU_1StN5Tkk
Design Patterns tutorial explained in simple words using real-world examples.
OpenGL+
https://www.youtube.com/watch?v=45MIykWJ-C4
Learn how to use OpenGL to create 2D and 3D vector graphics in this course.
https://www.youtube.com/watch?v=W3gAzLwfIP0&list=PLlrATfBNZ98foTJPJ_Ev03o2oq3-GGOS2
https://www.youtube.com/watch?v=XpBGwZNyUh0&list=PLPaoO-vpZnumdcb4tZc4x5Q-v7CkrQ6M-
DirectX+
http://www.directxtutorial.com/lessonarticle.aspx?id=1
the purpose of this website is to assist novice programmers to overcome the difficulties in learning DirectX and game programming.
https://learn.microsoft.com/en-us/windows/win32/direct3dgetstarted/getting-started-with-a-directx-game
Creating a Microsoft DirectX game for Windows is a challenge for a new developer. Here we quickly review the concepts involved and the steps you must take to begin developing a game using DirectX and C++.
Shader+
https://clauswilke.com/art/post/shaders
To the uninitiated, shader programming can appear like magic.
https://learnopengl.com/Getting-started/Shaders
A great resource to learn modern OpenGL aimed at beginners.
[英文] Shader Learning
https://shader-learning.com/
Shader Learning is a platform that helps you learn and enhance your shading skills by solving interactive problems.
https://www.youtube.com/watch?v=3mfvZ-mdtZQ
Shaders are an incredibly useful programming tool to have under your belt, especially for creative coding and generative art.
Nsight+
https://developer.nvidia.com/tools-tutorials
NVIDIA Nsight™ Developer tools are a suite of tools for building, profiling, and debugging accelerated applications.
https://www.youtube.com/watch?v=aQ1NYoRvp7o
Profile Python for AI and deep learning applications with NVIDIA's suite of Nsight Developer Tools.
https://www.youtube.com/watch?v=Iuy_RAvguBM
Join NVIDIA’s Jackson Marusarz for an introduction to NVIDIA Nsight Compute, a tool for in-depth analysis of CUDA kernel performance on GPUs.
算法+
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/
多线程+
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!
Android+
https://roadmap.sh/android
Step by step guide to becoming an Android developer .
https://www.youtube.com/playlist?list=PLQkwcJG4YTCSVDhww92llY3CAnc_vUhsm
iOS+
https://www.youtube.com/watch?v=UNH0bE4zPtY&list=PLSzsOkUDsvdu5Mm67aBYs2YPu2OM4mFzt
Windows+
[英文] Windows 10 Tutorial
https://www.tutorialspoint.com/windows10/index.htm
This tutorial gives you all the indepth information on this new operating system and its procedures.
相关职位
社招A171407
1、负责XR设备中系统应用及服务的设计和开发工作,与产品、设计、质量等团队协作,共同保证产品顺利迭代; 2、参与XR设备中系统应用架构设计、品质优化、技术难点攻关等相关研发工作,推动团队技术体系建设; 3、关注XR、空间计算等前沿技术,结合业务特点,推动新技术落地。
更新于 2024-11-22
社招A102137B
1、负责XR设备中系统应用及服务的设计和开发工作,与产品、设计、质量等团队协作,共同保证产品顺利迭代; 2、参与XR设备中系统应用架构设计、品质优化、技术难点攻关等相关研发工作,推动团队技术体系建设; 3、关注XR、空间计算等前沿技术,结合业务特点,推动新技术落地。
更新于 2025-05-07
社招A91193
1、设计、开发和维护跨端互联Android端应用程序; 2、参与XR应用的设计和框架开发,深入用户为用户提供优秀的跨端XR体验; 3、基于XR场景,解决多媒体和图形渲染相关的问题,优化渲染性能,确保最佳的用户体验。
更新于 2025-05-14