Roman Kryvolapov Engineering Blog

Java Spring — List of Questions

Java:
What are the data types in Java and what is their size
What are the modifiers in Java and Kotlin
What Java Collections do you know?
What are the complexity levels for operations with collections
What is a HashMap?
How to sort a collection containing a complex class, Comparator and Comparable
What is the difference between ArrayList and LinkedList
How TreeMap works
What are the naming rules in Java
What are static classes in Java
What is the difference between StringBuffer and StringBuilder
What is reflection in Java
In what situations does Memory leak occur
What is Generic
What methods does the Object class have in Java and Any in Kotlin
What is Enum in Java
What is the priority in Java when converting primitive types
What is type casting / type conversion / casts
What are annotations for and how to create them in Java
What are Wrappers in Java
What are the transition operators
What is Stack and Heap in Java
What is JDK, JRE and JVM
What values ​​are variables initialized with by default
Is it possible to narrow the access level/return type when overriding a method?
What are the types of references in Java
What is the difference between map and flatMap
What are the types of errors in Java
How does Garbage Collector work and how is memory organized in the JVM
What is Java NIO (New Input/Output)
What is the execution order of a Java class
Can an abstract class inherit from a regular one
What are the types of cycles in Java and Kotlin
What is ClassLoader
What is SecurityManager
What is JavaCompiler
How to run JavaScript from Java
What is Optional in Java and Kotlin
What are the bitwise operations in Java and Kotlin
What is ByteBuffer and Unsafe
What is lambda in Java
How to download executable code from the network in Java
What is AsynchronousServerSocketChannel

Kotlin:
What are Inner Classes in Kotlin
What are Scope Functions in Kotlin
How does a coroutine work and what is suspend
What is the difference between the coroutine launch method launch and async
What are Delegates in Kotlin
What is Extension in Kotlin
What is a companion object in Kotlin
How to use getters and setters in Kotlin
What is the @JvmStatic annotation
What is a callback, functional types and Unit in Kotlin and how is it used

Theory:
What are the complexity levels of collections
What are the most commonly used patterns
What is the difference between inheritance and composition
What is SOLID
What are higher-order functions
What is the difference structural, functional and object-oriented paradigms in programming
What formats of data exchange with the server exist
What is the syntax of a query to an SQL database

Multithreading:
What are synchronized collections and how do they work
What does volatile mean
What does synchronized mean
What problems can occur in multithreading in Java
What is Lock / ReentrantLock
What are Backpressure strategies
What is the difference between hot and cold Observables
How volatile differs from atomic
What are Deferred coroutines in Kotlin
What are LAZY coroutines in Kotlin
What are Kotlin Channels
What is Mutex, Monitor, Semaphore

Concepts

What layers can be in Spring
How is a Spring application usually structured?
Which is better, annotations or XML in Spring
What is the difference between REST, RPC, GraphQL and SOAP
What parts can be in a Spring application
How is Spring different from Java EE
What are servlets
How to use the Clean Architecture approach in Spring
What are Event Streaming Concepts
What is Public Key Infrastructure (PKI)
What is REST (Representational State Transfer)
What are the parameters of a RESTful service
What are Model, ModelAndView and ViewResolver?
Explain the principles of Inversion of Control (IoC) and Dependency Injection (DI).
What is CSRF (Cross-Site Request Forgery)
What is Aspect-Oriented Programming (AOP)?
How does Spring process a request and issue a response
What is Project Reactor
What is Mono and Flux
What is Domain-Driven Design (DDD)
What is Servlet
What is Prometheus format
What is Structured concurrency
What is the Happens-Before principle (event precedence)
How is WAR (Web Application Archive) different from JAR (Java Archive)
What is the life cycle of beans in Spring
What is CQRS (Command Query Responsibility Segregation)
What is Event Sourcing
What is Circuit Breaker (Chain Switch)
What is JSON-RPC (Remote Procedure Call)
What is Eventual Consistency (eventual consistency) consistency)
What is Git Registry, GitHub Packages, GitHub Actions, Changelog, Release Notes
What are the main data exchange protocols in Spring
What is Protobuf
What is Javadoc
What is Saga Pattern
What is Rollback Pattern
What is the difference between Rollback Pattern and Saga Pattern
What are the main differences between Maven and Gradle
What does pom.xml consist of
What does build.gradle consist of
What is Supplier
What is the difference between record in Java and data class in Kotlin
What is Java JWT (JSON Web Token)
What is Spring MVC
How to use Lombok in Java
What is Swagger / OpenAPI
How to set up access via OpenVPN
What is Keycloak
What are Testcontainers
What is the difference between Jetty, Netty and Tomcat
What is Netty
What is Nginx
Simple web server example

Spring Components

What parameters can be in application.properties
How to use WebSocket in Spring
How to use GraphQL in Spring
How to use OAuth 2.0 in Spring
How to set up encryption in Spring
How to set up HTTPS in Spring
What is Spring Boot Actuator
How to set up authorization using Spring Security
What is Spring Integration
What is Spring Batch
What is AutoConfiguration in Spring
How to set up different build profiles in Spring
What is Spring WebFlux
What is ApplicationContext in Spring
What is BeanFactory
What is Spring BOM
How to set up security in WebFlux
How to set up data validation in Spring
How to detect memory leaks in Spring
What is RouterFunction and RequestPredicate
How a Spring application can send and receive data from other APIs
How to make a background task on a timer in Spring
How to import data from CSV in Spring

Spring Annotations

What are the main annotations in Spring
How is @Component different from @Service
How is @Component different from @Bean

Data storage

What is CRUD (Create, Read, Update, Delete)
How to connect to databases in Spring
How to use AWS / Amazon Web Services in Spring
What is Spring Data JPA
What is JPQL and Criteria API
How to use Redis in Spring
What are the transaction isolation levels
What are the repositories in Spring
What are the parameters of the @Transactional annotation
How to handle database changes in Spring
What are the transaction isolation levels
What is Jenkins
What is Nexus
What is a Query Plan for databases
How to use indexes in a Spring application database
What anomalies can occur when working with a database
What are the types of locking in a database
What is R2DBC (Reactive Relational Database Connectivity)
What is Flyway
Where in a Spring application should private data be stored
How can caching be used in Spring
How to set up GitHub Actions Continuous Integration

Microservices

How can microservices interact
How to use Docker in Spring
How to use Docker Compose in Spring
How to use Kubernetes in Spring
How to use Elasticsearch in Spring
How to use RabbitMQ in Spring
How to use Kafka in Spring
What is Eureka Service
How to implement Spring Cloud Gateway
How to implement redirection using Spring Cloud Gateway
What is Service Discovery
What is Dockerfile and Docker Compose
What tools are there for monitoring microservices
What is Trace ID and Span ID