November 29, 2023

Моковые собеседования

Mock interview, по разным направлениям и позициям. Помните, что перед походом на реальное собеседование всегда стоит пройти моковое, так как от этого будет зависеть ваш результат, от найма и до заработной платы.


Middle iOS Developer

  • Углубились по вопросам памяти, плюс практика.
  • Практика по ARC. Две задачи: на соответсвие, проведение код-ревью.
  • Многопоточность: от классики до modern concurrency.

1) ПАМЯТЬ И ВСЕ О НЕЙ

  • Расскажи про две семантики типов данных.
  • Сценарии, когда value type не хранится на стеке.
  • Сценарии, когда ref type не хранится на heap.
  • Влияет ли размер value type на размещение в памяти?
  • Что можешь рассказать про сценарий, когда value type захватывается замыканием?
  • Когда бы стал использовать тип данных value и тип данных reference?
  • Задача про mutating.
  • Какие сегменты памяти кроме стека и кучи еще существуют?
  • Перечисли все инициализаторы в Swift.
  • Расскажи пару слов о каждом.
  • Расскажи пожалуйста, по какой причине в class в отличие от struct, надо указывать конструктор?

2) ARC

  • Расскажи про управление памятью в Swift.
  • Расскажи про управление памятью в Objc.
  • Разница между ARC и MRC?
  • Что такое retain cycle?
  • Разница между weak и unowned?
  • Можешь рассказать когда бы применил unowned в виде примера в коде
  • Расскажи про Autreleasepool, что это зачем?
  • Что знаешь про Side Table, для чего оно?
  • При каких обстоятельствах появляется Side Table?
  • Что удаляется из памяти первое: объект или side table?
  • Может ли быть retain cycle при одной сильной ссылке?
  • Как при помощи memory graph'a найти утечку памяти?
  • Что такое Tagged point? 1 минута (**Со звездочкой**)
  • Задача на расстановку
  • Задача на URL Session

3) Многопоточность

  • Что такое многопоточность?
  • Какие инструменты существуют в iOS SDK для достижения многопоточности?
  • Можешь рассказать разницу между serial и concurrent?
  • Главная очередь serial or concurrent?
  • Почему главная очередь serial?
  • Расскажи про актор?
  • Расскажи про атомарность.
  • Расскажи про реентерабельность акторов? А актор hopping?

4) Коллекции

  • Какие ты знаешь коллекции в стандартной библиотеке свифта?
  • Расскажи когда использовал бы только: Array, Dictionary, Set.
  • Расскажи про то, как бы ты искал проблему и какие есть вообще если collection view лагает?

Ссылка для просмотра: boosty


Middle / Middle+ iOS Developer

SOLID:

  • Описание, рассказать немного про каждую.
  • Решение задачи #1 на выяснения проблемы и решение её.
  • Решение задачи #2 на выяснения проблемы и решение её.
  • DI: описание, типы, для чего нужно.

Память:

  • Виды памяти?
  • Описание стека.
  • Описание stack pointer'a?
  • Описание base pointer'a?
  • Когда использовать стек?
  • Описание кучи.
  • Разница между class от struct.
  • Что такое ключевое слово mutating?
  • Решение задачи с замыканием.

Concurrency:

  • Что это и для чего?
  • С чем работал?
  • Что такое очередь?
  • Что такое задача?
  • Решение задачи на проблему многопоточности.

Structured Concurrency:

  • Что это такое?
  • Плюсы SC?
  • Минусы SC?
  • Что такое Cooperative pool?
  • Что такое Task?
  • Что такое Task.yeld?
  • Рассказать про приоритет.
  • Что такое Task.isCancelled?
  • Рассказать про async/await.
  • Рассказать про actor.
  • Что такое Actor hopping?
  • Что такое реентрабильность actor'a?

SwiftUI:

  • Рассказать про property wrappers.
  • Разница между SO и OO?
  • Рассказать про identity.
  • Рассказать про AnyView.
  • Рассказать про отрисовку.
  • Решение задачи ревью + рефакторинг.

Проектирование экрана:

  • Описать по картинке, какие инструменты использовал бы для написания экрана.
  • Рассказал про пагинацию.
  • Обсуждение GeometryReader'a.
  • Рассказал про поиск.
  • Разница между debounce и throttle.

Подведение итогов и фидбек.

Ссылка для просмотра: boosty | телеграмм


System design: Delivery Club

Всем привет, в этом видео затронули тематику system design секции, постарались проэмулировать. Затронули тему хранения, взаимодействия модулей, API и многое другое. Ставьте классы и пишите комментарии, если хотелось бы повторить данный вид интервью, обмял!

Ссылка для просмотра: boosty


OOP, SOLID, KISS / DRY: Jun+ / middle

  • SOLID
  • OOP
  • KISS
  • DRY
  • Композиция vs наследование

Общий фидбек по прохождение + советы из практики + нюансы. на которые стоит обратить внимание.

Ссылка для просмотра: boosty


Разбор секции design review на SwitUI

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

Сорри за качество, подписчик просил именно этот скрин, поэтому особо не ругайтесь, надеюсь будет на пользу.

Ссылка для просмотра: boosty