JavaRush /Java Blog /Random EN /Technical interview questions

Technical interview questions

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

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.

Database

Here I said that I know MySQL. Told about three normal forms. He told about Joins, which are and drew the intersection of areas in which different joins are used. He talked about how I understand a relational database. Don't forget about MongoDB - it's a NoSQL database. After some time I will write about it. It is very good to know and understand what a transaction is. What is ACID. What are isolation levels. This knowledge makes it clear what level.

Other tools

Here we went through my resume. It was written to me that I use Maven / Gradle for building, I use JIRA for tasks, git, Docker, Swagger. For Continuous Integration - Stash, Bamboo, Puppet. For testing JUnit, Mockito, JMeter. I could forget something, so if you are interested, ask in the comments and I will try to answer. Anyone who liked the article and was useful - rate 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 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