Android jobs in google

Как устроиться на работу в Google

Работать где-то мечтают не все. Работать в компании Google мечтают многие, кто решил связать свою жизнь с IT.

Google — компания-гигант, одна из крупнейших IT-корпораций. Сотрудники такой компании нужны постоянно (новые области, текучка кадров).

Всё, что написано ниже, основано на личном опыте, а так же опыте тех людей, которым я могу доверять.

Шаг 1 — резюме.

В компании Google к резюме особое отношение. Получая миллионы заявок в год, компания выбирает несколько сотен сотрудников. Именно поэтому отличное резюме — первый шаг к работе мечты.
Что писать в резюме нужно обязательно:

  • e-mail, телефон для связи
  • все места учёбы (ВУЗы), дополнительное образование
  • Опыт работы*
  • Личные качества (придумайте что-то оригинальнее отзывчивости, стрессоустойчивости, коммуникабельности)
  • Хобби
  • Reference — люди, которые могут дать вам рекомендации
  • Знание языков

*Опыт работы в резюме для Google (и вообще для западных компаний) — это не только должность, компания, но и те успехи и достижения, которых вы добились на позиции. Если вы продажник — покажите цифры. Если программист — то как именно ваша работа улучшила работу компании. Работу рекомендуется указывать всю, а не только по профилю (если работали в МакДоналдсе, то даже такое стоит указать).

Что не нужно писать в своём резюме:

  • Дату рождения, личные данные
  • Есть ли водительские права
  • Семейное положение
  • Прочую «шелуху», которая только отвлечёт рекрутера

Резюме необходимо готовить на английском языке. Желательно, оформить резюме, выделить его (но не стоит писать его капсом или делать чересчур ярким). Фотография не является чётким критерием нужности, но я её прикладывал.

Форматы резюме указаны на сайте (pdf, doc, html). Рекомендуемый формат — .pdf.

Шаг 2 — поиск вакансий

После того, как вы написали отличное резюме для компании, стоит заняться поиском вакансий, на которые вы будете претендовать. Для этого стоит посетить google.com/jobs.
Выбор вы можете осуществить как по месту будущей работы (будут показаны все вакансии офиса), так и по ключевым словам (например, если вы хотите работы с русскоговорящей аудиторией — ищите russian).
В каждой вакансии существуют минимальные требования к кандидатам. Обратите на них внимание — если вы не подходите хотя бы по одному пункту, то стоит задуматься. Чем больше вы соответствуете этому блоку, тем больше шансов получить приглашение на собеседование.

В компании Google существует так же срочная потребность в кандидатах. Для таких вакансий в поиск нужно вбить «For immediate consideration». Вам отобразятся все «горящие» вакансии. Высылать своё резюме необходимо будет на e-mail, который так же указан на странице. Обратите внимание, что написано в строке Important.
Если вы укажете тему письма неверно, письмо будет отклонено. К сожалению, в компании работают люди, а не роботы, поэтому случаются накладки, которые медленно, но исправляются (я так отправлял на одну вакансию 6 раз резюме, с точно указанной темой, а оно отклонялось; через 3 недели починили).

Шаг 3 — отправка резюме

Тут всё просто — заполняете форму на сайте, и ждёте. Напишите обязательно CV, его и вправду читают сотрудники, которые потом будут проводить вам первое собеседование.

Если вы отправляете резюме на электронный адрес (горящая вакансия), то отправлять его рекомендуется в html.

Здесь есть небольшой хинт, который может повлиять на решение рекрутера. Хинт называется «отправка резюме сотрудником Google». Где взять или познакомиться с таким человеком? В социальных сетях (LinkedIn, Профессионалы). Если сможете договориться и подружиться, то при успешном исходе вы получите работу, а советчик — денежное поощрение.

Шаг 4 — подготовка к первому собеседованию

Если все три предыдущих шага были выполнены хорошо, то через некоторое время (у меня это было 1-3 дня) вам придёт письмо от рекрутера, в котором вам укажут предварительное время вашего собеседования (скрининг), а так же возможные темы для обсуждения. Не поленитесь прочитать так же о компании и её продуктах.

Читайте также:  Hey you app android
Шаг 5 — телефонное интервью

В телефонном интервью будут задавать простые вопросы, в основном на базовые понятия и мотивацию. Впрочем, эти вопросы задают 90% рекрутеров при первом этапе собеседований. Спрашивают ожидания, про предыдущие работы. Не поленитесь, в интернете есть подборки различных вопросов на разные вакансии, изучите их.

Шаг 6 — техническое интервью

Если рекрутер посчитал, что вы можете подойти для работы в компании — вам напишут письмо, в котором поздравят с прохождением на следующий этап, назначат дату.
О чём говорят на тех. интервью — вообще-то тайна, но некоторые люди, которые не прошли его, и не расслышали про NDA, выкладывают вопросы. Для разных вакансий они разные, в основном — на знание предметной области, но могут быть и на логику и соображалку.

Шаг 7 -on-site интервью

Если шаг 6 пройден, и вы всё еще устраиваете компанию, вас пригласят на интервью в офис. При этом вам оплатят приезд в офис компании (либо локальный, либо в тот, где вы планируете работать). Интервью проводят 4-5 сотрудника Google, которые выясняют ваши компетенции. По вашему желанию вы можете встретиться с тем человеком, который рекомендовал вас на работу.

Шаг 8 — получение Job offer

Если все 5 кандидатов отозвались о вас, как об отличном работнике с достойным уровнем компетенции, компания предлагает вам работу. Детали Job offer, как и вопросы интервью защищены NDA. Но при переезде компания предлагает приятные компенсационные пакеты, за условия которых можно торговаться.

Общая информация, которая может быть полезна
  1. Всё общение и все новости сообщает вам рекрутер. Не бойтесь писать ему
  2. Не нарушайте условия NDA
  3. Будьте уверены в себе, старайтесь не волноваться перед собеседованиями
  4. Язык компании Google — английский, поэтому вы должны на нём не только писать с помощью переводчика, но и говорить. Это очень важно
  5. Время на принятие решений по каждому пункту — индивидуальные, но у вас уйдёт в среднем 1 месяц от отправки резюме до получения работы в случае успеха
  6. В компании Google очень высокий процент отказов (false-negative). Это не повод расстраиваться, а повод работать над собой
  7. На ту же вакансию вы можете подать резюме через полгода после первой попытки. На другую вакансию — в любое время
  8. В компании Google вся еда бесплатная

Подумайте, ведь всего 8 шагов отделяют вас от работы мечты миллионов. Возможно, именно вас компании не хватает! Почему бы не попробовать?

Источник

Планирование задач в Андроид

Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «Schedule tasks and jobs intelligently in Android» от Ankit Sinhal.

В современной разработке приложений очень часто выполняются задачи асинхронно, и их объем выходит за пределы жизненного цикла приложения. В некоторых ситуациях мы также должны выполнять некоторые работы, но это не обязательно делать прямо сейчас. Чтобы запланировать фоновые работы, Android представила несколько API, которые мы можем грамотно использовать в наших приложениях.

Выбор подходящего планировщика может улучшить производительность приложений и время автономной работы устройства.

Для планирования задач на Android доступно несколько API:

  • Alarm Manager
  • Job Scheduler
  • GCM Network Manager
  • Firebase Job Dispatcher
  • Sync Adapter

Проблемы с сервисами

Сервисы позволяют выполнять длительные операции в фоновом режиме. Запуск сервисов в фоновом режиме очень негативно влияет на заряд батареии.

Сервисы особенно вредны, когда они постоянно использует ресурсы устройства, даже если не выполняет полезные задачи.

Запланированный задачи во время жизненного цикла приложения

Когда приложение запущено, и мы хотим запланировать или запустить задачу в определенное время, рекомендуется использовать класс Handler вместе с Timer и Thread.

Запланированные задачи при выключенном приложении

Alarm Manager

AlarmManager обеспечивает доступ к службам уведомлений. Это дает возможность выполнять любые операции за пределами жизненного цикла вашего приложения. Таким образом, вы можете инициировать события или действия, даже если ваше приложение не запущено. AlarmManager может запустить сервис в будущем.

Мы должны использовать API AlarmManager только для задач, которые должны выполняться в определенное время

Пример использования: предположим, что мы хотим выполнить задачу через 1 час или каждый час. В этом случае AlarmManager нам поможет.

Читайте также:  Крутые навигаторы для андроид

Job Scheduler

Это главный из всех упомянутых вариантов планирования и очень эффективный с фоновыми работами. JobScheduler API, который был представлен в Android 5.0 (API уровня 21).

Этот API позволяет выполнять задания, когда у устройства больше доступных ресурсов или при соблюдении правильных условий. Все условия могут быть определены при создании задания. Когда объявленные критерии будут выполнены, система выполнит это задание в JobService вашего приложения. JobScheduler также отменяет выполнение, если необходимо, чтобы соблюдать ограничения режима Doze и App Standby.

GCM Network Manager

GCM (Google Cloud Messaging) Network Manager имеет все функции расписания из JobScheduler. GCM Network Manager также предназначен для выполнения многократной или одноразовой, неминуемой работы при сохранении времени автономной работы.

Он используется для поддержки обратной совместимости и может также использоваться под Android 5.0 (API уровня 21). Начиная с уровня API 23 или выше, GCM Network Manager использует JobScheduler для платформы. GCM Network Manager использует механизм планирования в службах Google Play, поэтому этот класс будет работать только в том случае, если на устройстве установлены сервисы Google Play.

Google настоятельно рекомендовал пользователям GCM перейти на FCM и вместо этого использовать диспетчер заданий Firebase для планирования любых задач.

Firebase Job Dispatcher

Firebase JobDispatcher также является библиотекой для планирования фоновых заданий. Он также используется для поддержки обратной совместимости (ниже API 21) и работает во всех последних версиях Android (API 9+).

Эта библиотека также будет работать, если на устройстве нет установленных сервисов Google Play. В этом состоянии эта библиотека внутренне использует AlarmManager. Если на устройстве доступно приложение Google Play, он использует механизм планирования в службах Google Play.

Sync Adapter

Sync adapters разработаны специально для синхронизации данных между устройством и облаком. Он должен использоваться только для этого типа задач. Синхронизация может быть вызвана изменениями данных в облаке или на устройстве или по истекшему времени.
Система будет пытаться синхронизировать только тогда, когда устройство подключено к сети.

Упражнение

Мы обсудили достаточно теории, поэтому теперь посмотрим, как использовать планировщик заданий Android.

Создание Job Service

Создайте JobSchedulerService extends JobService, который требует, чтобы были созданы два метода onStartJob (параметры JobParameters) и onStopJob (параметры JobParameters).

Метод onStartJob вызывается, когда JobScheduler решает запустить вашу работу. JobService работает в основном потоке, поэтому любая логика должна выполняться в отдельном потоке. Метод onStopJob вызывается, если система решила, что вы должны прекратить выполнение своей работы. Метод вызывается до jobFinished (JobParameters, boolean).

Вам также необходимо зарегистрировать свою службу в AndroidManifest.

Создать объект JobInfo

Чтобы построить объект JobInfo, передайте JobService в JobInfo.Builder (), как показано ниже. Этот конструктор заданий позволяет установить множество различных параметров управления при выполнении задания.

Запланированная задача

Теперь у нас есть JobInfo и JobService, поэтому пришло время планировать нашу работу. Все, что нам нужно сделать, это запланировать работу с требуемой JobInfo, как показано ниже:

Заключение

При планировании задания вам нужно тщательно подумать о том, когда и что должно вызвать вашу задачу, и что должно произойти, если она по какой-то причине не сработает. Вы должны быть очень осторожны с производительностью вашего приложения, а также с другими аспектами, такими как заряд батареи.

JobScheduler легко реализуется и обрабатывает большую часть за вас. При использовании JobScheduler наши запланированные задания сохраняются, даже если система перезагружается. В настоящий момент единственным недостатком JobScheduler является то, что он доступен только для 21 уровня api (Android 5.0).

Источник

Android jobs in google

This library is not maintained anymore and there will be no further releases except for very critical bug fixes. Use WorkManager instead of this library.

A utility library for Android to run jobs delayed in the background. Depending on the Android version either the JobScheduler , GcmNetworkManager or AlarmManager is getting used. You can find out in this blog post or in these slides why you should prefer this library than each separate API. All features from Android Oreo are backward compatible back to Ice Cream Sandwich.

Читайте также:  Android one 6gb ram

Download the latest version or grab via Gradle:

Starting with version 1.3.0 the library will use the WorkManager internally, please read the documentation and opt-in.

If you didn’t turn off the manifest merger from the Gradle build tools, then no further step is required to setup the library. Otherwise you manually need to add the permissions and services like in this AndroidManifest.

You can read the JavaDoc here.

The class JobManager serves as entry point. Your jobs need to extend the class Job . Create a JobRequest with the corresponding builder class and schedule this request with the JobManager .

Before you can use the JobManager you must initialize the singleton. You need to provide a Context and add a JobCreator implementation after that. The JobCreator maps a job tag to a specific job class. It’s recommended to initialize the JobManager in the onCreate() method of your Application object, but there is an alternative, if you don’t have access to the Application class.

After that you can start scheduling jobs.

The JobRequest.Builder class has many extra options, e.g. you can specify a required network connection, make the job periodic, pass some extras with a bundle, restore the job after a reboot or run the job at an exact time.

Each job has a unique ID. This ID helps to identify the job later to update requirements or to cancel the job.

If a non periodic Job fails, then you can reschedule it with the defined back-off criteria.

The library doesn’t use reflection, but it relies on three Service s and two BroadcastReceiver s. In order to avoid any issues, you shouldn’t obfuscate those four classes. The library bundles its own Proguard config and you don’t need to do anything, but just in case you can add these rules in your configuration.

See the FAQ in the Wiki.

WorkManager is a new architecture component from Google and tries to solve a very similar problem this library tries to solve: implementing background jobs only once for all Android versions. The API is very similar to this library, but provides more features like chaining work items and it runs its own executor.

If you start a new project, you should be using WorkManager instead of this library. You should also start migrating your code from this library to WorkManager . At some point in the future this library will be deprecated.

Starting with version 1.3.0 this library will use the WorkManager internally for scheduling jobs. That should ease the transition to the new architecture component. You only need to add the WorkManager to your classpath, e.g.

Please take a look at the Wiki for a complete transition guide.

The API and feature set of android-job and WorkManager are really similar. However, some features are unique and only supported by one or the other

Feature android-job WorkManager
Exact jobs Yes No
Transient jobs Yes No
Daily jobs Yes No
Custom Logger Yes No
Observe job status No Yes
Chained jobs No Yes
Work sequences No Yes

Google Play Services

This library does not automatically bundle the Google Play Services, because the dependency is really heavy and not all apps want to include them. That’s why you need to add the dependency manually, if you want that the library uses the GcmNetworkManager on Android 4, then include the following dependency.

Because of recent changes in the support library, you must turn on the service manually in your AndroidManifest.xml

If you don’t turn on the service, the library will always use the AlarmManager on Android 4.x.

Crashes after removing the GCM dependency is a known limitation of the Google Play Services. Please take a look at this workaround to avoid those crashes.

Источник

Оцените статью