Инновации и инсайты в мире Java из первых уст. Новая конференция Java Fest — 21 марта >>
×Закрыть

Вопросы на собеседование для Jr. Android Developer

Здравствуйте. Хотелось бы сказать, что ответ на свой вопрос я искал много где (в том числе и на доу), и гуглил, и всё в таком духе. Просто везде (абсолютно) чётко написано по java core для джуна на андроид, но крайне по-разному по самому android sdk. Хотелось бы узнать от людей которые собеседуют (или недавно собеседовались :D ), какие вопросы задают по андроиду на подобных собеседованиях.

Заранее благодарю за ответы и советы.

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Не знаю. Я сколько не хожу вопросы все меньше по теме. Спрашивают опыт, проекты, образование. По Java ни разу. Про стеки ни разу. В основном дают тестовое задание и по нему спрашивают как ты его делал. Все со скучным лицом «давай удиви меня». Как правило вопросы кончаются после вопроса по желаемой ЗП. Все ждут опытного дева за 300-400$.

Сколько не хожу на собеседования, больше всего интересуются твоим опытом по Android.
В каких проектах участвовал, какой стэк технологий использовал. Есть ли проекты на гугл плей и работал ли с Rx сейчас самые задаваемые вопросы на собеседовании, и неважно что идешь на джуна. Ну и и тестовое задание, которое в основном касается RestApi запросов.
Джаву кор практически не спрашивали, в основном по паттернам, много поточность и коллекции.
И не думайте, что это какой то экзамен, где ответил на простые вопросы по кору, и даже на хитрые знал ответ(!) и якобы отстрелялся. Из Android тут скорее всего, надо будет знать еще ответ на вопрос: кто наследуется от Context кроме Activity? Но, в первую очередь это конкурс на место, и чтобы понравится лучше все таки обладать стэком технологий на который идет спрос.
Моя рекомендация поделать тестовые проекты на неделю, специально для той или иной технологии, например поработать с Retrofit 2, написав запросы к Flikr , используя FlickrApi. Подгрузить фотографий с Picasso. И то что вы умеете сохранять в SQLite это прекрасно, но при устройстве желательно убедить,что вы это делаете не голыми руками а OrmLite-ом например.
Просто запомните, обладая технологиями вы будете привлекательней)

Есть огромный список вопросов по Java, которые можно услышать на собеседовании «327 вопроса на собеседование Java Developer» becomejavasenior.com/...questions-java-developer

да есть, а вот по Андроиду только на гитхабе видел вопросы и то жиденько

Может сразу накидаете по C++, пожалуйста? :)

Лучше походить по собеседованием.
Ту компанию в которую больше всего хотите — оставьте напоследок. Как минимум нервничать не будете уже.

А вообще, мне кажется Джуна и надо спрашивать больше по Java Core чем по самому SDK. Ведь это больше приходит с опытом уже.

А еще нужно быть готовым ко всяким дурацким вопросам (почему люк круглый, и сколько составов в метро), которые стали популярны после статьи о том как проходит собеседование в гугле/яейсбуке/и т.д.

Увы, в моём городе вакансий столько, что нет возможности «ходить » по ним )
Поэтому надо выкладываться на том, что найдёшь

Спасибо за советы, а вопросы и впрямь странные, лучше уже написать что-то)

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

К чёрту это волнение, я не дам ему что-то испортить)

Конечно неплохой опыт, это очевидно. Живи я в городе, где вакансий побольше — так бы и делал, а так, нужно выложиться уже в первый раз.
Так что настрой есть, к тому же посоветовали много полезных вещей, так что что-то да будет)

на HTTP и REST обрати особое внимание, тут ниже писали, но я отдельно подчеркну

Вот, кстати, да. Хотелось бы ещё по поводу REST-а спросить в отношении андроид разработки : насколько особое внимание ?
На уровне «это архитектурный стиль » и методы перечислить, или уметь объяснять разницу между ним и SOAP, и, к примеру, знать REST взаимодействие в андроид приложениях (паттерны ).
Собственно, не то, что я буду вникать меньше, в первом случае, просто хотелось бы примерно знать, чего ожидать.

в идеале попробуй написать какое-то простенькое приложение на уже готовом API, используя например Retrofit и на 95% вопросов про рест для джуна ты ответишь

UPD: конкретно вопросы будут про то где рест можно использовать и что он из себя представляет, и некоторые практические, ответы на которые узнаешь если попробуешь сделать это на практике

О, retrofit выглядит весело, попробую )
Спасибо за советы )

Вопросы,конечно, хорошо.

После первого же собеседования Вы поймёте, что «зазубрить» ответы на список вопросов не достаточно.
Цель собеседования — понять, знаете ли Вы опредлённые технологии и понимаете ли.
Если эти знания и понимание есть, то учить конкретные вопросы не нужно.
А если их нет — то эти вопросы и ответы на них не помогут.

Никто не говорит, что я буду заучивать )
Просто хочется видеть спектр, на который нужно ориентироваться. Ибо уж слишком много всяких фич, и все запомнить невозможно. А вот просто выделить то, чего ждут от джуна, и разбираться в данной области — это уже проще )
Так что как-то так

Тогда дерзайте. Удачи Вам )

Держи личную пачку инфы, которую копил около 8-9 месяцев, просто накидывал все что находил, может что-то и повторяется:

жизненый цикл основных элементов, работа с фрагментацией ресурсов
внутренние классы, оверрайд методов
android interview questions
По андроиду
1)Что такое BroadcastReceiver
2)Что такое Intent
3)Разница между AsyncTask и Service
4)Fragments и с чем его едят
5)Как создать кастомный контрол
6)Жизненный цикл Activity
3 принципа ООП

ограничение в фоне потоки
тракзации
сервисы (просмотреть) map
push-уведомления
retrofit

компоненты андроид приложения(фрагменты*, активити)

snack bar
recyclerview
Dagger
volley
butterknife
gson
Java Android (Activities, Fragments, Custom views (xml + java); Services, Broadcast Receivers, AlarmManager; Multithreading; Content Providers; Location services; etc.).
Social Integration (Facebook, Instagram), REST API.
Знание библиотек (Retrofit, Robospice, Volley, Otto, Butterknife, Orm Lite, Picasa, Gson)

писать юнит-тесты или суметь быстро разобраться как это делается;
— знать как работает HTTP, что такое REST и зачем его использовать. Socket vs WebSocket vs Long-polling — темы для обсуждения на собеседовании;

Jackson
GSON
REST
git
Retro fit
контент провайдеры
ресиверы
сервисы
синглтон, стратегия, различные фабрики, наблюдатель, декоратор

Крайне обширно, теперь ещё больше глаза разбегаются)
Спасибо большое)

немного дополню

+ JSON
+ XML
+ лоадеры
+ многопоточность
+ разница между сервис и интентсервис
+ какие операции выносить из UI-thread
+ обновление UI из фонового потока
+ интерфейсы

PS ну и в портфолио что-то надо, да.

много из этого джун в общем то и не должен знать. классика — это жизненный цикл активити, фрагмента и базовый джава кор

А что если я скажу, что по всему этому мне задавали вопросы в общей сумме всех собеседований на джуна?
С такой классикой джун далеко не уедет. Точнее, останется за бортом. Не нужно подобные советы давать.

автор интересуется "

какие вопросы задают по андроиду на подобных собеседованиях
, следовательно у него не было до этого коммерческого опыта и я думаю очень маловероятно, что его будут спрашивать про
snack bar
или
Socket vs WebSocket vs Long-polling
знание библиотек вообще должно быть только на уровне «что они делают». лучше не засорять себе голову не нужными пока вещами и сконцентрироваться на действительно полезном

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

это жизненный цикл активити, фрагмента и базовый джава кор
На этом далеко не уедешь

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

Еще можно спросить про различия в паттернах MVC/MVP/MVVM. Ну и поинтересоваться имел ли кандидат опыт с RxJava

Хахахаха! MVVM :)

Это местечковый полупаттерн-полукостыль, оправданный исключительно внутри своей экосистемы: WPF+XAML. Всякие попытки притянуть его за уши на другие платформы, извините, пованивают.

cargocultsoftwaredevelopment.blogspot.com/...m-death-knell-of-wpf.html

Много лет назад проходил собеседование, может уже поменялось всё, то меня спрашивали вообще по всему Android SDK (от лёгких вещей до сложных проблем, комплексно оценивали) + знание REST’a, то есть HTTP коды и т.д.. И задание было реализовать аутентификацию на сервере с basic authentication, загрузкой профилей пользователей и отображении их в ListView. Как я понял, целью было проверить сразу умение писать читаемый код, знания какой-либо либы для удобной работы с рестом и знание паттерна fly weight на примере ViewHolder’a. Задание не делал, ибо раньше получил оффер по BackEnd’y, что было приоритетнее.

Задание нужно было выполнять на месте, или домашнее ?
Спасибо за совет )

Задание на месте на самом деле мало чего может сказать.

А что то вроде «напишите код переворачивающий строчку», скорее хотят просто посмотреть как вы думаете. Так что если просят что то подобное, лучше рассуждать вслух)

А что, есть вакансии для андроид джунов? :)

те, что на ДОУ, не подходят?

Раньше Самсунг брал джунов без проблем. И требование было не высоким.
Мне кажется для старта, это отличная компания, судя по отзывам.

Не знаю правда как сейчас ситуация

Пройдите парочку — получите практический опыт и примерное понимание из какой области будут встречаться вопросы. Еще и научитесь чему то.

Много примеров тестовых заданий для android dev: www.evernote.com/...f0dc16cce0ba511a888a470a2

Ух ты, моя заметка гуляет интернетами :)

Ранее как-то на доу в обсуждении увидел и сохранил про запас)

Вы думаете что после dou.ua/forums/topic/16843 Вас все еще пригласят на собеседование? ))

А что такого резонансного вы нашли в этом топике ?

представьте что вы хотите пригласить челаовека на собеседование и уверены что вашу беседу выложатв интернете. пригласите ?

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

Ну тут нет ничего личного. Вас я прекрасно понимаю. Возможно просто я так бы не сделал. Вернее я так не сделал, хотя мне разное на интервью говорили )))) В любом случае Вам успехов в трудоустройтве. А про матчасть — это не предсказуемо: то что спрашивают одного — возможно не спросят у другого. Думаю возможность создания не очень сложного приложения
прямо на интервью на 3-4 активити даст вам возможность получить работу.

Спасибо большое, буду стараться )

Вполне. Я много собеседовал и любое собеседование выложил бы без проблем.
Имеется ввиду только техническую часть.
Да и вроде бы в том топике не указаны данные интервьювера.

Готовься по следующим пунктам, не прогадаешь:

— Java Core(Collections, concurency, OOP);
— Android SDK: Activities, Services, Fragments, Broadcast receivers, Network communication, поддержка фрагментации, разметки;
— SQL;
— Base algorithms: простое задание на реализацию;
— Design patterns — какие знаешь/использовал и почему;
— Gradle: по верхам, что такое, как подключить зависимость, тесты;
— Git базовые операции;
— Тесты: зачем нужны, какие виды есть, популярные библиотеки.

як живе актівіті, фрагменти, сервіс, інтент сервіс, контент провайдер, броудкаст ресівер. не зовсім по сдк, але мабуть нада знати щось для для депенденсі інджекшен. ну і матеріальний дизайн.

ну і матеріальний дизайн.
а что здесь имеется в виду?

Ну наверное гайдлайны от Google.

Подписаться на комментарии