Не соглашусь насчёт выступления на конференциях. Это — часть Tech PR, который формирует образ компании, то есть выгоден бизнесу. Умные компании привлекают звездных спикеров, пытаются вырастить своих.
Проще, согласен, но тогда никакого контроля над UI камеры. Нам надо было иметь кастомный UI.
На Kotlin мы не просто смотрим, мы его активно используем! Почти весь новый код пишем на Kotlin.
Да, тест не сложный, как и обещали. С другой стороны, мы видим, что такого уровня тест успешно проходят примерно 10% кандидатов. Вы считаете, что нужно делать сложнее? Почему?
Мы нанимаем со всего мира, не только из РФ. В Москве мы здесь традиционно активны — у нас здесь есть офис, нас многие знают (в том числе благодаря хабру), логично использовать эти преимущества.
Отличный вопрос, он показывает, что зачастую у сильных разработчиков нет времени не только на интервью, но и на тест. Мы подумаем над процессом, который позволяет устранить и этот сдерживающий момент, может быть что-то изобретем!
Мы в понедельник начнем рассылать приглашения тем, кто успешно прошел тест. Напишите, пожалуйста, мне в личку ваш email я проверю, что ваш тест обработан.
В примере никак не решаем, он ведь про camera2 API.
В реальной жизни обычно создается 2 имплементации для первой и второй версии Camera API, реализующих общий интерфейс, выбор между ними в рантайме. (Причем я видел довольно нетривиальный алгоритм выбора. Для некоторых устройств выбирается camera1 api даже если это Lollipop и новее.) Если лениво делать поддержку camera1 API, то можно, например, запускать системную камеру для pre Lollipop. Ну или minSdkVersion=21 и только camera2 api.
Observable, который создает функция fromSetRepeatingRequest является «горячим». Это может приводить к проблемам с операторами, которые накапливают события. В нашем случае мы первым делом к полученному Observable применяем цепочку операторов combineLatest.firstElement. CombineLatest держит только одно последнее событие для более быстрого Observable, переданного ему в качестве параметра. То есть он не накапливает элементы.
Действительно, вещи описаны простые и стандартные, и опытные девелоперы это все знают. Но меня поразило как много ответов на stackoverflow дают откровенно вредительские рекомендации. Я надеюсь, что эта статья будет полезной для начинающих разработчиков, которые в первый раз столкнулись с такой задачей.
Спасибо! Согласен, подключать зависимости никто не любит, но ведь область применения этих библиотек не ограничивается этой одной фичей. Вы сможете использовать их мощь повсюду. А без лямбд вообще грустно.
Не соглашусь насчёт выступления на конференциях. Это — часть Tech PR, который формирует образ компании, то есть выгоден бизнесу. Умные компании привлекают звездных спикеров, пытаются вырастить своих.
На Kotlin мы не просто смотрим, мы его активно используем! Почти весь новый код пишем на Kotlin.
В реальной жизни обычно создается 2 имплементации для первой и второй версии Camera API, реализующих общий интерфейс, выбор между ними в рантайме. (Причем я видел довольно нетривиальный алгоритм выбора. Для некоторых устройств выбирается camera1 api даже если это Lollipop и новее.) Если лениво делать поддержку camera1 API, то можно, например, запускать системную камеру для pre Lollipop. Ну или minSdkVersion=21 и только camera2 api.