Что выведет следующий код?
  Anonymous Quiz
    8%
    Go-Go!Bo-Bo!Hello, World!
      
    55%
    Bo-Bo!Go-Go!
      
    1%
    Go-Go!Bo-Bo!
      
    29%
    Bo-Bo!Hello, World!Go-Go!
      
    7%
    Не знаю
      
    Что будет выведено на печать после выполнения данного кода?
  Anonymous Quiz
    8%
    Будет напечатано null
      
    5%
    Будет напечатано Number: 300
      
    6%
    Результат невозможно предугадать
      
    64%
    Будет напечатано Number: 200
      
    6%
    Будет напечатано Number: 100
      
    7%
    Произойдет ошибка компиляции, т.к. в интерфейсе Map нет метода put()
      
    5%
    Не знаю
      
    Несколько вопросов по многопоточности
1. Каким образом можно создать поток?
2. Чем различаются Thread и Runnable?
3. В чём заключается разница между методами start() и run()?
#вопрос_на_собеседовании
  1. Каким образом можно создать поток?
2. Чем различаются Thread и Runnable?
3. В чём заключается разница между методами start() и run()?
#вопрос_на_собеседовании
❓Каким образом можно создать поток?
- Создать потомка класса Thread и переопределить его метод run();
- Создать объект класса Thread, передав ему в конструкторе экземпляр класса, реализующего интерфейс Runnable. Этот интерфейс содержит метод run(), который будет выполняться в новом потоке. Поток закончит выполнение, когда завершится его метод run().
- Вызвать метод submit() у экземпляра класса, реализующего интерфейс ExecutorService, передав ему в качестве параметра экземпляр класса, реализующего интерфейс Runnable или Callable (содержит метод call(), в котором описывается логика выполнения).
❓Чем различаются Thread и Runnable?
Thread - это класс, некоторая надстройка над физическим потоком.
Runnable - это интерфейс, представляющий абстракцию над выполняемой задачей.
Помимо того, что Runnable помогает разрешить проблему множественного наследования, несомненный плюс от его использования состоит в том, что он позволяет логически отделить логику выполнения задачи от непосредственного управления потоком.
❓В чём заключается разница между методами start() и run()?
Несмотря на то, что start() вызывает метод run() внутри себя, это не то же самое, что просто вызов run(). Если run() вызывается как обычный метод, то он вызывается в том же потоке и никакой новый поток не запускается, как это происходит в случае, когда вы вызываете метод start().
  - Создать потомка класса Thread и переопределить его метод run();
- Создать объект класса Thread, передав ему в конструкторе экземпляр класса, реализующего интерфейс Runnable. Этот интерфейс содержит метод run(), который будет выполняться в новом потоке. Поток закончит выполнение, когда завершится его метод run().
- Вызвать метод submit() у экземпляра класса, реализующего интерфейс ExecutorService, передав ему в качестве параметра экземпляр класса, реализующего интерфейс Runnable или Callable (содержит метод call(), в котором описывается логика выполнения).
❓Чем различаются Thread и Runnable?
Thread - это класс, некоторая надстройка над физическим потоком.
Runnable - это интерфейс, представляющий абстракцию над выполняемой задачей.
Помимо того, что Runnable помогает разрешить проблему множественного наследования, несомненный плюс от его использования состоит в том, что он позволяет логически отделить логику выполнения задачи от непосредственного управления потоком.
❓В чём заключается разница между методами start() и run()?
Несмотря на то, что start() вызывает метод run() внутри себя, это не то же самое, что просто вызов run(). Если run() вызывается как обычный метод, то он вызывается в том же потоке и никакой новый поток не запускается, как это происходит в случае, когда вы вызываете метод start().
Какие из следующих методов выбрасывает исключение InterruptedException?
  Anonymous Quiz
    19%
    yield
      
    52%
    wait
      
    19%
    notify
      
    10%
    Не знаю
      
    Forwarded from BackendQuiz - задачи с собеседований по бэкенду
  
[SQL] Пусть дана таблица Income, два столбца которой имеют значения:
  Forwarded from BackendQuiz - задачи с собеседований по бэкенду
[SQL] Пусть дана таблица Income, два столбца которой имеют значения:
  Anonymous Quiz
    3%
    1
      
    15%
    2
      
    6%
    3
      
    4%
    4
      
    15%
    5
      
    30%
    Запрос содержит синтаксическую ошибку и не выполнится
      
    17%
    Запрос не выполнится, поскольку к таким значениям столбцов он не применим
      
    8%
    Не знаю
      
    Каким будет результат выполнения следующего кода?
  Anonymous Quiz
    16%
    false
      
    18%
    true
      
    21%
    Result: false
      
    43%
    Result: true
      
    2%
    Не знаю
      
    Можно ли при объявлении класса использовать модификаторы abstract и final одновременно?
  Anonymous Quiz
    25%
    Да
      
    72%
    Нет
      
    3%
    Не знаю
      
    Чем отличается ArrayList от LinkedList? В каких случаях лучше использовать первый, а в каких второй?
#вопрос_на_собеседовании
  #вопрос_на_собеседовании
ArrayList:
- Доступ к произвольному элементу по индексу за константное время O(1);
- Доступ к элементам по значению за линейное время O(N);
- Вставка в конец в среднем производится за константное время O(1);
- Удаление произвольного элемента из списка занимает значительное время, т.к. при этом все элементы находящиеся «правее» смещаются на одну ячейку влево (реальный размер массива (capacity) не изменяется);
- Вставка элемента в произвольное место списка занимает значительное время, т.к. при этом все элементы находящиеся «правее» смещаются на одну ячейку вправо;
- Минимум накладных расходов при хранении.
LinkedList:
- На получение элемента по индексу или значению потребуется линейное время O(N);
- На добавление и удаление в начало или конец списка потребуется константное O(1);
- Вставка или удаление в/из произвольного места за константное O(N);
- Требует больше памяти для хранения такого же количества элементов, потому что кроме самого элемента хранятся ещё указатели на следующий и предыдущий элементы списка.
В целом, LinkedList в абсолютных величинах проигрывает ArrayList и по потребляемой памяти, и по скорости выполнения операций. LinkedList предпочтительно применять, когда нужны частые операции вставки/удаления или в случаях, когда необходимо гарантированное время добавления элемента в список.
  - Доступ к произвольному элементу по индексу за константное время O(1);
- Доступ к элементам по значению за линейное время O(N);
- Вставка в конец в среднем производится за константное время O(1);
- Удаление произвольного элемента из списка занимает значительное время, т.к. при этом все элементы находящиеся «правее» смещаются на одну ячейку влево (реальный размер массива (capacity) не изменяется);
- Вставка элемента в произвольное место списка занимает значительное время, т.к. при этом все элементы находящиеся «правее» смещаются на одну ячейку вправо;
- Минимум накладных расходов при хранении.
LinkedList:
- На получение элемента по индексу или значению потребуется линейное время O(N);
- На добавление и удаление в начало или конец списка потребуется константное O(1);
- Вставка или удаление в/из произвольного места за константное O(N);
- Требует больше памяти для хранения такого же количества элементов, потому что кроме самого элемента хранятся ещё указатели на следующий и предыдущий элементы списка.
В целом, LinkedList в абсолютных величинах проигрывает ArrayList и по потребляемой памяти, и по скорости выполнения операций. LinkedList предпочтительно применять, когда нужны частые операции вставки/удаления или в случаях, когда необходимо гарантированное время добавления элемента в список.
Является ли импортирование пакета java.awt, записанное в программе следующим образом:
  Anonymous Quiz
    66%
    Да
      
    28%
    Нет
      
    6%
    Не знаю
      
    🔥 Собрали новый большой тест на знание Java!
Тест для проверки ваших знаний, их актуальности и глубины понимания языка. Включает в себя 30 вопросов разной сложности - от простых до требующих анализа кода.
🖊 30 вопросов
⏱ 30 минут на прохождение
Линк: t.iss.one/QuizBot?start=eKmlLvl4
📩 По любым вопросам и предложениям пишите: @igorhub
  
  Тест для проверки ваших знаний, их актуальности и глубины понимания языка. Включает в себя 30 вопросов разной сложности - от простых до требующих анализа кода.
🖊 30 вопросов
⏱ 30 минут на прохождение
Линк: t.iss.one/QuizBot?start=eKmlLvl4
📩 По любым вопросам и предложениям пишите: @igorhub
Quiz Directory
  
  Тест на знание Java
  Тест для проверки ваших знаний, их актуальности и глубины понимания языка.  /  30 вопросов
  Java задачи с собеседований pinned «🔥 Собрали новый большой тест на знание Java!  Тест для проверки ваших знаний, их актуальности и глубины понимания языка. Включает в себя 30 вопросов разной сложности - от простых до требующих анализа кода. 🖊 30 вопросов ⏱ 30 минут на прохождение  Линк: t.…»
  
  Java задачи с собеседований
🔥 Собрали новый большой тест на знание Java!  Тест для проверки ваших знаний, их актуальности и глубины понимания языка. Включает в себя 30 вопросов разной сложности - от простых до требующих анализа кода. 🖊 30 вопросов ⏱ 30 минут на прохождение  Линк: t.…
Пока лучший результат - 24 правильных ответов, найдется ли смельчак бросить вызов?
  
  Java задачи с собеседований
🔥 Собрали новый большой тест на знание Java!  Тест для проверки ваших знаний, их актуальности и глубины понимания языка. Включает в себя 30 вопросов разной сложности - от простых до требующих анализа кода. 🖊 30 вопросов ⏱ 30 минут на прохождение  Линк: t.…
Как вам большой тест?
  Anonymous Poll
    71%
    годно
      
    24%
    нормально, но хотелось бы лучше
      
    5%
    отпишусь в личку
      
    📩 По любым вопросам и предложениям пишите в личку автору теста: @igorhub