@@MobileDeveloper Да нет, не всё так плохо. Интересно в целом, общо так. Про вёрстку, что там вместо ресайклера я так и не понял:D Про подключение сторонних фреймворков. Какие-то такие вещи. Общее впечатление не смазало то что много всего в диковинку, конечно. Много годной инфы. Систем дизайн вообще всегда полезно послушать, кто бы ты ни был
Много негатива в комментах, человек согласился на публичный собес это уже стоит уважения, видно что нервничает из-за этого возможно и тупит на некоторых вопросах, в комментах вижу одни сеньеры.
Было бы интересно в следующий раз более развёрнуто услышать про Coredata vs Realm и про боль, с которой пришлось столкнуться при использовании этих орм
Изначально начали закрадываться сомнения в сеньерности данного кандидата. А после восьмой минуты даже захотелось прекратить просмотр, но досмотрю, может быть исправится)
Не в оправдание себе, но пересмотрев, скорее всего бы согласился, начало не очень внятное, особенно зафакапился на вопросе "почему" 🙃, в такой обстановке думается труднее) и многие вещи "в другой обстановке" ответил бы совсем по другому. Где то был классный мем про качество мозговой деятельности в зоне и вне зоны комфорта. Ну а если будут конструктивные замечания, с удовольствием прочитаю, может что то новое узнаю)
Досмотрел. Ну начнем с того, что было дано весьма абстрактное описание проекта. Наверно стоило бы задать ряд уточняющих вопросов. Узнать насколько серьезные планы у заказчика. Я не иос-разработчик, но насколько я смог понять многое обсуждалось весьма поверхностно. А если мы считаем, что разница между мидлами и синьорами в глубине знаний, то синьор мог бы либо перечислить несколько вариантов и назвать плюсы и минусы, либо обосновано выбрать один, исходя из уточняющих вопросов. Ещё мне кажется не хватило какого-нибудь сложного вопроса "на подумать". Например пользователь открывает приложение, необходимо получить с сервера новые письма. Как это должно быть устроено? И тут ожидаются рассуждения от соискателя. Какие подводные камни могут быть? Как он справлялся бы с ними? и т.д.
Спасибо, Митя, очень крутой комментарий реально. Пытаясь делать дизайн интервью, я столкнулся с тем, что в снг их практически никто не делает и не проводит, и это накладывает отпечаток на их качество безусловно. В фаангах всяких это целый ритуал, нужно задать вопросы вначале, обрисовать жестко картину, а потом делать. Вопросы на будущее учту, спасибо, планирую ещё сделать ряд таких интервью, думаю качество будет расти )
Все время считал себя Миддл)) Послушал ответы этого парня и понял что я Синиор плюс 🤣!) Объективно он слаб для Синьора , ответ про память настолько слабый , что мне показалось он вообще не разу не решал проблемы утечики памяти)) Очень слыбые ответы про архитектуру , глубины вообще нет , на мой взгляд единственный аргумент между выбором архитектуры - это та с которой чаще и больше опыта , так как если реально понимаешь суть архитектуры то разницы нет вообще на какой писать , грамотно и модульно написаное приложение прекрасно работает и на MVC . Уровень разработчика - это модульность и правильная связь этих модулей , легкая простая и понятная ! Это играет роль , в архитектуре, а не сама архитектура )) Про дедлок - это вообще , так рассказывать с трудом ))) Жесть ))) Про пуши и фаирбеис должен знать любой, это типичные будни прогера))) На какую ЗП он может претендовать ?
@@Architect_Mobile Окей, допустим... Тогда "ответ про память настолько слабый..." можешь ли разобрать ответ и указать конкретно "вот это плохо сказал", Senior Developer сказал бы так то так то. Буду рад прочитать четкий ответ от опытного специалиста.
@@dyadichev Middle от Senior отличается умением кодить в широком смысле , а не буквально )) Если уходить в детали , то Senior - это больше не работяга , а человек который умеет мыслить на несколько шагов вперед опираясь на опыт и базовые знания . Который максимально быстро может принимать ключевые технические решения по проекту с минимальными ошибками .
Интересное собеседование. Спасибо Алексею и Виталию. Вполне позволяет сформировать представление о навыках и знаниях собеседуемого. От себя добавлю, что есть разного рода обёртки для core data, позволяющие работать с ней, исключительно, в декларативном стиле, такие, как CoreStore, что очень удобно. Плюсом, хотелось бы услышать о различных build-конфигурациях приложения (аналог android-овским product flavors). Достаточно часто нужная и требуемая бизнесом задача. И ещё логику работы с network-ом я бы выделил в отдельный модуль/pod, и из репозитория общался бы с ним через интерфейс/протокол (привет SOLID).
@@MobileDeveloper да, и я про то же... и вопрос почему как раз должен был бы раскрыть почему. Но в очередной раз я так и не услышал почему ? :) Притом что я все таки сделал над собой усилие, начал читать книгу "Чистая архитектура" Роберта Мартина. И я понимаю сейчас почему она была придумана. И что большинство тех статей и тех видео про чистую архитектуру люди просто не понимают что и зачем это вообще. И вот на это вот смотреть действительно забавно. архитектура архитектурой, но переусложнять на старте, ну такое себе
@@rudinandrey Полностью с тобой согласен. Не знаю почему растерялся в тот момент и не рассказал про то, что вообще можем взять и разобрать каждую из них. Если еще раз понадобится ответить, уже не растеряюсь)
- ну я бы использовал мввм с реактивщиной - а если без либ? - напилил бы свою реактивщину странное решение, учитывая момент, что на его место посадят джуна/мидла для фикса багов, где тот и умрет, ибо нет документации/опыта.
вообще после этого диалога подумал, что видео за 2018 год. а не. свежак. какой там юайсвифт, зачем он нужен, втулю реактивщину, от которой либо плюются, либо суют ее куда только могут.
- а что по DI? - ну, свинжект - а если без либ? - напилил бы свой свинжект мне кажется, что интервьюверу хотелось услышать альтернативные методы реализации, как и в случае с реактивщиной.
досмотрел до конца. спасибо ребятам за интересное интервью. не увидел смысла в поверхностных вопросах по управлению памятью и чем отличается структура от класса) айосеров это спрашивают начиная с первого собеса и пока не станут синьорами. ожидал погружения в сайд тейблс, авторелиз пул, тейбл диспатч и т.д. я сам не знаю на это ответы, поэтому был очень заинтересован))
Ну в целом да, я скорее задавал вопросы на альтернативы, потому что часто очень все решается библиотеками без захода внутрь, а интересен как раз этот момент Ноо я довольно много в своей жизни провёл собеседований по iOS и могу сказать что это везде так практически) ну то есть редко встречаю людей, которые прям глубоко копают. И идея была показать систем дизайн интервью, то есть вот как человек объяснит как бы он построил систему. Понятно что перед этими блоками как правило идут другие блоки, которые могут как раз проверять на глубину, но тут видео одно, поэтому так )
Привет! Вставлю свои 5 копеек) если это в принципе уже уместно). Почему MVVM: На мой взгляд, простой и понятный паттерн представления (подчеркну - не архитектура, а именно паттерн представления), разделяющий логику и I/O компонента. Достаточно прост в освоении даже начинающим. Почему реактивщина, а не новомодный SwiftUI: Моим упущением было не задать вопрос, какая минимальная версия iOS требуется, если iOS 14, то безоговорочно это был бы SwiftUI, возможно с другой архитектурой. iOS 13 не обсуждается, слишком мало даёт возможностей. Но такие приложения, как почтовые клиенты/чаты по умолчанию должны поддерживать максимально минимальную версию, соответсвенно SwiftUI тут и не пахнет. В настоящий момент в компании, где работаю, мы поддерживаем iOS 10 и из за специфики проекта, планируем понижение до iOS 9, такая уж привычка). Почему реактивщина: минимум шаблонного кода, вложенности, удобное управление многопоточностью, и прочая куча удобств, простоты и возможностей для того же I/O. Да, есть и расплата за это в виде побочки, но зависит от опыта разработчика и ревьювера как это использовать и соответсвенно тестирования. Тут уже больше вопрос к организации команды и помощи в освоении. Про DI: почему Swinject и если не Swinject то реализация подхода Swinject: Имеется контейнер, фабрики отделены в Assembly классы, а не в статиках классов, удобное управление скоупом переиспользования инстансов в рамках скоупов и тд, именованые резолвы с разными аргументами одних и тех же инстансов, много всего можно сказать. Много может быть других реализаций DI, но так как вопрос был про то что я бы использовал, я рассказал). Мог конечно рассказать про альтернативы, но хоть во время общения с Алексеем и была очень спокойная и дружелюбная атмосфера, все равно микро нервозность присутствовала и рассуждение получалось не совсем такое, какое было бы в обычной зоне комфорта с коллегами. Не каждый день прохожу собесы)
Взглянул я как-то на кордату и подумал ну нафиг мне этот геморрой буду хранить в обычных файлах. И нормально проблем не знаю. Конечно если не требуется делать какие-то сложные селекты по базе.
В России большой дефицит кадров, да и в целом это норм зарплата для миддла сейчас В сша другая структура собеседований, поэтому имхо некорректно сравнивать )
Продолжаю писать UI на Xib в 2023 (to clarify: я не чувак из видео) "вы просто не умеете его готовить". В SwiftUI только появилась поддержка навигации (WAT?), а написание UI из кода - для особых мазохистов
Сеньеры, которых мы заслужили)
Да вроде и неплохо. Свою работу он точно делать сможет
Ничего не понятно, но очень интересно:D
Виталию как синьору, согласившемуся на публичный собес, огромный респект. Лайк.
Прям совсем ничего или всё-таки что-то понятно?)
@@MobileDeveloper Да нет, не всё так плохо. Интересно в целом, общо так. Про вёрстку, что там вместо ресайклера я так и не понял:D Про подключение сторонних фреймворков. Какие-то такие вещи. Общее впечатление не смазало то что много всего в диковинку, конечно. Много годной инфы. Систем дизайн вообще всегда полезно послушать, кто бы ты ни был
Согласен, моя любимая часть интервью )
@@MobileDeveloper Ещё ссылочку на репозиторий Виталия прикрепить было бы хорошо)
О, точно, спасибо. Прикрепил
-knock knock
-race condition
--who's there?
)))
DiffableDataSource такой - "да, да, пошел я нахер"
Много негатива в комментах, человек согласился на публичный собес это уже стоит уважения, видно что нервничает из-за этого возможно и тупит на некоторых вопросах, в комментах вижу одни сеньеры.
Отлично. Когда перекатываешься с андроид разрабоки на айос, такие видео на вес золота. Алексей, спасибо 💥
Рад, что зашло ))
Ты предал семью
Спасибо большое! Всё интересно и почти знакомо , хотя еще зеленый в этом. Спасибо ребят за материал, полезно и для подготовки и для общего развития !
Было бы интересно в следующий раз более развёрнуто услышать про Coredata vs Realm и про боль, с которой пришлось столкнуться при использовании этих орм
Это заслуживает отдельного видео 😂
Очень не хватает итогового анализа что было хорошо, что плохо. А то после просмотра остается чувство незавершенности
Изначально начали закрадываться сомнения в сеньерности данного кандидата. А после восьмой минуты даже захотелось прекратить просмотр, но досмотрю, может быть исправится)
Прошу более подробный комментарий)
Не в оправдание себе, но пересмотрев, скорее всего бы согласился, начало не очень внятное, особенно зафакапился на вопросе "почему" 🙃, в такой обстановке думается труднее) и многие вещи "в другой обстановке" ответил бы совсем по другому. Где то был классный мем про качество мозговой деятельности в зоне и вне зоны комфорта. Ну а если будут конструктивные замечания, с удовольствием прочитаю, может что то новое узнаю)
Досмотрел.
Ну начнем с того, что было дано весьма абстрактное описание проекта. Наверно стоило бы задать ряд уточняющих вопросов. Узнать насколько серьезные планы у заказчика.
Я не иос-разработчик, но насколько я смог понять многое обсуждалось весьма поверхностно. А если мы считаем, что разница между мидлами и синьорами в глубине знаний, то синьор мог бы либо перечислить несколько вариантов и назвать плюсы и минусы, либо обосновано выбрать один, исходя из уточняющих вопросов.
Ещё мне кажется не хватило какого-нибудь сложного вопроса "на подумать". Например пользователь открывает приложение, необходимо получить с сервера новые письма. Как это должно быть устроено? И тут ожидаются рассуждения от соискателя. Какие подводные камни могут быть? Как он справлялся бы с ними? и т.д.
Держался хорошо. Понятно, что это не с коллегами за кружечкой кофе беседовать. Можно и перенервничать, и накрутить
Спасибо, Митя, очень крутой комментарий реально. Пытаясь делать дизайн интервью, я столкнулся с тем, что в снг их практически никто не делает и не проводит, и это накладывает отпечаток на их качество безусловно. В фаангах всяких это целый ритуал, нужно задать вопросы вначале, обрисовать жестко картину, а потом делать. Вопросы на будущее учту, спасибо, планирую ещё сделать ряд таких интервью, думаю качество будет расти )
Cool, many thanks!
Все время считал себя Миддл)) Послушал ответы этого парня и понял что я Синиор плюс 🤣!) Объективно он слаб для Синьора , ответ про память настолько слабый , что мне показалось он вообще не разу не решал проблемы утечики памяти)) Очень слыбые ответы про архитектуру , глубины вообще нет , на мой взгляд единственный аргумент между выбором архитектуры - это та с которой чаще и больше опыта , так как если реально понимаешь суть архитектуры то разницы нет вообще на какой писать , грамотно и модульно написаное приложение прекрасно работает и на MVC . Уровень разработчика - это модульность и правильная связь этих модулей , легкая простая и понятная ! Это играет роль , в архитектуре, а не сама архитектура )) Про дедлок - это вообще , так рассказывать с трудом ))) Жесть ))) Про пуши и фаирбеис должен знать любой, это типичные будни прогера))) На какую ЗП он может претендовать ?
Посмотрев со стороны, у меня скорее всего тоже сложилось бы такое мнение) Но можно ли посмотреть твой github? Может вдохновлюсь чем-нибудь :)
@@vitkuzmenko Мой гитхаб исключительно из боевых коммерческих проектов) Которых больших более 10 , мелких более 15
@@Architect_Mobile Окей, допустим... Тогда "ответ про память настолько слабый..." можешь ли разобрать ответ и указать конкретно "вот это плохо сказал", Senior Developer сказал бы так то так то. Буду рад прочитать четкий ответ от опытного специалиста.
Если ты думаешь что мидл от сеньора отличаются умением кодить, ты долго будешь еще в мидлах😂
@@dyadichev Middle от Senior отличается умением кодить в широком смысле , а не буквально )) Если уходить в детали , то Senior - это больше не работяга , а человек который умеет мыслить на несколько шагов вперед опираясь на опыт и базовые знания . Который максимально быстро может принимать ключевые технические решения по проекту с минимальными ошибками .
Интересное собеседование. Спасибо Алексею и Виталию. Вполне позволяет сформировать представление о навыках и знаниях собеседуемого. От себя добавлю, что есть разного рода обёртки для core data, позволяющие работать с ней, исключительно, в декларативном стиле, такие, как CoreStore, что очень удобно. Плюсом, хотелось бы услышать о различных build-конфигурациях приложения (аналог android-овским product flavors). Достаточно часто нужная и требуемая бизнесом задача. И ещё логику работы с network-ом я бы выделил в отдельный модуль/pod, и из репозитория общался бы с ним через интерфейс/протокол (привет SOLID).
Возможно это будет в следующих интервью ))
Спасибо!
Спасибо за поддержку канала!
интересно глянуть статью гед вайпер цикличний ))))))
mvc top!
:))) как мне нравится задавать вопрос "почему" ? ) почему чистая архитектура? и тут парнишка поплыл.
Многие вещи берутся на автомате. Так называемые gold standard. Но полезно понимать почему именно эти вещи, а не другие
@@MobileDeveloper да, и я про то же... и вопрос почему как раз должен был бы раскрыть почему. Но в очередной раз я так и не услышал почему ? :) Притом что я все таки сделал над собой усилие, начал читать книгу "Чистая архитектура" Роберта Мартина. И я понимаю сейчас почему она была придумана. И что большинство тех статей и тех видео про чистую архитектуру люди просто не понимают что и зачем это вообще. И вот на это вот смотреть действительно забавно. архитектура архитектурой, но переусложнять на старте, ну такое себе
Это удобно при работе над средним приложением со среднего размера командой.
@@rudinandrey Полностью с тобой согласен. Не знаю почему растерялся в тот момент и не рассказал про то, что вообще можем взять и разобрать каждую из них. Если еще раз понадобится ответить, уже не растеряюсь)
Вообще не ожидал здесь увидеть человека, с которым когда-то работал. Вдвойне интереснее послушать
😊
Ничего не понятно, но очень интересно[2](C)
Ну вот и повод изучить )
Ещё не всё про слушал. Но у меня стойки флешбеки особенно после слова логин, вот бы ещё ключевую фразу в дополнение к паролю)
😂😂 помню, помню )
Где учиться на iOS разработчика в 2022 году)?
Могу посоветовать школу SwiftBook
Спасибо. А по Android ?
JavaBook или KotlinBook - должно быть по аналогии 😂
@@ill_threads1628 🤣
- ну я бы использовал мввм с реактивщиной
- а если без либ?
- напилил бы свою реактивщину
странное решение, учитывая момент, что на его место посадят джуна/мидла для фикса багов, где тот и умрет, ибо нет документации/опыта.
вообще после этого диалога подумал, что видео за 2018 год. а не. свежак. какой там юайсвифт, зачем он нужен, втулю реактивщину, от которой либо плюются, либо суют ее куда только могут.
- а что по DI?
- ну, свинжект
- а если без либ?
- напилил бы свой свинжект
мне кажется, что интервьюверу хотелось услышать альтернативные методы реализации, как и в случае с реактивщиной.
досмотрел до конца. спасибо ребятам за интересное интервью. не увидел смысла в поверхностных вопросах по управлению памятью и чем отличается структура от класса) айосеров это спрашивают начиная с первого собеса и пока не станут синьорами. ожидал погружения в сайд тейблс, авторелиз пул, тейбл диспатч и т.д.
я сам не знаю на это ответы, поэтому был очень заинтересован))
Ну в целом да, я скорее задавал вопросы на альтернативы, потому что часто очень все решается библиотеками без захода внутрь, а интересен как раз этот момент
Ноо я довольно много в своей жизни провёл собеседований по iOS и могу сказать что это везде так практически) ну то есть редко встречаю людей, которые прям глубоко копают. И идея была показать систем дизайн интервью, то есть вот как человек объяснит как бы он построил систему. Понятно что перед этими блоками как правило идут другие блоки, которые могут как раз проверять на глубину, но тут видео одно, поэтому так )
Привет! Вставлю свои 5 копеек) если это в принципе уже уместно). Почему MVVM: На мой взгляд, простой и понятный паттерн представления (подчеркну - не архитектура, а именно паттерн представления), разделяющий логику и I/O компонента. Достаточно прост в освоении даже начинающим. Почему реактивщина, а не новомодный SwiftUI: Моим упущением было не задать вопрос, какая минимальная версия iOS требуется, если iOS 14, то безоговорочно это был бы SwiftUI, возможно с другой архитектурой. iOS 13 не обсуждается, слишком мало даёт возможностей. Но такие приложения, как почтовые клиенты/чаты по умолчанию должны поддерживать максимально минимальную версию, соответсвенно SwiftUI тут и не пахнет. В настоящий момент в компании, где работаю, мы поддерживаем iOS 10 и из за специфики проекта, планируем понижение до iOS 9, такая уж привычка). Почему реактивщина: минимум шаблонного кода, вложенности, удобное управление многопоточностью, и прочая куча удобств, простоты и возможностей для того же I/O. Да, есть и расплата за это в виде побочки, но зависит от опыта разработчика и ревьювера как это использовать и соответсвенно тестирования. Тут уже больше вопрос к организации команды и помощи в освоении. Про DI: почему Swinject и если не Swinject то реализация подхода Swinject: Имеется контейнер, фабрики отделены в Assembly классы, а не в статиках классов, удобное управление скоупом переиспользования инстансов в рамках скоупов и тд, именованые резолвы с разными аргументами одних и тех же инстансов, много всего можно сказать. Много может быть других реализаций DI, но так как вопрос был про то что я бы использовал, я рассказал). Мог конечно рассказать про альтернативы, но хоть во время общения с Алексеем и была очень спокойная и дружелюбная атмосфера, все равно микро нервозность присутствовала и рассуждение получалось не совсем такое, какое было бы в обычной зоне комфорта с коллегами. Не каждый день прохожу собесы)
странно, что человек писал 4 года на MVC и у него даже не возникло ощущения, что есть проблемы
Имхо, на iOS это очень частая история
Ну вообще говоря, самой проблемы в MVC нет, есть проблемы в криворуких разрабах. Если правильно декомпозировать, то все ок и тестируемо
Взглянул я как-то на кордату и подумал ну нафиг мне этот геморрой буду хранить в обычных файлах. И нормально проблем не знаю. Конечно если не требуется делать какие-то сложные селекты по базе.
Кордата да штука специфическая
Интересно было бы услышать на какую ЗП мог бы рассчитывает кандидат с такого уровня знаниями :)
250К примерно около этой суммы, ну +-
@@MobileDeveloper Легче на иностранные компании работать где 6-8 к баксов зарплата
@@MobileDeveloper ну я бы несказал что это собес на 250к ) В США это на 1к бачей максимум знаний )
В России большой дефицит кадров, да и в целом это норм зарплата для миддла сейчас
В сша другая структура собеседований, поэтому имхо некорректно сравнивать )
@@MobileDeveloper В России в целом они скоро ненужны вообще будут, так как из за спецопераций правительсво убило и утопило все ((
В 2021 году писать юай на xib? Ужас
Продолжаю писать UI на Xib в 2023 (to clarify: я не чувак из видео)
"вы просто не умеете его готовить".
В SwiftUI только появилась поддержка навигации (WAT?), а написание UI из кода - для особых мазохистов
вопросы для джунов, виталий учи английский
Есть капитан!)
простите Виталий но вы не senior) удачи!