Java interview

  • OOP
  • Inheritance
  • Encapsulation
  • Polymorphism
  • Abstraction
  • Constructor
  • Object
  • Interface и class
  • Access modifiers such as private, default, protected and public
  • Abstract class and method
  • Exception and Error

OOP

OOPs in Java organizes a program around the various objects and well-defined interfaces. The OOPs Concepts in Java are abstraction, encapsulation, inheritance, and polymorphism

Inheritance

- it is possible to inherit attributes and methods from one class to another
- is a mechanism in which one object acquires all the properties and behaviors of a parent object
- Java does not support Multiple inheritance

Encapsulation

- By encapsulating a class's variables, other classes cannot access them, and only the methods of the class can access them
- hiding the implementation of the class and separating its internal representation from the external class or interface

Polymorphism

- is the ability to apply the same methods with the same or different sets of parameters in the same class or in a group of classes connected by an inheritance relation
-

Abstraction

- is the process of hiding implementation details from the user, giving the user only the functionality
- the user will own the information about what the object does, not how it does it

Constructor

- All classes have constructors, whether you define them or not, because Java automatically provides a default constructor
- The constructor is a method that creates a kind of "framework" for the class. Every new object of the class must conform to it

Object

- is an individual member of a class that has a particular state and behavior that is completely determined by the class
- Variables are used to store the state of the object
- The object is an instance of the class
- Any object can have two main characteristics: state - some data that the object stores, and behavior - actions that the object can perform

Class

- A class is a template structure that allows you to describe an object, its properties (class attributes or fields) and behavior (class methods) in a program
- Class can consist methods, objects and constructors. Class is a template of an object, he has a body with fields and methods 

Interface

- An interface is a reference type, it is similar to a class. It is a collection of abstract methods. 
- A class implements an interface, thus inherits the abstract methods of the interface
- There is no implementation inside the interface
The interface only describes the behavior of some object
- Only immutable final fields can be in the interface

Abstract class and method

- Abstract class describes some general state and behavior that future classes - descendants of the abstract class - will have.
- Similar to interfaces, abstract classes can have abstract methods, an abstract method is a method without a body (without implementation), but unlike interfaces, abstract methods in abstract classes must be explicitly declared as abstract.

Access modifiers

- public, protected, default, and private.
- Protected - declarations are visible within the package or all subclasses
- Default - declarations are visible only within the package (package private)

This

- Keyword this is a link to the current class instance, we can use this word to call constructors, variables and object method’s 

Static

- Static methods and variables are related to the class
- Static methods belong to a class, not an object. You can call them without creating an instance of the class
- From a static method you can access only static variables or methods

Stream

Map<Integer, Integer> map = new HashMap<>();
// Collection.stream() + Stream.forEach()
        map.values().stream()
                .forEach(System.out::println);
map.keySet().stream()
                .forEach(System.out::println);
TreeSet<Integer> set = new TreeSet<>();
set.forEach(integer -> {
            System.out.print(integer + " ");
        });

Read from console

Scanner in = new Scanner(System.in);
String name = in.nextLine();
int number = in.nextInt();
//input from file
FileInputStream inputStream = new FileInputStream(name);
    int max = 0;
    while (inputStream.available() > 0) //пока остались непрочитанные байты
    {
        int data = inputStream.read(); //прочитать очередной байт
        if (data>max){
            max = data;
        }
    }
    System.out.println(max);
    inputStream.close();
}

Java collections

List — хранит упорядоченные елементы(могут быть одинаковые); Имеет такие реализации как LinkedList, ArrayList и Vector.

ArrayList

LinkedList

Когда использовать ArrayList и LinkedList?

Если нам требуется произвести большое количество вставок или удалений, то нам следует использовать LinkedList. Если у нас имеется мало вставок или удалений, но выполняется много поисковых операций, то тогда нам следует использовать ArrayList.

 

Set — коллекции, которые не содержат повторяющихся элементов.

Реализации: HashSet, TreeSet, LinkedHashSet

  • TreeSet — упорядочивает элементы по их значениям;
  • HashSet — упорядочивает элементы по их хэш ключам
  • LinkedHashSet — хранит элементы в порядке их добавления


Queue — интерфейс для реализации очереди.

Основные реализации: LinkedList, PriorityQueue.

принцип FIFO – first in first out.

Map — интерфейс для реализации элементов с их ключами.

Основные реализации: HashTable, HashMap, TreeMap, LinkedHashMap

  • HashTable — синхронизирована, объявлена уставревшей.
  • HashMap — порядок елементов рассчитывается по хэш ключу;
  • TreeMap — элементы хранятся в отсортированном порядке
  • LinkedHashMap — элементы хранятся в порядке вставки

Ключи в Мар не одинаковые

SQL basic commands

 

DML – Data Manipulation Language

Create table:

CREATE TABLE nameoftable(id INTEGER PRIMARY KEY, name TEXT);

Add a row:

INSERT INTO nameoftable (nameOfcolumn1,2,3) VALUES (new1,new2,new3);

View the row you just created:

SELECT * FROM nameoftable;

Edit information in the table (for only existing records):

UPDATE nameofthetable
SET parameter = 22
WHERE id = 1;

Add new column in the table:

ALTER TABLE nameoftable ADD COLUMN nameofcolumn TEXT;

Delete rows with no value:

DELETE FROM name of t WHERE nameofcolumn IS NULL;
DELETE FROM nameoftable;
DROP TABLE IF EXISTS;
CREATE TABLE IF NOT EXISTS;

Return uniq values:

SELECT DISTINCT name of column FROM name of t;

Filter the result in rows only if condition is true:

SELECT * FROM nameoftable WHERE name of column > 8;

Operators:

= equals
!= not equals
> greater than
< less than
>= greater than or equal to
<= less than or equal to

Filter the result to compare similar values:

SELECT * FROM name of t WHERE name of column LIKE ‘set here your text parameter’;
 
i.g. ‘Se_en’ or ‘A%’ (begins with “a”) or ‘%a’ (ends with “a”) or %man% (contains this word)
 

SELECT * FROM name of t WHERE name of column BETWEEN ‘A’ AND ‘J’; (not incl ‘J”)
or BETWEEN 1990 AND 2000; (incl all years)
 

Combine operator AND:

SELECT * FROM movies
WHERE year BETWEEN 1990 and 2000
AND genre = ‘comedy’;)
 

OR operator:

SELECT * FROM movies
WHERE genre = ‘comedy’
OR year < 1980;

Sort the result:

SELECT * FROM name of t
ORDER BY name of column DESC;
 
DESC — from high to low, ASC — low to high

Limiting the results:

SELECT * FROM name of t
ORDER BY name of column ASC
LIMIT 3;

Functions

Calculate the number of rows:

SELECT COUNT(*) FROM nameoftable;
 

To combine the rows

CONCAT ( || ‘somethting’ ||):

SELECT *, CONCAT(age, name, salary) as concat FROM name of table;
SELECT ‘abc ‘ || ‘def’ || ‘ gh ‘ FROM DUAL;

Round to a whole number:

SELECT ROUND(column name, decimals кол-во знаков после запятой) from nameoftable;

SELECT ROUND(345.156, 2);

If null return your value:

SELECT name, NVL(id, 0) FROM nameoftable;

SUM of all the values in that column:

SELECT SUM(nameofcolumn) from nameoftabl;

Find the largest value in a column:

SELECT MAX(nameofcolumn) FROM nameoftabl;

Find the minimum value in a column:

SELECT MIN(nameofcolumn) FROM nameoftabl;

Find average value:

SELECT AVG(namecolumn) FROM nameoftable;
 

GROUP BY

is using with COUNT, MIN, MAX, AVG, SUM

 
AS — rename a column 

Multiple tables join

SELECT * FROM nameoftable1 JOIN nameoftable2 ON not1.id = not2.id;


  • left JOIN — every row in the lefttable is returned in the result set
  • right JOIN — every in the right
  • inner join=join

Union

merge the columns

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
The UNION ALL clause allows us to utilize information from multiple tables in our queries, including duplicate values.
INTERSECT is used to combine two SELECT statements, but returns rows only from the first SELECT statement that are identical to a row in the second SELECT statement.
EXCEPT returns distinct rows from the first SELECT statement that aren’t output by the second SELECT statement

Dates

DATEDIFF
DATE_ADD(date, interval 45, DAY)
SELECT name_city, name_author, DATE_ADD('2020-01-01', INTERVAL (RAND() * 365) DAY) AS Date FROM city, author ORDER BY 1, Date DESC
Functionhow to useexample
count(x)
sum
max
CEILING(x)CEILING(4.2)=5
CEILING(-5.8)=-5
ROUND(x, k)ROUND(4.361)=4
ROUND(5.86592,1)=5.9
FLOOR(x)FLOOR(4.2)=4
FLOOR(-5.8)=-6
POWER(x, y)POWER(3,4)=81.0
SQRT(x)SQRT(4)=2.0
SQRT(2)=1.41…
ABS(x)ABS(-1) = 1
ABS(1) = 1
RAND()random