JavaRush /Java Blog /Random EN /Technical questions during an interview

Technical questions during an interview

Published in the Random EN group
So, the interview went according to this plan
  1. JavaCore
  2. OOP
  3. REST
  4. Database
  5. The tools you use.
Technical questions during an interview - 1

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.

Database

Here I told you that I know MySQL. He told me about the three normal forms. He talked about Joins, what they are, and drew an intersection of areas in which different joins are used. I talked about how I understand a relational database. I haven’t forgotten about MongoDB - it’s a NoSQL database. After some time I will write about this too. It is very good to know and understand what a transaction is. What is ACID? What are insulation levels? This knowledge makes it clear what level.

Other tools

Here we went through my resume. It was written that I use Maven/Gradle for assembly, I use JIRA for tasks, git, Docker, Swagger. For Continuous Integration - Stash, Bamboo, Puppet. For testing JUnit, Mockito, JMeter. I might have forgotten something, so if you’re interested, ask in the comments and I’ll try to answer. Anyone who liked the article and found it useful - rate it and write in the comments. Also, subscribe to my github account romankh3 See also my other articles: - How to find a job? Tips for sending out resumes. Article from the Random group - Success Story. 20 hours a week of programming, master's degree and personal life - Professional burnout. How to resist?
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION