Technical practice
How would you turn a client's functional and nonfunctional needs into system requirements?
What to coverSuggested preparation: Explain how you clarify ambiguous needs, define measurable acceptance criteria, and trace requirements back to the client's specifications. Distinguish what the system must do from constraints such as performance.
How would you structure a complex Python program so it remains maintainable?
What to coverSuggested preparation: Discuss clear interfaces, separation of responsibilities, and handling errors at appropriate boundaries. Explain how you would balance readability with the need to build an efficient system.
What basic generative AI limitations would you consider when adding generated output to an application?
What to coverSuggested preparation: Cover output variability, inaccurate responses, and the need to validate results against the intended use. Describe how you would decide whether a generated response is acceptable without assuming a particular model or tool.
How would design principles and architectural fundamentals guide a new application component?
What to coverSuggested preparation: Explain how responsibilities, dependencies, and interfaces follow from the requirements. Discuss a trade-off between a simpler design and one that better accommodates likely change.
How would you derive test cases and scenarios from a specification?
What to coverSuggested preparation: Include expected behaviour, boundary conditions, invalid inputs, and traceability to requirements. Explain how you would identify gaps or ambiguities before treating the test set as complete.
How would you investigate a Python program that is slower than its nonfunctional requirements allow?
What to coverSuggested preparation: Start by confirming the performance target and measuring where time is spent. Discuss how you would compare a proposed optimisation with its effects on correctness and maintainability.
How would you estimate the work needed to design, build, and validate a requested change?
What to coverSuggested preparation: Break the work into activities, state assumptions and dependencies, and account for testing and uncertainty. Explain what information you would pass to a Technology Lead or Project Manager and when you would revise the estimate.
How would you diagnose and resolve a defect reported during application support?
What to coverSuggested preparation: Describe how you would reproduce and isolate the problem, check its impact against expected behaviour, and validate a fix. Include how you would reduce the risk of the same defect recurring.
How do validation and quality checks fit into iterative software development?
What to coverSuggested preparation: Connect requirements, development, testing, and support across the software development life cycle. Explain how feedback in an agile iteration could change priorities while preserving agreed quality checks.
Behavioural practice
Tell me about a time you clarified an ambiguous stakeholder requirement.
What to coverSuggested preparation: Use a real situation, the questions you asked and actions you took to resolve ambiguity, and the resulting change to the specification or work. Distinguish what was agreed from what you initially inferred.
Describe a time you collaborated to resolve a difficult development problem.
What to coverSuggested preparation: Give the situation, your specific actions alongside others, and the result. Show how you used evidence and shared decisions rather than presenting the outcome as solely your work.
Tell me about a time your estimate or delivery plan needed to change.
What to coverSuggested preparation: Explain the original situation and assumptions, what new information arose, and how you communicated and acted on it. State the result, including any lesson that improved later estimates.
Describe a time you found a quality issue during validation or support.
What to coverSuggested preparation: Set out the situation, how you investigated and prioritised the issue, and the actions you took to verify the resolution. Explain the result for the application or its users without overstating your contribution.
Tell me about a time changing requirements affected your work in an agile team.
What to coverSuggested preparation: Describe the situation, how you coordinated the change and adjusted your development or testing work, and the result. Highlight how you kept the revised work aligned with the agreed requirements.