Middle Java Собеседование LIVECODING часть

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 พ.ย. 2024

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

  • @sorokinpavel
    @sorokinpavel  2 หลายเดือนก่อน +53

    Забирай бесплатные материалы от меня по изучению Java и подготовки к собеседованиям: t.me/JavaLearnBot?start=c1724626210163-41-ds

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

    Через CountDownLatch ждать с 3 до 0. Добавлять Runnable в массив сразу в нужное место. Потом через Feature брать из массива.

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

    Спать надо в это время!) посмотрю в записи.
    Интересна тема exception handling, logging в потоках.

  • @yarrak111
    @yarrak111 3 หลายเดือนก่อน +4

    К сожалению это даже не джун

  • @BassLite
    @BassLite 3 หลายเดือนก่อน +2

    А почему отмели решение собеседуемого с wait, notify с synchronized секцией на this?
    Вроде тоже подходит и при этом мы не будем сидеть в цикле бесконечном.

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

      Такой же вопрос

    • @lWeRl
      @lWeRl 3 หลายเดือนก่อน +2

      Потому что автор не настолько сильно шарит в многопоточке либо не было времени ждать собеседующего)))) можно и через wait notify sync+while, можно через семафоры, можно через lock

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

    Над лайв кодингом нужно поработать, уж какие-то ошибки детские. Может волнение?

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

    Семафоры можно использовать

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

    Imposter syndrome when somebody watching you ....

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

    И еще вопрос, для каких задач виртуальные поьоки подходят пдохо и лучше подходят стандартные потоки?

    • @maksimus.ssirotkin1124
      @maksimus.ssirotkin1124 3 หลายเดือนก่อน

      В java разве не все потоки виртуальные ?)

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

      @@maksimus.ssirotkin1124 нет ;) есть отдеьныйивид виртуальных

    • @awdawdawdawdaw-hs7kv
      @awdawdawdawdaw-hs7kv 3 หลายเดือนก่อน

      @@maksimus.ssirotkin1124 системные, и грин потоки + вирутальные

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

    какой искуственный интелект у него внедрен в intellij ? как называется ? Copilot ?

    • @НиколайЛитвинов-ф2э
      @НиколайЛитвинов-ф2э 3 หลายเดือนก่อน

      @@psyhotel4009 просто скачиваешь последнюю версию 24 года и тебе идея просто подсказывает кусками кода. Возможно это только на ultimate, у меня тоже такие подсказки есть. Можно еще подключить на этой версии AI assistant, но там это за 8 долларов дополнительно. Поэтому тот парень отдельно ничего не устанавливал.

  • @НиколайЛитвинов-ф2э
    @НиколайЛитвинов-ф2э 3 หลายเดือนก่อน +4

    Крутое и интересное видео, никогда не было задач на лайв-кодинге с многопоточкой и сам решил попробовать сделать. Сделал другое решение, можешь подсказать нормально ли такой вариант? -
    public class Printer {
    private final Lock lock = new ReentrantLock();
    private final Condition firstCondition = lock.newCondition();
    private final Condition secondCondition = lock.newCondition();
    public void first(Runnable printFirst) {
    lock.lock();
    try {
    printFirst.run();
    firstCondition.signal();
    } finally {
    lock.unlock();
    }
    }
    public void second(Runnable printSecond) {
    lock.lock();
    try {
    firstCondition.awaitUninterruptibly();
    printSecond.run();
    secondCondition.signal();
    } finally {
    lock.unlock();
    }
    }
    public void third(Runnable printThird) {
    lock.lock();
    try {
    secondCondition.awaitUninterruptibly();
    printThird.run();
    } finally {
    lock.unlock();
    }
    }
    }

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

      Привет, спасибо за фидбек!
      Выглядит все корректно, отработать должно. Ты можешь на литкоде забить свой код и проверить) Я оттуда задачку брал leetcode.com/problems/print-in-order/
      Можно также просто в IDE локально запустить 3 потока и проверить работу, корректно ли все

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

      Если случится spurious wakeup, awaitUninterruptibly() завершится до того, как другой поток вызовет signal(), и порядок вывода нарушится

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

    Thread3, Thread2, Thread1 с помошью join

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

      В условиях задачи ты можешь менять только код класса, у тебя нет доступа к потокам. Так что такое решение не пройдет