Как пройти собеседование на Flutter-разработчика: разбираем вопросы о Dart | Mad Brains Техно

preview_player
Показать описание
00:00 - Вступление
00:14 - План
00:47 - Var
01:29 - Чем отличается var и dynamic?
01:52 - Можем ли изменить тип у var?
02:56 - Что такое dynamic?
03:25 - Как работает nullsafety в dart?
06:34 - От чего наследуются типы?
07:18 - Что такое Never и где его можно использовать?
08:07 - Есть ли тип Null (с большой буквы)?
08:31 - В чём схожи и чем отличается final и const? В чём различия неизменяемости const и final?
09:41 - Все способы применения const
11:05 - Константные конструкторы
12:15 - Можем ли мы изменить объект который final?
12:36 - Если мы создадим final List мы сможем в него что-то добавить?
13:32 - Можем ли мы создать const объект внутри класса с другими объектами? Можно ли их изменять?
14:19 - В чём отличие List и Set?
15:46 - Какие есть виды реализации Set?
16:37 - За какое время происходит поиск (например, contains) по List и Set?
18:50 - По какому принципу происходит сравнение объектов в Set?
19:54 - Чем отличается HashMap и LinkedList?
20:56 - Для чего ключевое слово typedef?
22:34 - Что такое hashCode? Чем hashCode отличается от адреса памяти?
24:55 - Как переопределить сравнение объектов?
26:33 - Почему переопределяется и hashCode, и == (equal)?
27:36 - Как происходит сравнение identical?
30:00 - Можно ли в Dart использовать множественное наследование? Если есть, то с помощью чего?
30:50 - Что такое mixin? Для чего он нужен? Приведи пример
32:50 - Может ли mixin наследоваться от другого класса? Может ли иметь конструктор? Можем ли создать экземпляр mixin’а?
33:10 - Можно ли использовать extend с несколькими классами?
33:39 - Есть ли в dart интерфейсы?
34:18 - Можем ли имплементировать обычный класс? Можем ли имплементировать несколько классов?
35:33 - Что такое абстрактный класс? Можем ли создать экземпляр абстрактного класса?
36:00 - Для чего нужен Abstract для полей классов? В чём отличие Abstract от late?
36:56 - Сходства и отличия у абстрактного класса, mixin?
37:49 - Что такое extension? Для чего он нужен?

Ссылки из наших видео, полезные статьи в телеграм-канале

Стать частью нашей команды

Техно — это внутренний еженедельный митап Mad Brains, на котором мы делимся опытом, знакомимся с актуальными технологиями мобильной и веб-разработки.
Рекомендации по теме
Комментарии
Автор

Интересно, для какой должности такие вопросы. Если эти вопросы только джунам, то тогда вопрос у меня. Это компания по разработке ПО для космических ракет на флаттере?😅
А если серьезно, то, не смотря на то, что видео давно вышло, вопросы и ответы были очень полезными и актуальными. Спасибо, за такую проделанную работу👍

john__freeman
Автор

Здорово, но хотелось бы еще про Render Tree, Element tree и Widget tree пояснения

stryder
Автор

29:15 "Сравнение по значению, а не по ссылке у identical только для интовых и double типов" -- Не совсем, не только для int и double, а для канонических литералов в целом. Т.е. и для строковых тоже:
print(identical('abc', 'abc')); // true
и для константных списков:
print(identical(const [1, 2, 3], const [1, 2, 3])); // true
и т.п.

ilya_
Автор

07:05 улыбнуло. Классный прогон по основам, спасибо!

konstantinkozhukhov
Автор

Спасибо за такой контент! Ждем вторую часть)

cassshew
Автор

Спасибо за отличный контент, это очень полезно

heavenpro
Автор

вася, dynamic тоже ключевое слово )))

ggrnu
Автор

разница между abstract class и abstract interface class есть и заключается в том, что abstract interface class не может содержать реализации в отличии от обычного abstract class

yehoraltshuler
Автор

Супер полезно! А где больше почитать про всё это? Dart lang tour?

mpzdoby
Автор

меня еще спросили как флаттер определяет и находит конст виджеты

CristianoRonaldo-fdtd.
Автор

в 22 вопросе описка в конце кода "... && other.field == field)"

farid.
Автор

Абстракт от late 😅 Интересно, кто вообще такие вопросы задаёт?!

oleksiimuliar
Автор

П.21 — про айдентити хэшкод в конце вообще нифига не понял. Такие вещи лучше на примерах объяснять

ilya_