Flutter. Открытое собеседование

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

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

  • @EnerServDoomer
    @EnerServDoomer 11 หลายเดือนก่อน +7

    Пишу на флатере 5 лет. Вопросы ради вопросов. в 99% это вообще не используется, как работаю эти деревья, как оно работает под капотом. Вопросы высосанные из пальца. Пример сдаёшь на права - ты не обязан знать как работает двигатель в машине, ты должен уметь им управлять. Сеньоры-помидоры берут техническую документацию фраемворка и задают по ней вопросы, хотя настоящие вопросы из жизни придумывать вообще не хотят

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

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

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

    действительно, теряется смысл формата собеседования, если нет реакции верно-невенро-дополнить. на худой конец, сказать это все по итогу собеседования.

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

    Начали прямо на серьёзных щщах тереть за паттерны проектирования - думаю ну ни хера себе уровень - а потом кандидат взял да присел на несложной задачке, заблудившись в трёх соснах, и потом давай плавать в простых вопросах по Dart

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

    Пожалуйста, больше таких видео :)

  • @TJ-wc3iq
    @TJ-wc3iq 26 วันที่ผ่านมา

    Уже на 20-й минуте создалось стойкое впечатление, что кандидат лучше шарит, чем интервьюер. Более того, сам инетрвьер не всегда понимает, что ему вообще отвечают. А на 59-й минуте уже начал "а под скринридером ты что имеешь ввиду?" - ну мог бы тогда уж сразу топить салагу - "а под деревом, ты что?... а под виджетом, ты что?.." Ну такое...

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

    На сколько я понял что интерфейс не может отобразить состояние класса а только описывает его поведение, а абстрация может нести в себе конкретное состояние конкретного класса.

    • @marodonthemorone
      @marodonthemorone 2 ปีที่แล้ว

      Это абстрактный класс, а не абстракция. Абстракция это выделение важных деталей системы.

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

    Ну это реально очень странно без фидбека. Смысл смотреть тогда?

  • @dan.gorbunov
    @dan.gorbunov 2 ปีที่แล้ว +3

    Добрый день. Собеседование обычно проводят по уровням. Как узнать на какой уровень? Иначе пропадает ясность.

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

      на мидла

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

      Middle, ближе к 14-й минуте об этом сказано

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

    Примерно такая идея реализации задачи
    void main() {
    final List list = [1,1,3,7,7,3,2,9,2,5,5];
    int i = 0;
    int result = 0;
    while (list.length > i) {
    int j = 0;
    int b = 0;
    while (list.length > j) {
    if (list[i] == list[j]) {
    b = b + 1;
    }
    j++;
    }
    if (b < 2) {
    result = list[i];
    }
    i++;
    }
    print(result);
    }

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

    очень волнуется...

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

    Абстракция позволяет нам думать широко и элегантно 😂😂😂 чувак не подготовлен - мы таких «ага-угу», «вот» и «да, конечно» на ставку е берём

  • @aux-dn3dg
    @aux-dn3dg ปีที่แล้ว

    это какая-то полная дичь.

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

    Спасибо за видео.
    По решению задачи на ум пришло два решения:
    Рекурсия:
    List findSingleValue(List list) {
    final firstElement = list.first;
    list.removeAt(0);
    if (list.contains(firstElement)) {
    list.removeWhere((currentElement) => currentElement == firstElement);
    return findSingleValue(list);
    } else {
    return [firstElement];
    }
    }
    void main() {
    final list = [1, 1, 2, 2, 3, 3, 5, 5, 7, 9, 9];
    final singleValue = findSingleValue(list);
    print(singleValue.first); // 7
    }
    Set:
    void main() {
    final list = [1, 1, 2, 2, 3, 3, 5, 5, 7, 9, 9];
    final uniqueValue = {};
    list.forEach((element) {
    uniqueValue.contains(element) ? uniqueValue.remove(element) : uniqueValue.add(element);
    });
    print(uniqueValue.first); // 7
    }
    У кого-нибудь есть более элегантные решения?

    • @ТЕХНО2.0
      @ТЕХНО2.0 2 ปีที่แล้ว

      .toSet();

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

      void main() {
      print(findOneEntry([1, 2, 1, 2, 6, 3, 4, 3, 4]));
      }
      int findOneEntry(List nums) {
      int unique = 0;
      for (var i in nums) {
      unique = unique ^ i;
      }
      return unique;
      }
      xor делает свое красиво)

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

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

    • @БорисИлларионов-ш5т
      @БорисИлларионов-ш5т 2 หลายเดือนก่อน

      @@karaoket8911 менять размерность коллекции в цикле - красный флаг. Когда немного элементов ещё не так страшно, но когда много.. перестроения в памяти хорошую такую просидку дают. Хоть и номинально у вас О(n).

    • @БорисИлларионов-ш5т
      @БорисИлларионов-ш5т 2 หลายเดือนก่อน

      final list = [1, 1, 2, 2, 4, 3, 3, 4];
      final resultMap = list.fold({}, (result, item) {
      result.containsKey(item) ? result[item]++ : result[item] = 1;
      return result;
      });
      print(resultMap.entries.singleWhereOrNull((e) => e.value == 1)?.key);