Опишите ваши pet-проекты и их техническую реализацию.

«Опишите ваши pet-проекты и их техническую реализацию.» — вопрос из категории Софт-скиллы, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Pet-проекты — это полигон для изучения новых технологий и архитектурных подходов.

1. WeatherApp (Прогноз погоды)

  • Стек: UIKit, CoreLocation, URLSession, CoreData, Combine.
  • Цель: Изучение работы с REST API, фонового обновления и локального кэширования.
  • Ключевые моменты:
    • Запрос данных с OpenWeatherAPI.
    • Кэширование ответов в CoreData для оффлайн-режима.
    • Фоновое обновление по геопозиции.
  • Пример сетевого слоя:
    func fetchWeather(for city: String) async throws -> WeatherData {
    let url = URL(string: "https://api.openweathermap.org/...")!
    let (data, _) = try await URLSession.shared.data(from: url)
    return try JSONDecoder().decode(WeatherData.self, from: data)
    }

2. TaskTracker (Менеджер задач)

  • Стек: SwiftUI, Firebase (Firestore, Auth), UserNotifications.
  • Цель: Освоение SwiftUI и real-time баз данных.
  • Ключевые моменты:
    • Синхронизация задач между устройствами через Firestore.
    • Локализованные push-уведомления о дедлайнах.
    • Архитектура MVVM.

3. AR-Chess (Шахматы в дополненной реальности)

  • Стек: ARKit, SceneKit, MultipeerConnectivity.
  • Цель: Эксперименты с компьютерным зрением и сетевым взаимодействием.
  • Ключевые моменты:
    • Детекция плоскости и размещение шахматной доски.
    • Физика перемещения фигур в SceneKit.
    • P2P-мультиплеер через GameKit.

Общая цель: Углубленное понимание MVVM/VIPER, модульности (SPM) и написания тестов (XCTest).