Авито · июль 2024

Тех собес на middle-senior IOS Разработчик в Авито

middle-senior Тех собес 13 вопросов 5 задач

1. Объясните поведение кода. Что произойдет при сравнении X() == Y()?

protocol Weapon {

    associatedtype Kind: Equatable

    func getKind() -> Kind
}

func compareContainerValue<C1: Weapon, C2: Weapon>(container1: C1, container2: C2) -> Bool {
    container1.getKind() == container2.getKind()
}

class X: Equatable { /**/ }
class Y: Equatable { /**/ }

X() == Y()

2. Задача: Реализуйте методы forceUnwrap(), оператор ?? и исправьте оператор ==.

enum CustomOptional<T>: ExpressibleByNilLiteral {
    case some(T)
    case none

    func forceUnwrap() {

    }

    static func ?? (input: T) {

    }

    static func == <T: Equatable>(lhs: T, rhs: T) -> Bool {
        switch (lhs, rhs) {
            case (.none,…
Конец фрагмента

Премиум-подписка

Открывает это интервью целиком и все материалы направления «IOS Разработчик».

в этом собесе: 13 вопросов 5 задач с кодом
  • Ещё 139 текстовых собесов направления
  • 333 видеозаписи собеседований
  • Приоритетная поддержка
1490₽/мес