Skip to content

Nek1tko/ios

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Домашнее задание

Общее

Все материалы лекций лежат в 2020-spring/lectures

Раздел cделать нужно сдавать через pull request в этот репозиторий. Делаешь fork, в папке 2020-spring создаешь папку со своим именем. В нее кладешь папку, названную номером домашнего задания. Коммитишь, пушишь, создаешь pr. Я буду оставлять комментарии (ласковее чем Мартынов) и мерджить, если все ок.

Раздел почитать сдается через устные ответы на лекциях. Каждое занятие я буду случайно спрашивать вопросы с прошлого раза. Особо принуждать к ответу не стану, но героя-одиночки, который будет отдуваться за всех, тоже не будет.

В папке Questions можно отыскать вопросы с реальных собесов джунов и пару тестовых (для собственного развития). Чувствуй себя свободно добавлять туда свои вопросы/ответы через pr. Любая активность помимо домашек приветствуется, я готов помогать, советовать, ревьювить твои тестовые в компании.

По любым вопросам обращайся в личку в телеграмм @M0rtyMerr

29 февраля, ДЗ №1

Сделать:

Реализовать структуру данных Бинарное дерево. Что должно уметь:

  • добавлять элемент
  • удалять элемент
  • искать элемент
  • выполнять балансировку
  • работать с разными типами данных

Прочитать:

  • Protocol Oriented Programming
  • Closures
  • Automatic Reference Counting (ARC)
  • Copy-on-write

Материалы

  • Swift.org/swiftbook.ru - документация по Swift с подробными примерами
  • iOS-Developer-Roadmap - что должен знать junior/middle/senior ios разработчик. Вопросы и ссылки на статьи

3 Марта, ДЗ №2

Запись лекции

Проверка домашки Делаем приложение

Сделать:

Создать приложение, выводящее таблицу сущностей, полученных из сети. Это уже реализовано на лекции, не стесняйтесь сверяться с проектом RickAndMorty. Главное, проделайте все сами, а не просто копируйте.
Можно использовать любое апи отсюда: https://github.com/public-apis/public-apis Я, например, взял это - https://rickandmortyapi.com/. можете использовать его же.

Проверьте, что в API:

  • есть пагинация (вам возвращают ссылку на следующую страницу сущностей или номер следующей страницы)
  • есть картинки (сущность содержит ссылку на картинку/аватар сущности)

Приложение должно:

  • выводить таблицу, где каждая ядейка содержит информацию об одной сущности (например, имя и картинка)
  • при скроле до конца таблицы загружать новую порцию сущностей
  • при клике на ячейку открывать детальный экран с информацией о выбранной сущности (UINavigationController в гугле)

Прочитать

  • Что такое SOLID?
  • Зачем нужны strong, weak, unowned ссылки?
  • Чем асинхронность отличается от многопоточности?
  • Что такое GCD? Расскажите про виды очередей?

Материалы

12 марта, ДЗ №3

Запись лекции

Верстка, Линтер

Сделать

  • Добавить зависимость через CocoaPods. Как минимум линтер, но можешь использовать что-то интереснее.
  • Добавить линтер. Я сделал для тебя конфиг файл с нужными правилами. Его нужно положить в корень своего проекта. Можно спросить, зачем то или иное правило нужно
  • Добавить констрейнты (autolayout), приложение должно нормально выглядеть на всех айфонах

Прочитать

  • Что такое deadlock/livelock? Приведи пример, как добиться в iOS
  • Что такое KISS и DRY?
  • Перечислите все способы работы с optional в Swift?
  • В чем разница Dependency Injection и Dependency Inversion? Пример?
  • Что такое method dispatch? Какиой бывают в свифте?

Материалы

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 98.0%
  • Ruby 1.1%
  • JavaScript 0.9%