So, the interview went according to this plan
- JavaCore
- OOP
- REST
- Database
- The tools you use.
JavaCore
- First, I was asked to draw the hierarchy of interfaces for Collections (it wasn’t difficult, there are only a few of them (Collection, List, Set, Queue, Map).
- What is the difference between ArrayList and LinkedList (this is one of the most hackneyed questions and answers on the internet, just darkness).
- We discussed the speed of query execution in them and what the difference is between the sheets.
- Question about the Object class. What are his methods, what do they do?
- Reflection. What does the getClass() method do? Very interesting question, please look into it. Especially about how to get everything about a class, even if it contains private methods or variables.
- They asked about multithreading. It’s weak, I think, to tell you how you understand what multithreading is. What is needed to start a new thread. Realistically, if you are level 20+, then these questions will seem funny to you.
- What can you say about Stream. This is not about Java 8. It is about input and output streams. Like basic interfaces, what they are (character and byte). For understanding, no specifics.
- Exceptions. Here, again, we were asked to draw a hierarchy of exceptions, what types there are, which ones are checked, and which ones are unchecked. What to do with Runtime exceptions. Name the most frequently encountered one (NullPointerException). The question is what should be done with checked exceptions (forward further or process - both are clear).
OOP
- What is OOP in a nutshell?
- What other programming paradigms are there? How are they different from OOP?
- What are the basic principles of OOP (inheritance, polymorphism and encapsulation)? Tell us about each of them. So far everything is abstract, not tied to any language.
- System design understanding task: there is a Horse and a Bird. We need to get Pegasus. principle "has a" and "is a"
REST
- What is REST. Wikipedia talks about this very coolly. In fact, an article from Wikipedia is enough to get acquainted with.
- HTTP. There are also general phrases here. His methods, what each of them is for.
- HTTP status codes. What five parts should it be divided into? Tell us about the most famous ones (200,204,404,500,501). Why do they? They also asked about 401 and 403. But I didn’t know them. They said they were important.
GO TO FULL VERSION