Compilation of Common Backend Interview Questions and Answers for Small Companies
This article presents a comprehensive collection of written‑test and interview questions covering Java basics, Spring MVC annotations, JVM memory, garbage collection, database design, transaction management, distributed systems, version control, and development workflow, aimed at helping candidates prepare for small‑company technical interviews.
Hello, I am Guide. Responding to readers' requests, I share a set of interview questions from a small company, which, although simpler than past years, have become more competitive and cover a broad range of backend topics.
Written‑test questions:
Difference between == and equals()
Difference between GET and POST
When to use @ResponseBody in Spring MVC and how to use @PathVariable
Structure of the JVM heap
What is garbage collection (GC), its main purpose, and examples of common GC algorithms
Features of InnoDB and MyISAM
Understanding of MySQL transactions
Querying points data for member ID=100 in June 2023 (as shown in the image)
How to optimize a database
Describe the OAuth 2.0 authorization flow or explain the principle of single sign‑on
List common anti‑SQL‑injection measures used in programming and explain their principles
Design the mapping relationship among an order table, a product table, and a product‑order table
Interview questions:
Self‑introduction
Maximum single‑table data volume you have dealt with, and whether you added indexes (which fields?)
Which table had the most data, and what indexes besides the primary key were added?
How many departments does your company have and what are the main responsibilities of the product manager?
Which fields in that table have indexes?
How do you determine which fields need indexes when writing code?
Do you know composite indexes? If you create an index on (a, b, c), can you query in the order c, b, a?
In a Spring application, which layer (Controller, Service, DAO) usually handles transaction management and why?
When querying list data, should a transaction be opened? Why?
When using DELETE statements, should a transaction be opened? Why?
How does your distributed project handle distributed transactions?
Why use distributed transactions and what problems do they solve?
If a bank account has only 10 units and ten concurrent requests each try to deduct 10 units, how would you control it?
Which type of lock would you use in the above scenario, and which distributed lock would you choose for a distributed environment?
Does your code use Git or SVN for version control?
When a new requirement arrives, how do you manage branches?
From where do you create new branches for new requirements?
After creating a branch, do you start modifying code immediately? Describe your development process.
After development and testing, where does the code go?
If there are two new requirements, one to be released first and the other later, how do you manage their branches?
Is the test environment pulling code handled by operations or by testers themselves?
Do you have any questions for me?
The article also includes several related links to other technical articles and a decorative image.
IT Services Circle
Delivering cutting-edge internet insights and practical learning resources. We're a passionate and principled IT media platform.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.