GitHub Actions Interview Questions
10 questions
GitHub Actions interview questions on workflow design, reusable actions, and the permission and secrets-handling decisions that matter once a pipeline touches production.
After migrating to OIDC, how would you detect and alert on someone reintroducing a long-lived AWS access key as a GitHub secret?
IntermediateGitHub ActionsAWS7 min
Design a migration from long-lived AWS access keys stored as GitHub Actions secrets to OIDC-based short-lived credentials, for an organization with 40 repositories deploying to production.
AdvancedGitHub ActionsAWSOIDC12 min
How would the OIDC-based deploy design change for a monorepo where multiple independent deploy targets live in one repository?
ExpertGitHub ActionsAWS8 min
How would you scope an OIDC trust policy differently for a GitHub Actions workflow that runs on pull requests versus one that only runs on main?
AdvancedGitHub ActionsAWS8 min
Two people merged to main within a minute of each other, and now two deployment workflow runs are executing at the same time, racing to deploy. How do you prevent this?
IntermediateGitHub Actions6 min
Your GitHub Actions build spends 3 of its 5 minutes reinstalling the same dependencies every single run. How would you design caching to fix that without risking stale or corrupted cache issues?
IntermediateGitHub Actions6 min
How would you design a GitHub Actions deployment workflow so that deploying to production requires a manual approval, while deploying to staging doesn't?
IntermediateGitHub Actions6 min
You're testing a library against 4 language versions and 3 operating systems using a matrix build. One combination fails immediately, but you want the others to keep running. How do you configure that?
IntermediateGitHub Actions5 min
You want to share common CI logic across 20 repositories. When would you use a reusable workflow versus a composite action?
IntermediateGitHub Actions6 min
Why is it specifically dangerous to use self-hosted GitHub Actions runners on a public repository, in a way that doesn't apply to a private repository?
AdvancedGitHub Actions7 min