PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/NVIDIA

Define a Git workflow for CI

Last updated: Mar 29, 2026

Quick Overview

This question evaluates skills in repository management, CI/CD and release engineering, including Git branching strategies, large-binary asset versioning, regression bisecting, rollback processes, and CI integration; it is categorized under System Design and primarily tests practical application of tooling and process design.

  • medium
  • NVIDIA
  • System Design
  • Software Engineer

Define a Git workflow for CI

Company: NVIDIA

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Take-home Project

Propose a Git branching and release strategy for a graphics testing repo. Cover code review, protected branches, versioning of test assets (e.g., large textures), submodules or monorepo trade-offs, bisecting regressions, reverting bad changes, and maintaining reproducible builds. How would you integrate with Jenkins for gated merges?

Quick Answer: This question evaluates skills in repository management, CI/CD and release engineering, including Git branching strategies, large-binary asset versioning, regression bisecting, rollback processes, and CI integration; it is categorized under System Design and primarily tests practical application of tooling and process design.

Related Interview Questions

  • Design a URL shortening service - NVIDIA (hard)
  • Design a bidirectional data sync dashboard - NVIDIA (medium)
  • Design first-time Kubernetes deployment in new cloud - NVIDIA (medium)
  • Design an artifact store on K8s and Cassandra - NVIDIA (hard)
  • Design signals across power and clock domains - NVIDIA (hard)
NVIDIA logo
NVIDIA
Aug 9, 2025, 12:00 AM
Software Engineer
Take-home Project
System Design
2
0

Design a Git Branching and Release Strategy for a Graphics Testing Repository

Context

You are designing the source control and CI/CD workflow for a graphics testing repository used to validate rendering pipelines across platforms and GPU architectures. The repo contains code (harness, shaders, test logic) and large binary test assets (e.g., textures, models, scenes). CI must run on GPU-equipped hosts and keep main stable while enabling rapid iteration.

Requirements

Propose a strategy that covers:

  1. Branching and release model (including protected branches and code review).
  2. Versioning and storage of large test assets (e.g., textures, scenes).
  3. Submodules vs. monorepo trade-offs and a recommendation.
  4. Techniques for bisecting regressions effectively.
  5. Reverting bad changes quickly and safely.
  6. Maintaining reproducible builds and test runs.
  7. Integration with Jenkins to enable gated merges (merge only after CI passes).

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More NVIDIA•More Software Engineer•NVIDIA Software Engineer•NVIDIA System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.