So, the interview went like this
- JavaCore
- OOP
- REST
- Database
- The tools you use.
JavaCore
- At first, I was asked to draw a hierarchy of interfaces for Collections (it was not 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 is the difference between the sheets.
- Question about class Object. What are his methods, what do they do.
- Reflection. What does the getClass() method do. Very interesting question, take a look at it. Especially about how to get everything about the class, even if there are private methods or variables.
- Asked about multithreading. Weak, as I think, so tell 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 ridiculous to you.
- What can you say about Stream. This is not about Java 8. It means input and output streams. Like basic interfaces, what they are (character and byte). For understanding, no specifics.
- Exceptions. Here, again, they asked to draw a hierarchy of exceptions, which are, which of them are checked, and which are unchecked. What to do with Runtime exceptions. Name the most frequently hit (NullPointerException). The question is what should be done with checked exceptions (thrown further or processed - both are understandable).
OOP
- What is OOP in a nutshell?
- What other programming paradigms are there? How are they different from OOP?
- What are the main principles of OOP (inheritance, polymorphism and encapsulation)? Tell about each of them. So far, everything is abstract, not tied to any language.
- The task of understanding systems design: there is a Horse and a Bird. You need to get Pegasus. principle "has a" and "is a"
REST
- What is REST. Wikipedia talks about it very cool. In fact, Wikipedia articles are enough for review.
- HTTP. There are also common phrases here. His methods, for what each of them.
- HTTP status codes. What five parts to divide into, tell us about the most famous (200,204,404,500,501). Why are they. They also asked about 401 and 403. But I didn't know them. They said important.
GO TO FULL VERSION