Swift Interview - Вопросы для собеседований. Mobile митапы и конференции.
161 subscribers
9 photos
28 links
При интервью кандидаты часто сталкиваются с вопросами, которые не встречали или разбирали поверхностно. Это касается как и сложных, так и простых тем. На канале вопросы будут систематизироваться по сложности и темам
Download Telegram
Вопросы будут распределены по хештегам #SwiftInterviewUIKit, #SwiftInterviewRxSwift, #SwiftInterviewArchitecture, #SwiftInterviewGeneral, #SwiftInterviewNotification,
#SwiftInterviewMultithreading,
#SwiftInterviewMemory,
#SwiftInterviewTasks (по мере заполнения количество тем будет увеличиваться). И по сложности #SwiftInterviewBeginner, #SwiftInterviewMedium, #SwiftInterviewAdvanced. В начале большинство вопросов будут для начального уровня, затем будут разбираться более сложные темы.

Так же будут ссылки на мобильные конференции и митапы, на которых можно узнать что-то новое и повысить свой уровень. Надеюсь, канал найдут полезным как начинающие, так и продвинутые разрабочики

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

Что значит аббревиатура М в архитектурных паттернах MVC, MVP, MVVM?

На первый взгляд простой вопрос, но многие джуны путают Model с некой Entity. Статей в интернете много, но нужно внимательно ознакомиться, что значит каждая аббревиатура, как движутся данные.

#SwiftInterviewBeginner #SwiftInterviewArchitecture

https://ru.wikipedia.org/wiki/Model-View-Controller
👍7
Средний уровень. Архитектура приложения.

Как вы понимаете понятие «Чистая архитектура»?

При ответе многие начинают путать понятия «чистая архитектура» и «чистый код», хотя понимание этих принципов очень важно для того чтобы стать качественным программистом. Само понятие «чистая архитектура» появилось в одноименной статье Роберта Мартина, так же уже есть его книга на данную тему. По ссылке ниже вы сможете ознакомиться с основными принципами данной концепции. 👇👇👇

Возможно вы не сразу поймёте для чего нужно разделение приложения на слои, поэтому приведу пример. Условно вы используете архитектуру Viper (можно и MVVM, не столь важно), для хранения данных - CoreData. По этой концепции о CoreData и ее моделях будет знать только сервис, который непосредственно отвечает за работу с БД, и который будет внутри себя перерабатывать «кордатовские» модели в другие сущности для передачи в другой слой. И если появится задача перевести хранение данных на Realm, то вся ваша работа должна свестись к переработке только одного сервиса, потому что ни interactor, ни тем более другие компоненты архитектуры не используют «кордатовие модели» и не знают о текущей БД, соответсвенно вам не придётся менять «пол» приложения. Это очень удобно и практично. 😉

#SwiftInterviewMedium #SwiftInterviewArchitecture

https://apptractor.ru/develop/chistaya-arhitektura-na-android-i-ios.html/amp
👍5
Начальный уровень. Архитектура приложения.

Чем отличается активная и пассивная модель в MVC?

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

#SwiftInterviewBeginner
#SwiftInterviewArchitecture

http://rsdn.org/article/patterns/ModelViewPresenter.xml
👍3