Antra·Software Engineer·Technical Phone Screen
- Explain the SOLID principles. For each one, give a one-line definition and an example of a violation and how you'd fix it.
- What is the difference between an interface and an abstract class in Java, and when would you choose one over the other?
- Compare Java and Python for backend engineering. What are the meaningful differences between the two?
- What is ArrayList in Java? Walk me through its internal structure and the time complexity of its main operations.
- How does HashSet work internally in Java, and what are its performance characteristics?
- What Spring and Spring Boot annotations do you know, and what specifically is the difference between @Repository and @Service?
“I knew the acronym cold but stumbled on the Liskov one.”