英伟达Graphics Tools Software Engineer
社招全职地点:上海状态:招聘
任职要求
Strong candidates bring excellent C++ programming skills, a solid grasp of object-oriented design, and proficiency in at least one graphics programming API such as Direct3D or Vulkan. Equally important is solid system-level programming experience, including strong familiarity with Linux internals (processes, threads, IPC, memory management, file systems, sockets, and system calls) and hands-on proficiency with debugging and diagnostic tools such as GDB, LLDB, Valgrind, strace/ltrace,. Experience analyzing crash dumps and core files, and diagnosing complex memory, concurrency, and performance issues in production-grade software, is essential.Beyond technical depth, this role calls for strong math skills, excellent written and verbal communication, and the ability to thrive o…
登录查看完整任职要求
微信扫码,1秒登录
工作职责
This role centers on the technical design and implementation of new features across the Nsight tool suite. Day-to-day work includes partnering closely with internal teams and external collaborators across NVIDIA, driving technology discussions, and providing thoughtful feedback on architecture. The engineer in this role will write fast, maintainable, well-documented code; review peers' work with an eye for performance, scalability, and correctness; and contribute to realistic delivery schedules through accurate estimation and prioritization. Collaboration with the QA team to define test plans for new features is also a regular part of the job, alongside continued growth in both technical and non-technical skills.
包括英文材料
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.
Vulkan+
https://developer.android.com/codelabs/beginning-vulkan-on-android#0
Vulkan is the primary low-level graphics API on Android. Vulkan enables reaching higher performance for games that implement their own game engine and renderer.
https://docs.vulkan.org/tutorial/latest/00_Introduction.html
The ideas behind Vulkan are similar to those of Direct3D 12 and Metal, but Vulkan has the advantage of being fully cross-platform and allows you to develop for Windows, Linux and Android at the same time.
https://edw.is/learning-vulkan/
I learned some Vulkan and made a game engine with two small game demos in 3 months.
https://vulkan-tutorial.com/
This tutorial will teach you the basics of using the Vulkan graphics and compute API.
Linux+
https://ryanstutorials.net/linuxtutorial/
Ok, so you want to learn how to use the Bash command line interface (terminal) on Unix/Linux.
https://ubuntu.com/tutorials/command-line-for-beginners
The Linux command line is a text interface to your computer.
https://www.youtube.com/watch?v=6WatcfENsOU
In this Linux crash course, you will learn the fundamental skills and tools you need to become a proficient Linux system administrator.
https://www.youtube.com/watch?v=v392lEyM29A
Never fear the command line again, make it fear you.
https://www.youtube.com/watch?v=ZtqBQ68cfJc
GDB+
[英文] Debugging with GDB
https://betterexplained.com/articles/debugging-with-gdb/
A debugger lets you pause a program, examine and change variables, and step through code.
https://code.visualstudio.com/docs/cpp/cpp-debug
After you have set up the basics of your debugging environment as specified in the configuration tutorials for each target compiler/platform, you can learn more details about debugging C/C++ in this section.
https://opensource.com/article/21/3/debug-code-gdb
Troubleshoot your code with the GNU Debugger.
https://www.brendangregg.com/blog/2016-08-09/gdb-example-ncurses.html
gdb is the GNU Debugger, the standard debugger on Linux.
还有更多 •••