Завистник
  • Топ-курсы
    • Программирование
    • Дизайн, UX, геймдизайн
    • Бизнес, маркетинг, реклама
    • Аналитика
    • Иностранные языки
    • Саморазвитие
    • ЕГЭ, ОГЭ, школьные предметы
      • Подготовка к ЕГЭ и ОГЭ
      • Курсы и репетиторы для школы
      • Подготовка к школьным олимпиадам
      • Лайфхаки для ОГЭ, ЕГЭ и школьных предметов
  • Топ-книги
    • Топ книг по программированию и разработке
    • Топ книг по графическому дизайну, UX, гейм- и веб-дизайну
    • Книги по бизнесу, маркетингу, рекламе, PR
    • Книги по саморазвитию
    • Учебники и самоучители иностранных языков
  • Топ-профессии
    • Топ-зарплаты
  • Карьера
    • Смена профессии: личный опыт
    • Work-хаки
    • Английский на 100%
    • Иммиграция-2022
  • Самое-Самое
  • Блог Завистника
    • Лайфхаки
    • Тесты для УО
    • Кто есть Who
    • Очень странные дела
No Result
View All Result
  • Топ-курсы
    • Программирование
    • Дизайн, UX, геймдизайн
    • Бизнес, маркетинг, реклама
    • Аналитика
    • Иностранные языки
    • Саморазвитие
    • ЕГЭ, ОГЭ, школьные предметы
      • Подготовка к ЕГЭ и ОГЭ
      • Курсы и репетиторы для школы
      • Подготовка к школьным олимпиадам
      • Лайфхаки для ОГЭ, ЕГЭ и школьных предметов
  • Топ-книги
    • Топ книг по программированию и разработке
    • Топ книг по графическому дизайну, UX, гейм- и веб-дизайну
    • Книги по бизнесу, маркетингу, рекламе, PR
    • Книги по саморазвитию
    • Учебники и самоучители иностранных языков
  • Топ-профессии
    • Топ-зарплаты
  • Карьера
    • Смена профессии: личный опыт
    • Work-хаки
    • Английский на 100%
    • Иммиграция-2022
  • Самое-Самое
  • Блог Завистника
    • Лайфхаки
    • Тесты для УО
    • Кто есть Who
    • Очень странные дела
No Result
View All Result
Завистник
No Result
View All Result
Главная Карьера Work-хаки Как успешно пройти собеседование Android-разработчику?

Как успешно пройти собеседование Android-разработчику?

Антон Корнеев
25.03.2022
0
Как успешно пройти собеседование Android-разработчику?

Рассказывает Александр Аникин, декан факультета Android-разработки GeekBrains:

За всё время в разработке под Android я прошёл множество собеседований и сам провёл не меньше. А также обсуждал собеседования, которые проходили или проводили коллеги, некоторым помогал подготовиться к встречам.

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

На собеседовании может быть разное количество человек, но чаще всего это один-два разработчика. Иногда в начале присутствует представитель отдела кадров, который всех знакомит и рассказывает о компании. В крупных компаниях, бывает, собирается целая делегация: 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.

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, которые работают с преобразованием коллекций и сортировкой;
  • решать задачи на алгоритмы и сортировки.

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

Начни карьеру разработчика с нуля за 1 месяц

Три интенсивных онлайн-курса
“Разработка под Android”

Вы освоите Android-разработку и сделаете свое первое приложение.

Оплата в рассрочку.

Узнать подробнее

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

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

Если не знаете ответ на какой-либо вопрос — отвечайте на знакомую смежную тему или расскажите то, что знаете по теме.

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

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

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

Топ онлайн-курсов по Android-разработке с нуля
с дипломом и гарантией трудоустройства

Изображение 1

Источник

ВОТ ЧТО МОГУТ СДЕЛАТЬ НЕСКОЛЬКО ТАЛАНТЛИВЫХ ПАРНЕЙ НА СУББОТНИКЕ

Туннель1

Поделиться12Tweet8Поделиться2
Другие статьи
Как оценить свою стоимость на рынке труда: 7 основных правил 1
Work-хаки
Как оценить свою стоимость на рынке труда: 7 основных правил
Завистник
05.08.2022
303
Как узнать, что вас собираются уволить? 12 опасных признаков 1
Work-хаки
Как узнать, что вас собираются уволить? 12 опасных признаков
Завистник
01.08.2022
372

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

ПРОЙДИ ЭКСПРЕСС-ТЕСТ

ПРОЙДИ ЭКСПРЕСС-ТЕСТ - Сможешь ли ты стать программистом?

Сможешь ли ты стать программистом?

ЭТО ВАМ ТОЧНО ПОНРАВИТСЯ:

Волшебное рисование

Телеграм-канал “Креативные штучки”:

Поразительные видео и фото

Удивительные вещи и технологии

ТЕСТ НА ПРОФПРИГОДНОСТЬ:

ТЕСТ НА ПРОФПРИГОДНОСТЬ - Хорошо ли ты знаешь современные бизнес-термины?

Хорошо ли ты знаешь современные бизнес-термины?

Название

Информационно-образовательный проект "Завистник"

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

Категории
  • Топ-курсы
  • Топ-книги
  • Топ-профессии
  • Топ-профессии
  • Топ-зарплаты
  • Карьера
О сайте

Лучшие курсы программирования, дизайна, игр, английского языка.
Обзоры самых перспективных профессий с зарплатой до $7000.
Трудоустройство и карьера.

  • ГЛАВНАЯ
  • КОНТАКТ
Карта сайта

Zavistnik © 2021. Копирование статей разрешается только с активной ссылкой на источник. Продвижение сайтов от site-ok.ua

No Result
View All Result
  • Топ-курсы
    • Программирование
    • Дизайн, UX, геймдизайн
    • Бизнес, маркетинг, реклама
    • Аналитика
    • Иностранные языки
    • Саморазвитие
    • ЕГЭ, ОГЭ, школьные предметы
      • Подготовка к ЕГЭ и ОГЭ
      • Курсы и репетиторы для школы
      • Подготовка к школьным олимпиадам
      • Лайфхаки для ОГЭ, ЕГЭ и школьных предметов
  • Топ-книги
    • Топ книг по программированию и разработке
    • Топ книг по графическому дизайну, UX, гейм- и веб-дизайну
    • Книги по бизнесу, маркетингу, рекламе, PR
    • Книги по саморазвитию
    • Учебники и самоучители иностранных языков
  • Топ-профессии
    • Топ-зарплаты
  • Карьера
    • Смена профессии: личный опыт
    • Work-хаки
    • Английский на 100%
    • Иммиграция-2022
  • Самое-Самое
  • Блог Завистника
    • Лайфхаки
    • Тесты для УО
    • Кто есть Who
    • Очень странные дела

Zavistnik © 2022. Копирование статей разрешается только с активной ссылкой на источник. Продвижение сайтов от site-ok.ua