Java Backend Engineer: Interview Questions Collection
- Self-introduction
- Project introduction
- Project volume
- Thread and concurrency knowledge points
- Differences between lock and synchronized lock
- Differences between MYSQL and MONGODB
- Which components and versions of SpringCloud are used
Spring Ecosystem
- What is the core of SpringBoot
- SpringBoot version
- Which SpringCloud components are used
- Differences between SpringBoot and SpringCloud
- Spring bean injection methods
- Bean naming conventions for multiple datasource configuration
Microservice Architecture
- How to split microservice modules
- In coupling, which takes priority: business coupling or technical coupling
- What microservices pattern is used
- Differences between stateless and stateful in API design, how to choose
- Default number of nodes for cloud deployment
- JDK version in use
- Stream underlying implementation
- How to debug Stream code issues
- Stream components and underlying structure
- How to implement message sharing between threads
- What is a reentrant lock
- Explain your understanding of locks
- Differences between JDK8 and JDK17
Server Configuration
- Default thread count in Tomcat
- How to migrate from Tomcat to other web servers
- Nginx reverse proxy configuration
Database and Cache
- How to create Redis connection in project, required dependencies
- How to create connection using Jedis
- Redis transaction commands
- SQL scenario: Join query between department and employee tables for highest salary by department
- Advantages of left join
Programming Scenarios
- Implement Person object sorting by age and name using Java8 API
- Output common characters between two strings
CI/CD
- Dockerfile writing experience
- Groovy closure features in Jenkins pipeline
- Purpose of Nexus tool
- DevOps practical experience
Core Concepts
- Java Memory Model (JMM) concepts and functions
- HashMap implementation principles and conflict resolution
- Proxy pattern implementation (static and dynamic)
- IoC and AOP principles
- Why Redis maintains high performance with single thread
- Executor thread pool parameter configuration
Indian Interviewer Focus
- Java basic concepts (with examples)
- Usage of polymorphism
- LinkedList performance and differences
- Differences between Maps
- Array handling solutions
- Linux commands
- Project experience (tech stack: python, angular, control-M)
- English proficiency
English Fluency Levels
- Can’t express oneself - Poor foundation, unable to give self-introduction or project presentation
- Basic/simple conversation - Basic foundation, can deliver prepared self-introduction
- Daily communication - Good foundation, can participate in English meetings and understand most content
- Workable - Strong foundation, can communicate fluently with interviewer
- Workable & tech exchange - Excellent proficiency, can engage in barrier-free technical discussions
Other Interview Assessment Points
- Learning methods
- Technical communication ability
- Client communication experience
- Project challenges and solutions
- Career development plan
- Technical depth (multi-threading, data validation, frontend development, etc.)