Вопросы будут распределены по хештегам #SwiftInterviewUIKit, #SwiftInterviewRxSwift, #SwiftInterviewArchitecture, #SwiftInterviewGeneral, #SwiftInterviewNotification,
#SwiftInterviewMultithreading,
#SwiftInterviewMemory,
#SwiftInterviewTasks (по мере заполнения количество тем будет увеличиваться). И по сложности #SwiftInterviewBeginner, #SwiftInterviewMedium, #SwiftInterviewAdvanced. В начале большинство вопросов будут для начального уровня, затем будут разбираться более сложные темы.
Так же будут ссылки на мобильные конференции и митапы, на которых можно узнать что-то новое и повысить свой уровень. Надеюсь, канал найдут полезным как начинающие, так и продвинутые разрабочики
Вопросы для разбора, предложения можно присылать @dmitryZazulin
#SwiftInterviewMultithreading,
#SwiftInterviewMemory,
#SwiftInterviewTasks (по мере заполнения количество тем будет увеличиваться). И по сложности #SwiftInterviewBeginner, #SwiftInterviewMedium, #SwiftInterviewAdvanced. В начале большинство вопросов будут для начального уровня, затем будут разбираться более сложные темы.
Так же будут ссылки на мобильные конференции и митапы, на которых можно узнать что-то новое и повысить свой уровень. Надеюсь, канал найдут полезным как начинающие, так и продвинутые разрабочики
Вопросы для разбора, предложения можно присылать @dmitryZazulin
Средний уровень. Многопоточность.
GCD. Как вы понимаете последовательные и параллельные очереди. Синхронное и асинхронное выполнение заданий.
Многопоточность достаточная сложная тема для понимания для многих новичков, но вопросы на собеседованиях на данную тему задают часто, поэтому постараемся разобраться с ней. Но если говорить в общем, если вы хотите стать хорошим качественным программистом, то без понимания этой темы вам просто не обойтись.
Особенностью работы iOS является то, что большое внимание система уделяет отрисовке именно UI, которая происходит только на главном потоке main thread, соответсвенно его нужно стараться разгружать от тяжелых задач, которые могут привести к фризам, что сильно раздражает конечных пользователь. Пожалуй, разгрузка главного потока - это самая частая задача, которую вам придётся делать.
Возьмём самый очевидный пример, вы листаете ленту, где много картинок, в этом момент вся загрузка информации должна происходить
на бекграунд потоке, а вся отрисовка изображений на главном.
Но помимо этого с помощью многопоточности можно решать ряд других задач таких как, выполнение параллельных вычислений, ограничение доступа к ресурсам по приоритетам и т.д.
Самый популярный инструмент для работы с многопоточностью - это Grand Central Dispatch или сокращённо GCD, поэтому мы с него и начали. Поставленный вопрос является тоже начальным.
Вкратце ответ приблизительно должен быть таким: в GCD мы работаем с потоками не напрямую, а через очереди, очереди бывают последовательные serial (в этом случае задачи выполняются последовательно друг за другом на одном потоке, и одновременно выполняется только одна задача) и параллельные concurrent (в этом случае задачи выполняются последовательно друг за другом на нескольких доступных потоках, и соответсвенно одновременно может выполняться несколько задач). Задачи берутся из очереди по принципу FIFO (first in first out). Задачу можно добавить как синхронно sync (в этом случае блокируется поток, на котором она добавлена, пока задача не выполниться), так и асинхронно async (в этом случае задача не блокирует поток, а сразу отпускает его после добавления в очередь).
Более подробно по ссылке снизу👇👇👇
https://habr.com/ru/post/320152/
#SwiftInterviewMedium
#SwiftInterviewMultithreading
GCD. Как вы понимаете последовательные и параллельные очереди. Синхронное и асинхронное выполнение заданий.
Многопоточность достаточная сложная тема для понимания для многих новичков, но вопросы на собеседованиях на данную тему задают часто, поэтому постараемся разобраться с ней. Но если говорить в общем, если вы хотите стать хорошим качественным программистом, то без понимания этой темы вам просто не обойтись.
Особенностью работы iOS является то, что большое внимание система уделяет отрисовке именно UI, которая происходит только на главном потоке main thread, соответсвенно его нужно стараться разгружать от тяжелых задач, которые могут привести к фризам, что сильно раздражает конечных пользователь. Пожалуй, разгрузка главного потока - это самая частая задача, которую вам придётся делать.
Возьмём самый очевидный пример, вы листаете ленту, где много картинок, в этом момент вся загрузка информации должна происходить
на бекграунд потоке, а вся отрисовка изображений на главном.
Но помимо этого с помощью многопоточности можно решать ряд других задач таких как, выполнение параллельных вычислений, ограничение доступа к ресурсам по приоритетам и т.д.
Самый популярный инструмент для работы с многопоточностью - это Grand Central Dispatch или сокращённо GCD, поэтому мы с него и начали. Поставленный вопрос является тоже начальным.
Вкратце ответ приблизительно должен быть таким: в GCD мы работаем с потоками не напрямую, а через очереди, очереди бывают последовательные serial (в этом случае задачи выполняются последовательно друг за другом на одном потоке, и одновременно выполняется только одна задача) и параллельные concurrent (в этом случае задачи выполняются последовательно друг за другом на нескольких доступных потоках, и соответсвенно одновременно может выполняться несколько задач). Задачи берутся из очереди по принципу FIFO (first in first out). Задачу можно добавить как синхронно sync (в этом случае блокируется поток, на котором она добавлена, пока задача не выполниться), так и асинхронно async (в этом случае задача не блокирует поток, а сразу отпускает его после добавления в очередь).
Более подробно по ссылке снизу👇👇👇
https://habr.com/ru/post/320152/
#SwiftInterviewMedium
#SwiftInterviewMultithreading
Хабр
Многопоточность (concurrency) в Swift 3. GCD и Dispatch Queues
Надо сказать, что многопоточность (сoncurrency) в iOS всегда входит в вопросы, задаваемые на интервью разработчикам iOS приложений, а также в число топ ошибок, к...
👍5🔥3
Средний уровень. Многопоточность.
Задача на изображении. Что выведется на экран?
Алоха друзья! Сегодня мы начнём разбирать ещё одну часть большинства собеседований — задачи. Не думайте, что всегда это обязательно какие-то сложные алгоритмы или кейсы (хотя надо быть и готовым и к ним). Независимо от роли на которую вы претендуете могут быть и несложные примеры на проверку знаний. Данная задача по многопоточности мне попалась на двух собеседованиях подряд в большие финтех компании. Попробуйте решить сами перед тем как посмотреть ответ 👇👇👇.
#SwiftInterviewMedium
#SwiftInterviewMultithreading
#SwiftInterviewTasks
Задача на изображении. Что выведется на экран?
Алоха друзья! Сегодня мы начнём разбирать ещё одну часть большинства собеседований — задачи. Не думайте, что всегда это обязательно какие-то сложные алгоритмы или кейсы (хотя надо быть и готовым и к ним). Независимо от роли на которую вы претендуете могут быть и несложные примеры на проверку знаний. Данная задача по многопоточности мне попалась на двух собеседованиях подряд в большие финтех компании. Попробуйте решить сами перед тем как посмотреть ответ 👇👇👇.
#SwiftInterviewMedium
#SwiftInterviewMultithreading
#SwiftInterviewTasks
👍10🔥2