Your question is Legacy Code Gap Assessment. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
Genworth's long-term-care insurance business runs premium recalculations through a decades-old stored procedure library too large to hand you in full during an interview, so the interviewer gives you the excerpt below, representative of the patterns across the whole codebase, and asks what's missing.
CREATE PROCEDURE recalc_ltc_premium (@policy_id INT)
AS
BEGIN
DECLARE @base_rate FLOAT
DECLARE @age INT
DECLARE @cursor CURSOR
SET @cursor = CURSOR FOR
SELECT age, base_rate FROM ltc_policies WHERE policy_id = @policy_id
OPEN @cursor
FETCH NEXT FROM @cursor INTO @age, @base_rate
WHILE @@FETCH_STATUS = 0
BEGIN
IF @age > 65
SET @base_rate = @base_rate * 1.4
ELSE
SET @base_rate = @base_rate * 1.15
EXEC ('UPDATE ltc_policies SET premium = ' + CAST(@base_rate AS VARCHAR) +
' WHERE policy_id = ' + CAST(@policy_id AS VARCHAR))
FETCH NEXT FROM @cursor INTO @age, @base_rate
END
CLOSE @cursor
DEALLOCATE @cursor
END
Tell the interviewer what is missing from this code and how you would improve and manage changes to it going forward.