Получите бесплатно 4 курса для лёгкого старта работы в IT
Получить курсы бесплатно
ГлавнаяБлогКакие вопросы задают на собеседовании Android-разработчику
Какие вопросы задают на собеседовании Android-разработчику
38 394
Время чтения: 17 минут

Какие вопросы задают на собеседовании Android-разработчику

38 394
Время чтения: 17 минут
Сохранить статью:
Сохранить статью:

Привет! Меня зовут Александр, я декан факультета Android-разработки GeekBrains. За всё время в разработке под Android (а это уже больше шести лет) я прошёл множество собеседований и сам провёл не меньше. А также обсуждал собеседования, которые проходили или проводили коллеги, некоторым помогал подготовиться к встречам.

В этом посте я хочу поделиться опытом — рассказать, какие вопросы обычно задают на собеседовании. Бонусом в конце статьи я прикреплю список вопросов, который сам использую в качестве памятки для проведения интервью. Список довольно обширный, но это не значит, что я обязательно спрошу обо всём. Часто я задаю дополнительные вопросы по ходу собеседования, но в целом интервью не занимает больше часа.

Узнай, какие ИТ - профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

pdf иконка

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

pdf 3,7mb
doc 1,7mb
Уже скачали 27764 pdf иконка

На собеседовании может быть разное количество человек, но чаще всего это один-два разработчика. Иногда в начале присутствует представитель отдела кадров, который всех знакомит и рассказывает о компании. В крупных компаниях, бывает, собирается целая делегация: HR, пара разработчиков, тимлид, проджект-менеджер… Само собеседование условно делится на четыре части:

  1. Знакомство: 5–10 минут на представление собеседников, рассказ о компании и команде, пара слов о сфере деятельности.
  2. Проверка теоретических знаний: 40–60 минут вопросов по языку, платформе, библиотекам и т. п.
  3. Проверка практических навыков: 15–30 минут кодинга на расшаренном экране. Но такое встречается примерно в одном собеседовании из десяти, обычно хватает простого общения без кода.
  4. Вопросы соискателя (если есть): 5–10 минут.

Мы с вами подробно поговорим о второй и третьей частях собеседования. Сначала идут простые разминочные вопросы по языку программирования. Часто бывают уточнения к уже заданным — это помогает понять глубину знаний в определённой области. Постепенно вопросы усложняются. Ниже наиболее частые темы и вопросы, на которые мне приходилось отвечать.

Java

  • класс Object и описание его методов;
  • Garbage collector и работа с памятью;
  • коллекции в Java:
  • какие бывают коллекции;
  • чем отличается Map от остальных;
  • отличия ArrayList от LinkedList;
  • как работает Map под капотом;
  • что такое Array;
  • как работает ArrayList под капотом;
  • как коллекции работают с многопоточностью.
  • многопоточность:
    • какие способы асинхронной работы есть в Java;
    • volatile;
    • synchronized;
    • lock, reentrantLock;
    • Semaphore, CountDownLatch, CyclicBarrier, Phaser, Exchanger;
    • с какими проблемами может столкнуться разработчик: deadlock, livelock.
  • ошибки в Java;
  • сериализация, transient;
  • рефлексия;
  • дженерики.

Kotlin

  • Extension functions;
  • Inline functions;
  • свойства properties: методы get и set;
  • ключевые слова object, data class, lazy, companion object;
  • корутины.

По Kotlin задают не очень много вопросов, потому что Java покрывает большинство ответов: эти языки работают по схожим принципам. Но баланс, скорее всего, будет сдвигаться в сторону Kotlin.

Дарим скидку от 60%
на обучение «Android-разработчик» до 21 апреля
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку

Android

  • принципы SOLID и чистая архитектура;
  • активити и методы жизненного цикла, onSaveInstanceState/onRestoreInstanceState;
  • фрагмент и методы жизненного цикла;
  • контекст;
  • сервисы;
  • Broadcast Receiver;
  • интенты;
  • Handler/Looper;
  • AsyncTask;
  • что такое процесс;
  • Inter Process Communication;
  • сериализация и парселизация;
  • view: жизненный цикл, кастомные view;
  • Flavours/Builds;
  • архитектура MVP и MVVM;
  • многомодульность;
  • что такое OkHttp и зачем он нужен;
  • RxJava:
    • Hot и Cold observables;
    • разница между map и flatMap;
    • как создавать Observable;
    • разница между RxJava 1 и RxJava 2;
    • что такое BackPressure.
  • Dagger 2:
    • аннотация Named;
    • скоупы в Dagger 2.

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

  • тренироваться в ветвлениях и условиях;
  • знать, что такое предикат;
  • знать основные методы пакетов Colleсtions, Array, которые работают с преобразованием коллекций и сортировкой;
  • решать задачи на алгоритмы и сортировки.

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

Практические советы

Я рекомендую составить карту памяти или памятку/шпаргалку, по которой вы будете быстро вспоминать, что недавно читали. Так удобнее готовиться к интервью (см. бонус №2 в конце статьи).

Для лучшего запоминания ответов и концепций можно использовать Anki. Это ресурс, которым я и сам пользуюсь. На каждую задачу нужно завести карточку с вопросом и ответом. Anki вам задаёт эти вопросы с определённой периодичностью, пока вы не запомните ответы. Каждый день — новый вопрос из вашей коллекции. Anki есть на десктопе, также предусмотрена мобильная версия. Чтобы карточки синхронизировались во всех приложениях, на ресурсе нужно зарегистрироваться.

Только до 22.04
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300

Если не знаете ответ на какой-либо вопрос — отвечайте на знакомую смежную тему или расскажите то, что знаете по теме. Например: «Я не уверен, что помню ответ на этот вопрос, но вот тут это делается так…». Не стоит говорить «Я не знаю/не помню», потому что это очень хорошо запомнит собеседующий. Если вы совсем не знаете тему, лучше просто порассуждайте вслух, предположите что-то на основе своих знаний — это покажет, что вы склонны к размышлению и поиску ответа.

Бонус № 1. Мой список вопросов

Java Core:

  • OOP;
  • Class Object;
  • Reference;
  • Garbage collector;
  • Error/Exception;
  • Collections;
  • Network: URL, urlconnection, json, xml;
  • Generics/wildcards;
  • Reflection;
  • Enum;
  • Java.util.concurrent (Thread, Runnable, Executor, Future, Synchronized, Volatile, Synchronized collections) и всё, что связано с асинхронной работой в Java: Lesson: Concurrency (The Java™ Tutorials > Essential Classes).

Kotlin:

  • Extension functions;
  • Null Safety;
  • Inline functions;
  • Delegates;
  • Sequences;
  • Sealed classes;
  • Unit, Any, Nothing.

Android:

    • Mafinest;
    • Intent & Intent Filters;
    • Serialization/parcelization;
    • Android tasks and backstack;
    • Notifications;
    • Permissions;
    • Resources;
    • Styles and Themes;
    • RecyclerView;
    • Custom views and animation;
    • Service (IBinder, Message Handler);
    • IPC/AIDL;
    • ContentProvider;
    • BroadcastReceiver ;
    • Activity;
    • Fragment;
    • Handler/Looper;
    • Context;
    • всё, что связано с асинхронной работой в Android + сколько есть способов выполнения асинхронной работы в Android;
    • Android architecture components;
  • MVP/MVVM.

Common:

  • Patterns (GoF);
  • DI;
  • Git;
  • Gradle + Flavours/Builds.

Бонус № 2

И, наконец, карты памяти для Android-разработчика. Предлагаю не одну, а две — выберите самую удобную. Удачи!

Оцените статью
Рейтинг:
( голосов )
Поделиться статьей
Добавить комментарий

Сортировать:
По дате публикации
По рейтингу
До конца акции осталось
0 дней 00:00:00
Дарим скидку 64% на обучение «Разработчик»
  • Получите новую профессию с гарантией трудоустройства
  • Начните учиться бесплатно, 3 месяца обучения в подарок
Забронировать скидку на обучение
Забрать подарок

Получите подробную стратегию для новичков на 2023 год, как с нуля выйти на доход 200 000 ₽ за 7 месяцев

Подарки от Geekbrains из закрытой базы:
Осталось 17 мест

Поздравляем!
Вы выиграли 4 курса по IT-профессиям.
Дождитесь звонка нашего менеджера для уточнения деталей

Иван Степанин
Иван Степанин печатает ...