Where does business logic belong in our MVCS architecture layers?
Controller
You need to log a variable that is a pointer to a string (*string). Which field helper should you use?
zap.Stringp
What is the first command you should execute immediately after adding a new package import to your Go code?
gazelle. from inside the project directory
You need to fetch data from the database within a Cadence orchestration flow. Does this belong in a Workflow or an Activity?
Activity, because Workflows must remain completely deterministic for execution replays
What does the role abbreviation "TC" stand for in our domain, and what is its relationship to Oracle?
Talent Coordinator; it is the exact same role surfaced as Recruiting Coordinator (RC) in Oracle
What is our standard Fx module constructor always called, and what are its exact single argument and return types?
ANSWER: New, takes Params (fx.In), and returns (Result, error) (fx.Out).
True or False: When utilizing our standard LoggerProvider, you should still chain .Named("MethodName") and pass zapfx.Context(ctx).
False. LoggerProvider already injects the caller function name and request/trace context
You are writing a test for a repository method that executes database I/O. What style of test should you use?
A testify suite (table tests are strictly for pure, no-I/O mappers)
Why might a database read executed via r.RoDB(ctx) fail to reflect a database write you literally just executed?
RoDB reads from a replica subject to replication lag; use RwDB(ctx) for read-after-write consistency
What is the difference between a Scorecard and a Debrief, and what happens when a debrief starts?
Scorecard is per-interviewer; Debrief is per-workflow. Starting a debrief locks all scorecards
When setting up a new layer package, is the implementing struct exported (public)?
No, the struct is unexported/lowercase; only the capability interface is public
What should a repository method return when GORM encounters an ErrRecordNotFound error, and at what log level?
Log at Info level and return the shared sentinel error entity.ErrNotFound
What is our standard tool and command for publishing a Pull Request to review?
arh publish
What is the first, cheapest, and lowest-risk optimization you should consider when optimizing a slow database query?
Add a normal (secondary) index on the columns being filtered or joined
What core entity serves as the centralized "hub" connecting a single candidate's application to a specific job opening?
The Recruiting Workflow (RWF)
If you add a brand-new RPC method to a controller, how many files do you touch/create, and where does the method body live?
Create a new <method>.go file for the body; add one line to the interface in controller.go
Which error wrapping formatting verb (%w vs %v) is supported by RPC-facing yarpcerrors.*Errorf helpers?
%v, because yarpc does not support or carry the %w error chain
What root data structure keying mechanism must be used for table-driven tests of pure mappers?
Test_<Method>_<Result>_<OptionalDetail> (e.g., Test_GetPersonByID_Success).
How do Cadence Activities pull their required dependencies from the environment?
From the activity context using outbound.GetActivityDeps(ctx).
What do the pipeline interview loop type abbreviations BPS and BI stand for?
BPS = Business Phone Screen; BI = Business Interview.
What are the standard method receiver single-letter names for controllers and repositories?
c for controllers and r for repositories.
Where do shared sentinel errors (like ErrNotFound or ErrAlreadyExist) live in the codebase?
In the entity package.
Running gazelle from the monorepo root is painfully slow. Where should you run it from instead?
From inside your specific project directory.
What indexing anti-pattern should you watch out for to avoid adding unnecessary write costs to a database table?
Adding a secondary index that is already fully covered by the prefix of an existing composite index.
What is the database relationship between a Job and a Candidate?
Many-to-many, mediated strictly through the Recruiting Workflow (RWF) table.