0–2 years · Junior — Python · Django / Flask / FastAPI · REST APIs · SQL · Celery · Testing
Enables detailed logging to gather more information; reviews error logs for stack traces and context; checks for race conditions in the code; considers environmental differences between production and development; uses monitoring tools to observe application behaviour in production.
What if the logs don't reveal much? What would you try next?
Confirms the authentication method being used by clients; checks the server logs for authentication errors; verifies the validity of API tokens or credentials; considers potential recent changes to the authentication logic; communicates with affected users for further details.
If you discover that the issue is on the client side, how do you communicate this to the users?
Uses Django's query logging to identify N+1 query issues; checks the ORM relationships to ensure they are being optimised; considers using select_related or prefetch_related; examines the database schema for missing indexes.
You decide to use select_related. What does that do?
Reviews the query execution plan for inefficiencies; checks for proper indexing of columns used in WHERE clauses; considers using query hints; evaluates whether the query can be rewritten for efficiency; tests the impact of database partitioning if applicable.
If indexing doesn’t help, what could be another issue?
Identifies the breaking changes and assesses the impact on clients; considers creating a new version of the API; communicates the changes to stakeholders; evaluates options for backward compatibility; suggests a deprecation plan for old versions.
What would you include in the deprecation plan to ensure clients migrate smoothly?
Identifies specific deployment steps taken; explains the resulting issues and their impact on users; clarifies how they communicated the problem; discusses what corrective actions were taken; reflects on lessons learned for future deployments.
What could you have done differently to prevent it?
Load six more — you will get questions you have not seen first.
Give me six more →Say your answer out loud before revealing. Reading the answer first feels like learning and is not.