Привет всем мобильным разработчикам! Мы одинаково любим Android и iOS. Но у каждого свои предпочтения. Предлагаем определить фаворита в дружеском поединке. Для этого перенесёмся в Гималаи и покорим Эверест. Выберите команду и постарайтесь дать как можно больше правильных ответов, чтобы добраться до вершины первыми. На весь тест 10 минут.


Если думаете, что альпинизм никак не связан с мобильной разработкой, поспешим развеять сомнения и проведём очевидные параллели. Для восхождения на Эверест нужна хорошая физическая форма. Нужно тренировать выносливость, прокачивать дыхательную и сердечно-сосудистую системы: заниматься плаванием, бегом, ездить на велосипеде и проводить кардиотренировки. А чтобы стать разработчиком Android/iOS, надо изучать основы и продвинутые темы в Kotlin/Swift, писать разные алгоритмы, разбираться в UI-элементах и базах данных, взаимодействовать с API на сервере, отлаживать pet-проекты… 

Далее определяем готовность. Сможете три-четыре раза подряд подняться на 15-й этаж? А пробежать 10 километров? Если оба ответа «да», то уже можно собираться в путь (ну почти). Так же и с готовностью к первой работе. Сможете ответить на большинство из «50 вопросов к собеседованию», написать проект из 10 экранов с подгрузкой информации онлайн и сохранением во внутренней базе данных? Если ответили «да» на оба вопроса, можно рассылать резюме.

Когда планируете экспедицию в горы, убедитесь, что на трёх новичков в группе будет минимум один мастер. Убедитесь, что маршрут не требует значительного опыта в альпинизме. Изучите длительность похода и рассчитайте время на акклиматизацию. Так же и с профессией Android/iOS-разработчика. Когда выбираете компанию для работы, убедитесь, что в ней есть более опытные программисты, которые подскажут и направят. Убедитесь, что проект интересен, а используемые технологии хорошо знакомы… Совпадения? Не думаем. Пройдите тест и убедитесь сами.

Привет всем мобильным разработчикам! Мы одинаково любим Android и iOS. Но у каждого свои предпочтения. Предлагаем определить фаворита в дружеском поединке. Для этого перенесёмся в Гималаи и покорим Эверест. Выберите команду и постарайтесь дать как можно больше правильных ответов, чтобы добраться до вершины первыми. На весь тест 10 минут.


Если думаете, что альпинизм никак не связан с мобильной разработкой, поспешим развеять сомнения и проведём очевидные параллели. Для восхождения на Эверест нужна хорошая физическая форма. Нужно тренировать выносливость, прокачивать дыхательную и сердечно-сосудистую системы: заниматься плаванием, бегом, ездить на велосипеде и проводить кардиотренировки. А чтобы стать разработчиком Android/iOS, надо изучать основы и продвинутые темы в Kotlin/Swift, писать разные алгоритмы, разбираться в UI-элементах и базах данных, взаимодействовать с API на сервере, отлаживать pet-проекты… 

Далее определяем готовность. Сможете три-четыре раза подряд подняться на 15-й этаж? А пробежать 10 километров? Если оба ответа «да», то уже можно собираться в путь (ну почти). Так же и с готовностью к первой работе. Сможете ответить на большинство из «50 вопросов к собеседованию», написать проект из 10 экранов с подгрузкой информации онлайн и сохранением во внутренней базе данных? Если ответили «да» на оба вопроса, можно рассылать резюме.

Когда планируете экспедицию в горы, убедитесь, что на трёх новичков в группе будет минимум один мастер. Убедитесь, что маршрут не требует значительного опыта в альпинизме. Изучите длительность похода и рассчитайте время на акклиматизацию. Так же и с профессией Android/iOS-разработчика. Когда выбираете компанию для работы, убедитесь, что в ней есть более опытные программисты, которые подскажут и направят. Убедитесь, что проект интересен, а используемые технологии хорошо знакомы… Совпадения? Не думаем. Пройдите тест и убедитесь сами.

Комментарии (12)


  1. diakin
    28.11.2022 21:20
    +3

    Мы одинаково любим ненавидим Android и iOS.


  1. aleksandy
    29.11.2022 09:37
    +1

    Какие коллекции можно использовать в Kotlin?

    Queue
    Нет, в Kotlin нет такой коллекции.

    Stack
    Нет, в Kotlin нет такой коллекции.

    Во-первых, вопрос и ответ не соответствуют друг другу: наличие в стандартной библиотеке Котлина и возможность использования суть есть разные вещи. Потому как java.util.Queue и java.util.Stack никуда не делись.

    Какие команды git используются для получения данных с сервера и сохранения их локально?

    pull
    Да, git pull получает с сервера все изменения, сохраняет их локально и пытается объединить с текущей веткой.

    merge
    Нет, git merge используется для объединения двух веток.

    Какая штука интересная получается. Значит pull используется для получения данных с сервера, а merge с какого-то перепуга нет. Хотя pull по факту псевдоним для запуска последовательных fetch и merge. А ещё, ВНЕЗАПНО, mergeв качестве ветки-источника можно указать и ветку из удалённого репозитория, т.ч. ещё один прокол.


    1. Reverie_moon
      29.11.2022 17:19

      Добрый день!

      1. Какие коллекции можно использовать в Kotlin?

      Вы правы, с такой постановкой вопроса это правильные ответы. Недоглядели этот нюанс.

      1. Какие команды git надо ввести, чтобы получить данные с сервера и сохранить их локально?

      Про псевдоним верно. Но вопрос был именно про то при вводе каких команд данные затянуться с сервера локально. Формулировка оказалась обтекаемой. По поводу merge с префиксом репозитория предлагаю вам перепроверить, так как именно получения данных с сервера в этом случае не происходит.


      1. koperagen
        29.11.2022 20:08

        Не могу пройти мимо не сказав, что в стандартой библиотеке котлина есть ещё ArrayDeque с прекрасным нулл френдли API


  1. John_Hooper
    29.11.2022 11:31

    Flutter - и победит дружба!


  1. sergkrovel
    29.11.2022 11:43

    До того, как купил себе 13 айфон думал, что всей душой люблю Андроид. Хотя у друзей брал поюзать, но совсем не нравилось. А вот 13 "зашёл". И теперь я за ios, хотя с появления первого смартфона пользовался андроидом.


  1. spiceginger
    29.11.2022 16:21

    Кто понял почему после ответ отмечет правильным что 3 будет после 2

    print(1)
     DispatchQueue.main.async {
         print(2)
         DispatchQueue.main.async {
             print(3)
             DispatchQueue.global().sync {
                 print(4)
             }
             print(5)
         }
         print(6)
     }
     print(7)
    


    1. dabystru
      30.11.2022 12:48

      Сразу напечатает 1, 7 и положит команды для асинхронного выполнения в очередь main. Затем 2, 6 и положит ещё одну пачку команд. Затем 3, потом 4 (потому, что sync), после 5. Итого: 1, 7, 2, 6, 3, 4, 5.


      1. spiceginger
        30.11.2022 12:50

        Совершенно верно. То есть в тесте неправильный ответ ????‍????. После 2 будет 6


      1. Reverie_moon
        30.11.2022 14:34
        -1

        @ dabystru На самом деле 4 выведется не так, как Вы написали, 5-ка вызывается в другой очереди, хоть и синхронно ????


        1. spiceginger
          30.11.2022 21:42

          Нет. Четверка заблокирует главный поток. Так что выведется как написано выше


    1. Reverie_moon
      30.11.2022 14:34

      @ spiceginger спасибо вам! Да, действительно, сюда закралась ошибка ???? сейчас поправим!