2–5 years · Mid — Java · Spring Boot · REST APIs · JPA / Hibernate · SQL · Microservices
Identifies the need for versioning strategy; discusses using URL path versioning or header-based versioning; considers impact on clients and documentation; plans for deprecation schedule for old versions; ensures thorough testing for both old and new versions.
How do you communicate these changes to the stakeholders and clients affected by the breaking changes?
Examines GC logs to determine the frequency and duration of pauses; evaluates heap size and memory allocation patterns; considers tuning the garbage collection algorithm; checks for memory leaks or excessive object creation; uses monitoring tools to visualise memory usage over time.
You find that your application is not leaking memory. What else could cause GC pauses?
Defines clear and concise URI structure; uses query parameters for optional filters; ensures proper use of HTTP methods and status codes; considers pagination for large datasets; documents the API with examples and expected responses.
You decide to implement pagination. How do you handle sorting on the results?
Names the feature and its purpose; details design choices such as technology selection and architecture; explains the trade-offs, including performance and maintainability; discusses testing strategies and how user feedback was incorporated; reflects on the deployment process and its challenges.
What would you change about your approach if you had to do it again?
Describes the context of the disagreement and the specific choice in question; explains the rationale behind their position and the opposing view; discusses how the discussion was approached and resolved; reflects on the final decision and its impact on the project; avoids personal criticism.
What did you learn from this experience?
Analyzes the code for shared mutable state; implements locking mechanisms or uses optimistic locking; reviews transaction isolation levels; considers introducing a message queue for state changes; tests for race conditions.
If you implement a locking mechanism, how do you ensure it does not introduce significant performance bottlenecks?
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.