Evgeniy
Нет, я слишком хорошо знаю concurrent
Подозреваю вы в прошлом Энтерпрайз разработчик
Александр
Ну шо, вот я и сходил на очередной собес, на это раз в банк. Ребята ищут Android дева, иногда могут рассмотреть джуна. Вбрасываю вопросы которые запомнил. Вопросов немного было, большей частью по Rx, все задавались просто по ходу беседы(заготовленных не было). - Git, Merge vs Rebase - Git, какие методологии юзаете на работе(или просто какие знаешь) - Rx, observeOn vs subscribeOn - Rx, виды Subject(Behavior,Async,...) и чем различаются - Rx, виды Observabe(Single,Maybe,...) и чем различаются - Rx, какие операторы знаешь - Rx, есть Observer, который эммитит List<Int>, int:[0..10]. Что произойдёт, если в цепочке вызовов добавить что - то типо .filter(i > 5) (псевдокод) - Rx, какой оператор и как нужно применить, чтобы убрать из этого листа какое - то число и передать лист дальше - Rx, где и как юзается retry(желательно привести не оторванный от реальности пример) - Rx, где и как юзается zip(аналогично) - Rx, map операторы(имеется ввиду flatMap vs ещё какие то %nameMap%, погуглите, а то я их не знаю тупо) - Rx, что такое Sheldurer и с какими его "видами"(ну вы поняли, IO, вот это всё) работал - MultiThread, зачем нужен synchronized, привести пример - MultiThread, как работает synchronized под капотом(лол кек, я не ответил, но от меня и не ожидали, на верочку спросили) - MultiThread, что такое Executor - Личные предпочтения: Kotlin или Java? Если ответили "Kotlin", дать конкретный ответ на вопрос почему именно он(по сути, перечислить основные power фичи и объяснить зачем они нужны)
Turalllb
Нет, я слишком хорошо знаю concurrent
а как думаете столкнусь ли я когда нибудь с rxJava, если в такущем проекте как минимум пол года еще буду работать с корутинами)? А если я буду стараться избегать проекты с rxJava по возможности)
Александр
А, это было уже.
Да, только в другом чате, который startAndroid
Denis
Ну шо, вот я и сходил на очередной собес, на это раз в банк. Ребята ищут Android дева, иногда могут рассмотреть джуна. Вбрасываю вопросы которые запомнил. Вопросов немного было, большей частью по Rx, все задавались просто по ходу беседы(заготовленных не было). - Git, Merge vs Rebase - Git, какие методологии юзаете на работе(или просто какие знаешь) - Rx, observeOn vs subscribeOn - Rx, виды Subject(Behavior,Async,...) и чем различаются - Rx, виды Observabe(Single,Maybe,...) и чем различаются - Rx, какие операторы знаешь - Rx, есть Observer, который эммитит List<Int>, int:[0..10]. Что произойдёт, если в цепочке вызовов добавить что - то типо .filter(i > 5) (псевдокод) - Rx, какой оператор и как нужно применить, чтобы убрать из этого листа какое - то число и передать лист дальше - Rx, где и как юзается retry(желательно привести не оторванный от реальности пример) - Rx, где и как юзается zip(аналогично) - Rx, map операторы(имеется ввиду flatMap vs ещё какие то %nameMap%, погуглите, а то я их не знаю тупо) - Rx, что такое Sheldurer и с какими его "видами"(ну вы поняли, IO, вот это всё) работал - MultiThread, зачем нужен synchronized, привести пример - MultiThread, как работает synchronized под капотом(лол кек, я не ответил, но от меня и не ожидали, на верочку спросили) - MultiThread, что такое Executor - Личные предпочтения: Kotlin или Java? Если ответили "Kotlin", дать конкретный ответ на вопрос почему именно он(по сути, перечислить основные power фичи и объяснить зачем они нужны)
ты на Rx разработчика собесился?)
Сергей
Влад
ты на Rx разработчика собесился?)
реактивный разработчик)
Александр
Если не секрет, какая зп?
Не буду говорить чтобы не сглазить. =)
Александр
ты на Rx разработчика собесился?)
Нет. Конкретно этим ребятам почему - то была важна реактивщина. У них в вакансии был описан список приоритетов, и Rx был на первом месте.
Mike
ты на Rx разработчика собесился?)
Да ну, обычные вопросы про ырыкс) обычно те, кто на всё отвечает, не ответит про конкаррент, автобоксинг и дженерики)
Mike
Где?
Рассказывал товарищ, который себе команду собирал
Denis
Ну шо, вот я и сходил на очередной собес, на это раз в банк. Ребята ищут Android дева, иногда могут рассмотреть джуна. Вбрасываю вопросы которые запомнил. Вопросов немного было, большей частью по Rx, все задавались просто по ходу беседы(заготовленных не было). - Git, Merge vs Rebase - Git, какие методологии юзаете на работе(или просто какие знаешь) - Rx, observeOn vs subscribeOn - Rx, виды Subject(Behavior,Async,...) и чем различаются - Rx, виды Observabe(Single,Maybe,...) и чем различаются - Rx, какие операторы знаешь - Rx, есть Observer, который эммитит List<Int>, int:[0..10]. Что произойдёт, если в цепочке вызовов добавить что - то типо .filter(i > 5) (псевдокод) - Rx, какой оператор и как нужно применить, чтобы убрать из этого листа какое - то число и передать лист дальше - Rx, где и как юзается retry(желательно привести не оторванный от реальности пример) - Rx, где и как юзается zip(аналогично) - Rx, map операторы(имеется ввиду flatMap vs ещё какие то %nameMap%, погуглите, а то я их не знаю тупо) - Rx, что такое Sheldurer и с какими его "видами"(ну вы поняли, IO, вот это всё) работал - MultiThread, зачем нужен synchronized, привести пример - MultiThread, как работает synchronized под капотом(лол кек, я не ответил, но от меня и не ожидали, на верочку спросили) - MultiThread, что такое Executor - Личные предпочтения: Kotlin или Java? Если ответили "Kotlin", дать конкретный ответ на вопрос почему именно он(по сути, перечислить основные power фичи и объяснить зачем они нужны)
я надеюсь на вопрос "что такое Executor", ты ответил, что это просто интерфейс)
Сергей
Бло. Надо в учебных целях себе пет проект на 3-4 рабочих дня придумать с rx/concurrent. Пока ничего умнее мини- мессенджера в голову не идет(
Co(n)stantine👨‍🔬
знание Java и Android SDK опыт разработки приложений под Android опыт создания многопоточных приложений знание распределенных систем контроля версий (Git) знание структур данных (стек, очереди, деревья, хэш-таблицы) и алгоритмов сортировки: quicksort, mergesort, heapsort хорошо разбираться в стандартной системе сборки Android; уметь писать кастомные Gradle-таски, дополнять процесс сборки приложения; уметь эффективно реализовывать сложный GUI, разбираясь в устройстве стандартных UI-компонентов Android, представляя, что у них находится «под капотом»; глубокое знание жизненных циклов как приложений, так и отдельных компонентов (Activity и Services); быть готовым придумывать и реализовывать эффективные способы межпроцессного взаимодействия, используя основные механизмы, предоставляемые Android (Intent, bindService(), AIDL, ContentProvider, файлы и пр.).
Дополнение: знание шаблонов проектирования умение декомпозировать и оценивать задачи Понимание механизма Dependency Injection, Clean Architecture, Понимание MVVM, MVP, ООП, SOLID, DRY, KISS, TDD Умение работать с Push-уведомлениями, Умение писать тесты (Espresso, Unit). Fragments (Child Fragments, Headless Fragments, Fragments communications, Single Activity Application), Service (JobService, BoundService, IPC), Views (View Lifecycle, measurement, drawing, SurfaceView, Constraint Layout), Canvas (Bitmap, PorterDuff, Matrix, Path), GPU profiling, dumpsys, GPS measurement, Interceptors, CallAdapter.Factory, SSL pinning, WebSocket connection, GSON Android Keystore, Google tink APKtool, jadx Material Design Evgeniy
Сергей
Хорошо сделаю - выходить придется же)
Влад
Хорошо сделаю - выходить придется же)
тут всё зависит от оффера)
Mike
я бы ответил, шо это старое говно уже никто не юзает
Кто не знает основ, тот не юзает. С такими вот отговорками, да.
Александр
я надеюсь на вопрос "что такое Executor", ты ответил, что это просто интерфейс)
Мы на этот вопрос выехали как - то по ходу беседы, и ответ у меня был в контексте общения. Не помню что именно я сказал - что то в стиле "сущность, которая позволяет работать с пулами потоков".
Dj
Кто не знает основ, тот не юзает. С такими вот отговорками, да.
А что если я знаю эти основы, но прекрасно понимаю, что после меня придет другой разраб и не сможет за мной поддержать код написанный на Executor и Handler. Поэтому я юзаю стандарт индустрии?
Denis
я бы ответил, шо это старое говно уже никто не юзает
ExecutorService, например, используется в okhttp, которым пользуются все (если, конечно, ktor не используешь)
Co(n)stantine👨‍🔬
Карочь дохрена и больше надо знать 😞 Проще фронтендером идти 🌝
Dj
жалко, что не ебет(
бизнес требует фичи!
Co(n)stantine👨‍🔬
🤔
Denis
бизнес требует фичи!
чем лучше знаешь инструмент, тем лучше делаешь фичи
Rasch
Всем привет! Подскажите какой mobile framework лучший в 2019 для кроссплатформенных разработок. Желательно с указанием источника анализа. Спасибо.
Co(n)stantine👨‍🔬
хотя Flutter не знаю особо
Сергій
React Native Flutter
А как же источник анализа 😁
Co(n)stantine👨‍🔬
А как же источник анализа 😁
https://dev.to/jessicabennett/react-native-still-a-profitable-choice-in-2019-5km @RaschMaslasky
Сергій
👍
Сергей
Вот здесь собрал список тестовых для андроида https://github.com/Devit951/Test-Assignments/tree/master/android/ru
Не вижу куда с рх можно развернуться из них. Обновление данных с сети периодически разве что
Сергей
Но это один аспект только. Причем реализуемый и без рх, хотя и убого - таймеры да каллбэк хелл
Dj
Стандартом и был конкаррент, пока придурки, не знающие об этом, не вытащили из-под параши ырыкс.
шо теперь нам поделать? умным инженерам, которые знают основы всех основ. Мы же никак не можем переделать других разрабов под себя. Заставить учить эти самые основы. Они прекрасно и без этого работают разрабами. Оп-оп прочитал статью, добавил зависимость в градл, две строчки написал и готово!
Denis
можно так
Сергей
Или это. Или postDelayed
Mike
смысл париться и писать дохрилион строчек кода, чтобы только сходить в сеть?
Ну ты же зачем-то паришься и с ырыксом пишешь ещё больше
Co(n)stantine👨‍🔬
поэтому всем и похер на размер apk и multidex
😞мне не похер, поэтому я все еще не выпустил свое приложение в гугл плэй, оптимизирую все, что можно
Dj
Denis
для этого придумали multidex
ну т.е костыль, который тормозит старт приложения)
neikist
😞мне не похер, поэтому я все еще не выпустил свое приложение в гугл плэй, оптимизирую все, что можно
Вот и ответ к сожалению, бизнесу нужна скорость и гибкость, а производительность по остаточному принципу. И не скажу что это совсем неправильно, главное не перебарщивать же
Nikita
+
Dj
там всё будет летать
Сергій
iPhone )
Denis
конкуренты могут сделать лучше
neikist
Лучше бы mvp выпустил пораньше
Кстати да, заодно станет ясно что пользователю удобно а что лучше переделать.
Denis
тогда твоя скорость идет в трубу
neikist
а юзеру нужно удобство
Юзеру нужно приложение. Даже на реакт нейтиве каком лучше чем никакое, хотя меня от него блевать тянет (простите если он кому нравится)
Александр
Бизнес разработка под Android суть про скорость, heh(
Denis
Юзеру нужно приложение. Даже на реакт нейтиве каком лучше чем никакое, хотя меня от него блевать тянет (простите если он кому нравится)
это не значит, что надо совсем забивать же. Окей, сделай MVP, а потом можно и оптимизации докрутить
Denis
просто все забивают в итоге
Denis
когда ты видишь у вк размер кэша в 2гб