What this C++ type-deduction interview question tests
This is a medium-difficulty C++ question that probes your understanding of type deduction and function parameter semantics. It asks you to read a code snippet carefully and identify the exact type of a parameter being passed to a function — a skill that separates candidates who know the language rules from those who rely on intuition.
Questions like this reward precise knowledge of how C++ resolves parameter types across different declaration contexts: by-value, by-reference, const qualification, and template instantiation. Interviewers use them to verify that you can reason about what the compiler actually sees, not just what the code intuitively suggests. This matters in production code where type mismatches lead to silent performance problems or subtle bugs.
- Pass-by-value vs. pass-by-reference semantics
- Const and volatile qualifiers in parameter lists
- Template argument deduction and type collapsing