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

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

Вопросы для разбора, предложения можно присылать @dmitryZazulin
Swift Interview - Вопросы для собеседований. Mobile митапы и конференции. pinned «Вопросы будут распределены по хештегам #SwiftInterviewUIKit, #SwiftInterviewRxSwift, #SwiftInterviewArchitecture, #SwiftInterviewGeneral, #SwiftInterviewNotification, #SwiftInterviewMultithreading, #SwiftInterviewMemory, #SwiftInterviewTasks (по мере заполнения…»
Начальный уровнь. Общие вопросы.

Что такое ООП? Для чего нужен ООП?

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

Так же попробуйте ответить на вопрос:
Можете ли вы объяснить высказывание “наследование нарушает инкапсуляцию”?

#SwiftInterviewBeginner #SwiftInterviewGeneral

https://blog.skillfactory.ru/glossary/oop-obektno-orientirovannoe-programmirovanie/
👍3🔥1
Начальный уровень. Архитектура приложения.

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

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

#SwiftInterviewBeginner #SwiftInterviewArchitecture

https://ru.wikipedia.org/wiki/Model-View-Controller
👍7
Начальный уровень. UIKit.

Что такое SafeArea, для чего нужна?

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

#SwiftInterviewBeginner #SwiftInterviewUIKit

https://medium.com/rosberryapps/ios-safe-area-ca10e919526f
👍7
Weekend Offer для мобильных разработчиков от VK уже в эти выходные

🗓️ 3-4 сентября будет проводиться Weekend Offer для мобильных разработчиков в команду Почты и Облака Mail.ru. Это серия экспресс-собеседований, по результатам которых можно получить приглашение в команду.

Узнать все подробности о событии и заполнить анкету можно на сайте: team.vk.company/pochtaoffer.

3 сентября пройдёт знакомство с командой и будут проводиться индивидуальные технические собеседования, 4-го пройдут финальные собеседования, и уже вечером можно получить оффер.

3 сентября познакомим с командой и проведём индивидуальные технические собеседования, 4-го пройдут финальные собеседования, и уже вечером отправим офферы.

Отклики ждут до 2 сентября. Присоединяйтесь! 💙
🔥4
Средний уровень. Notification.

Расскажите что такое Push Notifications, каким образом «пуши» приходят на устройство?

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

#SwiftInterviewMedium #SwiftInterviewNotification

https://medium.com/ios-os-x-development/learn-master-%EF%B8%8F-ios-remote-push-notifications-in-2018-in-under-10-minutes-825ca6bee092
👍6
Продвинутый уровень. Swift.

Диспетчеризация. Типы диспетчеризации.

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

#SwiftInterviewAdvanced #SwiftInterviewSwift

https://youtu.be/0YlN4W6VOH0
👍4
Неделя мобильной разработки на Хабр Карьера 🔥🔥🔥

С 5 по 11 сентября будет проходить неделя мобильно разработки на Хабр Карьере. Компании расскажут о себе в формате коротких видеопитчей. Участвуйте — смотрите, голосуйте, откликайтесь на горячие вакансии. Не пропустите!!!

Все подробности по ссылке ниже 👇👇👇

https://pitch.habr.com/?utm_source=mob22_feature
🔥3
Начальный уровень. Swift.

Чем отличается структура от класса?

Один из основных вопросов, чтобы отсеять кандидата. Если соискатель четко не может ответить, то дальнейший разговор становится формальностью. Так же нужно знать и понимать в каких случаях, что использовать. В качестве бонуса советую ознакомиться с постом про диспетчеризацию, это позволит узнать ещё одно отличие и в дальнейшем перевести собеседование в тему, которая вам знакома😁

#SwiftInterviewBeginner #SwiftInterviewSwift

https://swiftbook.ru/content/languageguide/classes-and-structures/
👍3🔥1
Средний уровень. Архитектура приложения.

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

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

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

#SwiftInterviewMedium #SwiftInterviewArchitecture

https://apptractor.ru/develop/chistaya-arhitektura-na-android-i-ios.html/amp
👍5
Начальный уровень. Общие вопросы.

Чем отличается массив от множества? Когда предпочтителен каждый тип коллекции?

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

Обычно от кандидатов ожидаются подобные ответы:
1) Массив - это упорядоченная коллекция, состоящая из элементов, которые могут быть не уникальными.
2) Множество - это неупорядоченная коллекция из уникальных элементов. Уникальность достигается имплементацией протокола Hashable (его мы разберём в одном из следующих постов).

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

Если при ответе я, например, не слышу про протокол Hashable, то задаю следующий вопрос: не могу ли я в множество добавить кастомный класс, если да, то почему и при каких условиях, если нет, то так же почему? Чтобы не возникали дополнительные вопросы, вы должны стараться иметь такой уровень знаний, который позволял бы давать четкие, краткие, исчерпывающие ответы.

Более подробное описание всех типов коллекций по ссылке снизу 👇👇👇

#SwiftInterviewBeginner #SwiftInterviewGeneral

https://swiftbook.ru/content/languageguide/collection-types/
👍4