Cобеседование в МТС на Middle Java с лайв-кодингом

Поділитися
Вставка
  • Опубліковано 25 гру 2024

КОМЕНТАРІ • 25

  • @maks.gavrilov
    @maks.gavrilov 3 місяці тому +32

    Поля класса хранятся там же в хипе, как и сам экземпляр класса, но никак не в стеке. Привет Марии, ведущему java-разработчику команды МТС аналитики.

    • @user_ne_elon_musk
      @user_ne_elon_musk 3 місяці тому

      Добрый день, @maks.gavrilov. Спасибо большое, что обратили внимание на недосказанность, да вы правы, класс хранится в heap, как и все его поля и методы, давайте я попробую объяснить, что я имела ввиду:
      Рассмотрим как поля класса и объекты хранятся в стеке и куче:
      1 Создание фрейма в стеке:
      Каждый раз, когда вызывается метод, для него создаётся новый фрейм в стеке. Этот фрейм содержит локальные переменные метода, включая параметры. Локальные переменные метода (включая примитивные типы) хранятся в стеке. Фрейм удаляется после завершения метода, освобождая память.
      2 Передача ссылок на объекты:
      Если метод принимает в качестве параметра объект, в стеке сохраняется ссылка на этот объект, а сам объект находится в куче. Примитивные типы передаются по значению и хранятся непосредственно в стеке, а объекты передаются по ссылке, которая указывает на расположение объекта в куче.
      3 Доступ к полям объекта:
      Когда метод работает с полями объекта (например, доступ к полям класса), JVM использует ссылку на объект, которая хранится в стеке. Однако сами поля объекта хранятся в куче, так как объект создаётся в куче. Методы работают через ссылку, которая указывает на этот объект в куче.
      4 Обработка локальных переменных:
      Локальные переменные метода всегда хранятся в стеке. Когда метод завершает выполнение, фрейм стека удаляется, и память для этих локальных переменных освобождается.
      Таким образом, можно сказать, что поля объекта не переносятся в стек при вызове метода. В стеке сохраняются только ссылки на объекты (если метод принимает объект), а сами поля остаются в куче, где хранится объект.

  • @yarik83men51
    @yarik83men51 3 місяці тому +8

    String ссылочный тип данных, в каком стеке мадам ?) Согласен с @hazardeth, все поля класса находятся в куче.

    • @whitelightcoding1847
      @whitelightcoding1847 Місяць тому

      А чем stringа не ссылочный тип? String передает свое значение ни как объект, а как ссылка на объект.

  • @ilyaglaz7632
    @ilyaglaz7632 2 місяці тому

    Некторые вопросы действительно были сформулированны достаточно расплывчито.
    28:00 - "Можешь сказать как общаются 2 микросервиса и что происходит в случае потери ответа?". Очень абстрактный вопрос.

  • @rusm4767
    @rusm4767 2 місяці тому

    01:08:04 - Как подготовиться к собеседованию по System Design? Как я понял, это Алекс Сюй - System Design. Подготовка к сложному интервью.

  • @cantreg
    @cantreg 3 місяці тому +1

    возможно не уложились в тайминг, начали нервничать перед камерой и путаться, но хотелось бы обратить внимание на формулировку вопроса и скорость с которой было озвучено условие:
    есть кафка и 5 партиций, есть одна консюмер группа, 5 косюмер групп и 10, внутри одной группы.
    если у нас есть один топик с 5 партициями и 10 консюмеров в группе, то как они будут читать эти топики?
    верю, что записано вживую, за смелость уважуха обоим.

    • @exactly4234
      @exactly4234 2 місяці тому

      лучше бы на англ вопрос задавали, на русском крипово звучит

  • @edwardhistugaya1677
    @edwardhistugaya1677 2 місяці тому +3

    Интервьювер очень не очень.

  • @rusm4767
    @rusm4767 3 місяці тому

    Алгоритмическая задачка на подсчёт слов работать не будет, т.к. inWord не меняется. Когда в режиме online, видимо главное чтобы человек озвучил основные моменты алгоритма. Когда счётчик увеличивается ? Предположим когда начинается новое слово. Новое слово начинается когда у нас очередной символ равен букве и до этого были вне слова (c(i) = symbol && inWord==false). Граничные условия - пустая и нудевая сторчка...

  • @winter-lb7id
    @winter-lb7id 2 місяці тому +1

    выражаю протест против комментариев девушки во время задач. Дайте кандидату самому написать код, а потом ревьюйте его

  • @annamind5650
    @annamind5650 2 місяці тому +1

    Че блин? Где поля класса хранятся?? В стеке?? Чего?
    Ммм... ведущий разработчик.. понятно.. бедного парня только запутали, он теперь так и запомнит.
    Досвидания) хотела подготовиться к собесам, но не по вашим видео, видимо. Хотя, тут и собеседующийся слабенький, вопросы простые слишком. Странно, вроде, на мидла, но кандидат слабенький

  • @yarik83men51
    @yarik83men51 3 місяці тому +2

    Намного проще можно решить
    public class CountWords {
    public int countWords(String str) {
    if (str == null || str.isEmpty() || str.isBlank()) {
    return 0;
    }
    int count = 0;
    for (int i = 1; i < str.length(); i++) {
    char prev = str.charAt(i - 1);
    char next = str.charAt(i);
    if ((Character.isLetter(prev) || prev == '-') && !Character.isLetter(next)) {
    count++;
    }
    }
    return count;
    }
    }

    • @rusm4767
      @rusm4767 3 місяці тому +1

      а если дефис не соприкасается со словом. И потом последнее слово не подсчитывается, если после него нет пробелов.

    • @jamesvalerianka3364
      @jamesvalerianka3364 2 місяці тому

      @@rusm4767если дефис не соприкасается со словом, то это - тире. Русский язык, как бы

  • @exactly4234
    @exactly4234 3 місяці тому

    У вас будут НЕ российские компании и интервью на английском? P.S. Видео промотал, чуть не заснул, молчат, мычат, долго "рожают".

  • @rusm4767
    @rusm4767 3 місяці тому

    ".. функциональный интерфейс это какой-то абстрактный метод .." это конечно не вполне так

  • @yarik83men51
    @yarik83men51 3 місяці тому +1

    Вы шо угараете) На абстрактные классы разделить и не надо городить, второй варик чрез рефлексию в методах давать инфу.

  • @yarik83men51
    @yarik83men51 3 місяці тому +3

    Ну и гонора у интервьювера

  • @HerrDuster
    @HerrDuster 3 місяці тому +3

    Марія жжот.
    Вона хоч вище джуна?
    Тут би ООП підтягнути і зрозуміти, що раз Інтерн наслідується від Емплоєра то він має доступ до не приватних методів.

  • @tatianamaslova6792
    @tatianamaslova6792 21 день тому

    Как можно так по-хамски общаться на собеседовании? И зачем во время решения задач без конца вмешиваться, не давая человеку подумать?

  • @soos6603
    @soos6603 2 місяці тому

    Отревьюйте код кому не сложно, пожалуйста (это к первой задаче)
    static int countWords(String str) {
    if (str == null || str.isEmpty()) return 0;
    Set set = new HashSet(
    List.of(' ', ',', '.', '!', '?')
    );
    int count = 0;
    boolean isWord = !(str.charAt(0) == ' ');
    for (int i = 0; i < str.length(); i++) {
    if (!set.contains(str.charAt(i)) && isWord) {
    isWord = false;
    count++;
    } else if (set.contains(str.charAt(i)) && !isWord) {
    isWord = true;
    }
    }
    return count;
    }

    • @spoonthetraveler6413
      @spoonthetraveler6413 2 місяці тому

      Как минимум, считает цифры и пропустит любой символ, кроме тех, что в хешсете