Tell me what generics are in Java and what are the differences between invariance, covariance, and contravariance when using them?
Java
Tell us about the approaches and patterns you use to organize effective interaction between microservices on the backend and what difficulties you most often encounter in this process.
Explain how JIT compilation affects the performance of Java applications and in what cases it can lead to unexpected results.
Describe how memory management occurs in JVM and what problems can arise from incorrect memory parameter settings for large backend applications.
Tell me how you approach designing a PostgreSQL database structure for a high-load backend service and which performance optimization methods you consider most effective?
What approaches do you use for versioning REST API to ensure compatibility between different clients, and what difficulties have you faced?
Describe how you implemented monitoring and tracing (observability) for distributed backend services, and which tools you consider most effective for detecting and fixing issues in production?
Describe what problems with data consistency can arise when implementing distributed transactions across multiple services using PostgreSQL, and how you usually solve them.
Tell how you designed REST API for complex backend services and what approaches you used to ensure scalability and fault tolerance.
What main difficulties and limitations do you see when integrating AI scenarios into existing backend architecture, and how do you approach solving them?