240 вопросов и ответов на собеседование по Java Core

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ม.ค. 2025

ความคิดเห็น •

  • @ReadWriteCode
    @ReadWriteCode  ปีที่แล้ว +10

    GitHub repository github.com/ReadAndWritecode/ReadAndWritecode/blob/master/src/interview/240-core-java-interview-questions-and-answers-all-parts.pdf

    • @ЕвгенийВовк-ы7ь
      @ЕвгенийВовк-ы7ь 7 หลายเดือนก่อน +1

      Как красиво у тебя всё оформлено. Спасибо тебе!

  • @samvelsayadyan9113
    @samvelsayadyan9113 ปีที่แล้ว +16

    Такого ещё не было в ютюбе, чтобы прям столько вопросов и ответов в одном видео. Спасибо за труд!!.
    А можно ещё такие видео снять про spring?

    • @ReadWriteCode
      @ReadWriteCode  ปีที่แล้ว +7

      И вам спасибо за просмотр!).
      Как раз следующая серия будет про вопросы и ответы по spring.

  • @vitamin2845
    @vitamin2845 3 หลายเดือนก่อน +1

    Материал огонь. Спасибо за твои труды. Теперь бы еще найти время все это просмотреть))

  • @iLynch47
    @iLynch47 11 หลายเดือนก่อน +2

    Болшое спасибо за проделанный труд. Вы очень помогает. Успехов вам.

    • @dm1tryr905
      @dm1tryr905 11 หลายเดือนก่อน

      Russian MF Do you speak it!

  • @МаксимСамойлов-р6ф
    @МаксимСамойлов-р6ф ปีที่แล้ว +4

    Однозначно ЛАЙК за труд!!! Ждём видос по Spring!!!!

    • @ReadWriteCode
      @ReadWriteCode  ปีที่แล้ว +2

      На канале уже 2 видео есть в плейлисе Interview Spring можно пока их смотреть)
      th-cam.com/video/nNhMKhO34gE/w-d-xo.html
      th-cam.com/video/TwGtVidkhhs/w-d-xo.html
      Планирую 5 роликов снять

  • @ЕвгенийВовк-ы7ь
    @ЕвгенийВовк-ы7ь 7 หลายเดือนก่อน +2

    Спасибо тебе огромное!!!
    Прям очень всё круто!

  • @correctraccoon1262
    @correctraccoon1262 ปีที่แล้ว +2

    Спасибо! Очень полезно!

  • @ellirabethj6044
    @ellirabethj6044 ปีที่แล้ว +1

    Шедевр однозначно

  • @edmond-dantes-1796
    @edmond-dantes-1796 ปีที่แล้ว +1

    Вау, это очень мощно, круто, продолжай, ждем такое по Спрингу, хиберу и так далее. Это очень полезный контент
    P.S. уже увидел, что такие видео есть, но комент пусть будет)

  • @kuarkot
    @kuarkot 2 หลายเดือนก่อน +1

    Спасибо.

  • @Алексейм-с7б
    @Алексейм-с7б ปีที่แล้ว +1

    классное видео, запиши еще по спрингу что-то)))

    • @ReadWriteCode
      @ReadWriteCode  ปีที่แล้ว

      по спрингу есть на канале 4 видео)

  • @dmii3iy
    @dmii3iy ปีที่แล้ว +1

    Спасибо!

  • @irinaprokopowicz4818
    @irinaprokopowicz4818 ปีที่แล้ว +2

    почему в вопросе 125 2:01:10 говорится, что метод notify() и notifyAll() снимают блокировку, если они только оповещают другие потоки, которые ожидают на объекте синхронизации своей очереди?

    • @ReadWriteCode
      @ReadWriteCode  11 หลายเดือนก่อน +4

      Прошу прощения за опечатку )
      Блокировка объекта будет освобождена только после того, как поток, который удерживает блокировку, завершит свой синхронизированный блок кода.
      На самом деле notify() и notifyAll() в Java не снимают блокировку объекта. Это распространенное заблуждение. Давайте разберемся, как они работают на самом деле.
      В Java, методы notify() и notifyAll() используются в многопоточном программировании в сочетании с методами wait(), notify() и notifyAll(), которые являются частью механизма ожидания и уведомления.
      Метод wait():
      Когда поток вызывает wait() на объекте, он освобождает блокировку этого объекта и переходит в состояние ожидания до тех пор, пока другой поток не вызовет notify() или notifyAll() на том же объекте.
      Метод notify():
      Когда поток вызывает notify(), он не освобождает блокировку этого объекта сразу. Вместо этого notify() сигнализирует одному из ожидающих потоков (если таковые есть), что он может продолжить работу. Однако поток, который вызвал notify(), продолжит удерживать блокировку до тех пор, пока не завершит синхронизированный блок (то есть покинет блок synchronized).
      Метод notifyAll():
      Аналогично notify(), notifyAll() сигнализирует всем ожидающим потокам, что они могут продолжить выполнение, но поток, вызвавший notifyAll(), продолжит удерживать блокировку до выхода из синхронизированного блока.
      Таким образом, notify() и notifyAll() лишь сигнализируют другим потокам о возможности продолжить выполнение, но не освобождают блокировку сразу.

  • @askhatsamuratov5353
    @askhatsamuratov5353 หลายเดือนก่อน +1

    3 вопрос: разве тип возвращаемого значения входит в сигнатуру метода?

    • @ReadWriteCode
      @ReadWriteCode  หลายเดือนก่อน +1

      Спасибо за вопрос!.
      В целом нет, но там для переопределения нужно было так сказать для представления).

    • @МаксимМашнин
      @МаксимМашнин 28 วันที่ผ่านมา

      @@ReadWriteCode а зачем тогда в скобках под сигнатурой писать "тем же именем и тем же типом возвращаемого значения", если это не является сигнатурой. По-другому нормально нельзя было сформулировать?

  • @irinaprokopowicz4818
    @irinaprokopowicz4818 ปีที่แล้ว +1

    Поясните пожалуйста 74 вопрос "можем ли мы использовать оператор catch для проверяемых исключений?" и ответ на него, это 1:11:30

    • @ReadWriteCode
      @ReadWriteCode  ปีที่แล้ว +8

      Конечно, давайте более подробно.
      Существуют два типа исключений: проверяемые (checked) и непроверяемые (unchecked). Проверяемые исключения - это те, которые должны быть обработаны или объявлены в сигнатуре метода с использованием ключевого слова throws. Непроверяемые исключения могут быть обработаны, но это необязательно.
      Оператор catch предназначен для обработки исключений. Однако, когда речь идет о проверяемых исключениях, существует правило, что они должны быть либо обработаны в блоке catch, либо объявлены в сигнатуре метода с использованием throws.
      Теперь рассмотрим ваш вопрос и ответ:
      "Если нет возможности вызвать исключение в нашем коде, то мы не можем объявлять блок catch для обработки проверяемых исключений".
      Это означает, что если в вашем коде нет явного вызова (броска) проверяемого исключения, то компилятор не даст вам объявить блок catch для этого исключения. Например:
      public class Example {
      public static void main(String[] args) {
      // Нет явного вызова проверяемого исключения,
      // поэтому блок catch для него нельзя объявить.
      try {
      // some code
      } catch (CheckedException e) { // Ошибка компиляции
      e.printStackTrace();
      }
      }
      }
      В данном примере CheckedException не может быть обработан в блоке catch, потому что в коде отсутствует явный вызов этого исключения.
      Ошибки времени компиляции будут возникать, если вы попытаетесь обработать проверяемые исключения в блоке catch, но не предоставите код, который может вызвать эти исключения в блоке try.
      Предположим, у нас есть класс, который объявляет метод, бросающий проверяемое исключение, и пытаемся его обработать в блоке catch. Если не будет вызова этого метода, компилятор выдаст ошибку. Вот пример:
      import java.io.IOException;
      public class Example {
      // Метод, бросающий проверяемое исключение
      public static void throwError() throws IOException {
      throw new IOException("This is a checked exception");
      }
      public static void main(String[] args) {
      try {
      // Нет явного вызова throwError(), но мы пытаемся обработать его исключение
      // в блоке catch, что вызовет ошибку компиляции.
      catchCheckedException();
      } catch (IOException e) {
      e.printStackTrace();
      }
      }
      // Метод, пытающийся обработать проверяемое исключение
      private static void catchCheckedException() {
      // Ошибка компиляции, так как нет вызова throwError() в блоке try
      // и, следовательно, нет возможности бросить IOException.
      // Это нарушает правило компилятора.
      try {
      throwError(); // Ошибка компиляции
      } catch (IOException e) {
      e.printStackTrace();
      }
      }
      }
      В данном примере метод catchCheckedException() пытается обработать проверяемое исключение (IOException), но нет явного вызова метода throwError(), который бросает это исключение. Компилятор Java выдаст ошибку компиляции, потому что он ожидает, что проверяемое исключение будет брошено в блоке try.
      Вы сами убедитесь если в среде разработки это попробуйте)

  • @seniordesigner2654
    @seniordesigner2654 6 หลายเดือนก่อน +2

    167 вопрос, Может ввести в заблуждение начинающих.
    Начиная с Java 8 появились дополнительные возможности, желательно о них упомянуть.

    • @wilidon
      @wilidon 6 หลายเดือนก่อน +1

      Также хочу обратить внимание на 164 вопрос. Начиная с Java 8, в интерфейсах можно объявлять статические методы

  • @VladPochernin
    @VladPochernin 3 หลายเดือนก่อน +1

    Чтобы включить мозг в правильном направлении помогает, Спасибо
    Однако есть устаревшая и неточная инфа

  • @aidar90100
    @aidar90100 9 หลายเดือนก่อน +1

    Спасибо за видео!
    А можно получить ссылку на эту презентацию? Читать и находить быстрее нужные темы)

    • @ReadWriteCode
      @ReadWriteCode  9 หลายเดือนก่อน +1

      Спасибо за хороший отзыв!.
      Ссылка в комментарии)

  • @ЕвгенийКафанов-й2ц
    @ЕвгенийКафанов-й2ц 3 หลายเดือนก่อน

    С++ не поддерживает многопоточность ?

    • @ReadWriteCode
      @ReadWriteCode  3 หลายเดือนก่อน

      Я C++ честно говоря, не знаю, но Google говорит, что начиная с C++11 поддерживает)

  • @RuAliyev-e3y
    @RuAliyev-e3y 2 หลายเดือนก่อน

    это можешь выложить в pdf?

    • @ReadWriteCode
      @ReadWriteCode  2 หลายเดือนก่อน +1

      Ссылка закреплена в самом первом комментарии)

    • @RuAliyev-e3y
      @RuAliyev-e3y 2 หลายเดือนก่อน

      @@ReadWriteCode Спасибо))

  • @javaspace9999
    @javaspace9999 10 หลายเดือนก่อน +3

    Армянин?