Welcome пост
Всем привет! Я — Артур, автор этого блога 👋
Мотивация его создания проста: развивать личный бренд, масштабировать нетворкинг и продавать себя как инженера. За моими плечами запуск мультиаккаунта в VK, реализация многомодульности и DI в VK ID SDK, запуск десятков фичей в нем (AccountManager, cross auth via ipc communications, backup, etc). Двое моих менти получили сеньорские офферы в Tinkoff, VK, Yandex, Aliexpress.
Работаю в IT больше пяти лет, последние три года — в VK, закончил ФКН ВШЭ. У меня накопился опыт, который я хочу компилировать и которым хочу делиться публично.
Что будет публиковаться на канале:
- посты о мобильной разработке;
- как развивать карьеру;
- как получать больше денег;
- полезные советы по программированию;
- смешные истории из личного опыта;
- разбор психологических проблем разработчиков.
Подписывайся;)
Всем привет! Я — Артур, автор этого блога 👋
Мотивация его создания проста: развивать личный бренд, масштабировать нетворкинг и продавать себя как инженера. За моими плечами запуск мультиаккаунта в VK, реализация многомодульности и DI в VK ID SDK, запуск десятков фичей в нем (AccountManager, cross auth via ipc communications, backup, etc). Двое моих менти получили сеньорские офферы в Tinkoff, VK, Yandex, Aliexpress.
Работаю в IT больше пяти лет, последние три года — в VK, закончил ФКН ВШЭ. У меня накопился опыт, который я хочу компилировать и которым хочу делиться публично.
Что будет публиковаться на канале:
- посты о мобильной разработке;
- как развивать карьеру;
- как получать больше денег;
- полезные советы по программированию;
- смешные истории из личного опыта;
- разбор психологических проблем разработчиков.
Подписывайся;)
Шифрование в Android — это ад
Пару недель реализовывал шифрование кредов пользователя. В Android SDK много проблем, но такого я не ожидал:
- нет никаких гарантий успешности шифрования и дешифрования;
- инициализация и операции работают долго и могут приводить к ANR’ам;
- в документации и официальных библиотеках нет информации, как это побороть.
Ты можешь рассчитывать только на божью помощь. Из-за ошибок придется записывать секретные данные в fallback хранилище без шифрования, чтобы написать безопасную и оптимальную реализацию. Ещё один вариант — считать, что у тебя нет данных и чистить хранилище, а все операции выполнять строго на отдельном потоке.
Бонусом посмотрел, как шифруют в Telegram, Facebook, Tinkoff и Яндекс. Только у Яндеса нашел EncryptedSharedPreferences с названием auth.xml. Все остальные этого не делают. Пруфы в комментариях.
А вот шифрование в iOS работает безопасно, быстро и в одну строчку кода 🤡 Подробнее об этом с кодом и деталями скоро расскажу статье, которая выйдет на Habr совместно с VK.
А в номинации китаец кода побеждает Oppo, на котором операции работают дольше всего.
Пару недель реализовывал шифрование кредов пользователя. В Android SDK много проблем, но такого я не ожидал:
- нет никаких гарантий успешности шифрования и дешифрования;
- инициализация и операции работают долго и могут приводить к ANR’ам;
- в документации и официальных библиотеках нет информации, как это побороть.
Ты можешь рассчитывать только на божью помощь. Из-за ошибок придется записывать секретные данные в fallback хранилище без шифрования, чтобы написать безопасную и оптимальную реализацию. Ещё один вариант — считать, что у тебя нет данных и чистить хранилище, а все операции выполнять строго на отдельном потоке.
Бонусом посмотрел, как шифруют в Telegram, Facebook, Tinkoff и Яндекс. Только у Яндеса нашел EncryptedSharedPreferences с названием auth.xml. Все остальные этого не делают. Пруфы в комментариях.
А вот шифрование в iOS работает безопасно, быстро и в одну строчку кода 🤡 Подробнее об этом с кодом и деталями скоро расскажу статье, которая выйдет на Habr совместно с VK.
А в номинации китаец кода побеждает Oppo, на котором операции работают дольше всего.
База знаний, или как я все забываю
У меня ужасная память. Вспомнить жизненный цикл компонентов или припомнить ответ на вопрос на собеседовании — тяжелейшая задача. Когда 3 года назад я провалил очередное собеседование из-за того, что не вспомнил какую-то хренотень из андроида, стало понятно — пора заводить базу знаний.
Сейчас у меня есть огромный каталог в Notion по программированию с собеседованиями, конспектами из книг, планами занятий с учениками — набор неограниченный. Примеры моих эталонных постов на скриншотах.
Даже если у вас хорошая память — вести Notion или Obsidian стоит хотя бы по двум причинам:
1. На собеседовании можно быстро найти ответ на вопрос без гуглежки. Даже не представляю, как бы проходил собеседования без этой базы: там хранятся ответы на большинство вопросов.
2. Структуризация знаний.
При этом я не использую заумные темплейты — пишу, как чувствую. Но к некоторым шаблонам можно присмотреться, например как на последнем скриншоте.
А ниндзя-джедаи заметчики используют систему Zettelkasten в связки с Obsidian: она позволяет структурировать заметки посредством мета-связок со всей имеющейся информацией в базе.
Но главным преимуществом подобной базы знаний для меня остается одно — значительно проще проходить собеседования.
У меня ужасная память. Вспомнить жизненный цикл компонентов или припомнить ответ на вопрос на собеседовании — тяжелейшая задача. Когда 3 года назад я провалил очередное собеседование из-за того, что не вспомнил какую-то хренотень из андроида, стало понятно — пора заводить базу знаний.
Сейчас у меня есть огромный каталог в Notion по программированию с собеседованиями, конспектами из книг, планами занятий с учениками — набор неограниченный. Примеры моих эталонных постов на скриншотах.
Даже если у вас хорошая память — вести Notion или Obsidian стоит хотя бы по двум причинам:
1. На собеседовании можно быстро найти ответ на вопрос без гуглежки. Даже не представляю, как бы проходил собеседования без этой базы: там хранятся ответы на большинство вопросов.
2. Структуризация знаний.
При этом я не использую заумные темплейты — пишу, как чувствую. Но к некоторым шаблонам можно присмотреться, например как на последнем скриншоте.
А ниндзя-джедаи заметчики используют систему Zettelkasten в связки с Obsidian: она позволяет структурировать заметки посредством мета-связок со всей имеющейся информацией в базе.
Но главным преимуществом подобной базы знаний для меня остается одно — значительно проще проходить собеседования.
Engineering notes | Артур Илькаев
Шифрование в Android — это ад Пару недель реализовывал шифрование кредов пользователя. В Android SDK много проблем, но такого я не ожидал: - нет никаких гарантий успешности шифрования и дешифрования; - инициализация и операции работают долго и могут приводить…
Подоспела моя статья на habr по обзору инструментов шифрования. Внутри — как использовать актуальные инструменты защиты данных с примерами кода, как они работают на разных устройствах, подводные камни.
С остальными моими статьями и выступлениями можно ознакомиться по ссылкам:
- "обзор актуальных инструментов шифрования в Android": https://habr.com/ru/companies/vk/articles/776728/
- "интеграция GraphQL в мобильное приложение": https://vk.com/vkteam?w=wall-147415323_11874
- "раз и навсегда побеждаем неоднородные списки": https://www.youtube.com/live/AURZeIwtQXc?si=fMAPoi80Te8-o-9U&t=2531
- "хакатоны и чемпионаты по программированию, how to win": https://habr.com/ru/articles/532962/
- open source lib для сканирования QR и штрих-кодов: https://habr.com/ru/sandbox/137900/
С остальными моими статьями и выступлениями можно ознакомиться по ссылкам:
- "обзор актуальных инструментов шифрования в Android": https://habr.com/ru/companies/vk/articles/776728/
- "интеграция GraphQL в мобильное приложение": https://vk.com/vkteam?w=wall-147415323_11874
- "раз и навсегда побеждаем неоднородные списки": https://www.youtube.com/live/AURZeIwtQXc?si=fMAPoi80Te8-o-9U&t=2531
- "хакатоны и чемпионаты по программированию, how to win": https://habr.com/ru/articles/532962/
- open source lib для сканирования QR и штрих-кодов: https://habr.com/ru/sandbox/137900/
Работа за идею
Многие компании любят распевать о том, что нужно работать за идею, а не за деньги. Но давайте будем честны: все коммерческие организации работают ради извлечения прибыли. И чтобы делать это еще лучше, они продвигают концепцию того, как этот замечательный банк или социальная сеть делает жизнь лучше и объединяет людей.
Я понимаю, все мы хотим, чтобы наша работа имела смысл, и не хотим считать себя crud'ошлепами или красильщиками кнопок. Но не забывайте, вы — специалист, и вы продаете своё время и экспертизу за деньги. Когда вы соглашаетесь на работу в очередном AI-крипто-стартапе или ведётесь на уловку компаний про работу за идею — вы буквально воруете у себя деньги, ваша жизнь никак не улучшается качественно, а через полгода работы вы понимаете, что вас обманули.
Если вам рассказывают, как какая-либо потрясающая идея сотрясет мир, — проверьте, будет ли в вашем договоре закреплено право хотя бы на кусочек идеи в виде акций или опционов. Если нет, то сначала кэш — потом идея, а не наоборот.
Многие компании любят распевать о том, что нужно работать за идею, а не за деньги. Но давайте будем честны: все коммерческие организации работают ради извлечения прибыли. И чтобы делать это еще лучше, они продвигают концепцию того, как этот замечательный банк или социальная сеть делает жизнь лучше и объединяет людей.
Я понимаю, все мы хотим, чтобы наша работа имела смысл, и не хотим считать себя crud'ошлепами или красильщиками кнопок. Но не забывайте, вы — специалист, и вы продаете своё время и экспертизу за деньги. Когда вы соглашаетесь на работу в очередном AI-крипто-стартапе или ведётесь на уловку компаний про работу за идею — вы буквально воруете у себя деньги, ваша жизнь никак не улучшается качественно, а через полгода работы вы понимаете, что вас обманули.
Если вам рассказывают, как какая-либо потрясающая идея сотрясет мир, — проверьте, будет ли в вашем договоре закреплено право хотя бы на кусочек идеи в виде акций или опционов. Если нет, то сначала кэш — потом идея, а не наоборот.
Алгоритмы на работе
Впервые за карьеру мне попалась алгоритмическая задача: нужно было хитро сравнивать json’ы в рамках Е2Е тестирования событий аналитики. Пришлось напрячь все мозговые волны (нет), чтобы реализовать сложнейший DFS (нет) с парочкой условий. После решения вбил задачу в ChatGPT — решил за 2 минуты. А потом 2 дня возился с CI.
К чему это я?
Алгоритмы переоценены. Нет никакого смысла их учить, кроме как подготовки к собеседованиям или фана (см. предновогодний advent of code). Может быть, я работаю в «недостаточно технической компании/команде», но алгоритмы вам не пригодятся: просто вспомните, сколько раз вам приходилось использовать их на работе.
Компании спрашивают алгоритмы только для того, чтобы сократить воронку найма, а не чтобы нанять лучших инженеров. Есть даже тенденция на спад в Android вакансиях: авито, яндекс, сбер, вк — easy level leetcode, деревья и дп встретишь крайне редко, тиньк алгоритмы не спрашивает вообще в мобильных вакансиях.
📌 Вот моя подборка алгоритмов, которые я или мои знакомые получали на собеседованиях.
А если вдруг тебе очень нужно наняться в FAANG, есть компании, которые готовят ко всему процессу: начиная с резюме, пролжая system design interview, заканчивая переездом.
Впервые за карьеру мне попалась алгоритмическая задача: нужно было хитро сравнивать json’ы в рамках Е2Е тестирования событий аналитики. Пришлось напрячь все мозговые волны (нет), чтобы реализовать сложнейший DFS (нет) с парочкой условий. После решения вбил задачу в ChatGPT — решил за 2 минуты. А потом 2 дня возился с CI.
К чему это я?
Алгоритмы переоценены. Нет никакого смысла их учить, кроме как подготовки к собеседованиям или фана (см. предновогодний advent of code). Может быть, я работаю в «недостаточно технической компании/команде», но алгоритмы вам не пригодятся: просто вспомните, сколько раз вам приходилось использовать их на работе.
Компании спрашивают алгоритмы только для того, чтобы сократить воронку найма, а не чтобы нанять лучших инженеров. Есть даже тенденция на спад в Android вакансиях: авито, яндекс, сбер, вк — easy level leetcode, деревья и дп встретишь крайне редко, тиньк алгоритмы не спрашивает вообще в мобильных вакансиях.
📌 Вот моя подборка алгоритмов, которые я или мои знакомые получали на собеседованиях.
А если вдруг тебе очень нужно наняться в FAANG, есть компании, которые готовят ко всему процессу: начиная с резюме, пролжая system design interview, заканчивая переездом.
Опубликовали показательное System Design Interview по проектированию приложения с моим участием. Это одна из самых сложных секций собеседования: в ней много подводных камней, нет статьи по типу «топ-100 вопросов на проектировании архитектуры».
В видео я осветил большую часть сложных вопросов этой секции:
- анатомию фиче-модульной архитектуры;
- чистую архитектуру с подробностями реализации;
- real-time протоколы
- выбор инструментов;
- single source of truth.
https://youtu.be/OdEUqeJzrLA?si=cBRcZ3IvbR_Tjjy6
В видео я осветил большую часть сложных вопросов этой секции:
- анатомию фиче-модульной архитектуры;
- чистую архитектуру с подробностями реализации;
- real-time протоколы
- выбор инструментов;
- single source of truth.
https://youtu.be/OdEUqeJzrLA?si=cBRcZ3IvbR_Tjjy6
YouTube
Android System Design
Android System Design: "Design Crypto App"
Наш замечательный интервьювер:
Игорь Климов ❤️
Android Native/Flutter dev, ex: VK, Mail.ru, WB.
Android mentor: https://ziggsy.notion.site/ziggsy/Android-8b5e340a91fe4ef09922d4fcfcf326d7
Channel about my relocation…
Наш замечательный интервьювер:
Игорь Климов ❤️
Android Native/Flutter dev, ex: VK, Mail.ru, WB.
Android mentor: https://ziggsy.notion.site/ziggsy/Android-8b5e340a91fe4ef09922d4fcfcf326d7
Channel about my relocation…
Тему моего доклада одобрили на Mobius — самую крупную конференцию по мобильной разработке, Хайлоад из мира мобилок. Начинаем готовиться 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
Performance Review — это иллюзия прозрачности
Предновогодняя пора — время performance review и оценки 360, чтобы проверить, как вы выполнили годовые цели и насколько соответствуете матрице компетенцией, и решить, повышать зарплату или нет, и насколько большую дать премию. Выскажу непопулярное мнение: эти процессы — лишь иллюзия прозрачности и объективности, и выгодны они только компаниям.
Во-первых, нет конкретных действий, которые приведут к повышению. В известной матрице компетенция есть такие пункты: «видит большую картинку в целом», «применяет широкий круг библиотек, платформ и систем на экспертном уровне». Что это значит? Что конкретно нужно сделать? Как это оценивается? Прямых ответов на эти вопросы не дают, поэтому составить конкретные шаги действительно сложно. Часто руководители сами не понимают, что тебе нужно сделать, а итоговое решение примет дядя CTO или руководитель подразделения.
Во-вторых, performance review и оценка 360 ≠ объективность. Если компании невыгодно делать повышение — даже самое идеальное техническое решение на performance review можно забраковать субъективной оценкой группы технических менеджеров: «ты применял недостаточно широкий круг библиотек» или «у тебя было недостаточно кросс-командого взаимодействия». Я знаю конкретные случаи, когда в бигтех компаниях отклоняли запросы на повышение ровно с такими формулировками. А затем принимали этот запрос, когда сотрудник приносил оффер от другой компании 😉
В-третьих, и самое важное — нужно уметь нравиться людям. Если я коммуникативный, улыбчивый, ничем не примечательный сотрудник и даже далеко не тяну на позицию выше — я получу повышение, потому что я нравлюсь. Можно и нужно пробовать вывозить за счёт глубокой технической экспертизы и развивать ее, но это гораздо сложнее, а люди куда наивнее и проще.
Все эти процессы — лучше, чем ничего. Появляется хоть какая-то картина того, как можно получить повышение и какое у тебя есть будущее в компании, однако рассчитывать на них и перформить весь год как не в себя — нерационально: велик шанс получить лишь микроповышение, выгореть в гули и ненавидеть работу. Оно вам надо?
Что можно сделать прямо сейчас, чтобы все-таки получить повышение?
Подготовить весомые контр-офферы, регулярно посещая собеседования. Только не бросайтесь ими сразу, а идите через стандартные процессы повышения, имея туз в рукаве.
Предновогодняя пора — время performance review и оценки 360, чтобы проверить, как вы выполнили годовые цели и насколько соответствуете матрице компетенцией, и решить, повышать зарплату или нет, и насколько большую дать премию. Выскажу непопулярное мнение: эти процессы — лишь иллюзия прозрачности и объективности, и выгодны они только компаниям.
Во-первых, нет конкретных действий, которые приведут к повышению. В известной матрице компетенция есть такие пункты: «видит большую картинку в целом», «применяет широкий круг библиотек, платформ и систем на экспертном уровне». Что это значит? Что конкретно нужно сделать? Как это оценивается? Прямых ответов на эти вопросы не дают, поэтому составить конкретные шаги действительно сложно. Часто руководители сами не понимают, что тебе нужно сделать, а итоговое решение примет дядя CTO или руководитель подразделения.
Во-вторых, performance review и оценка 360 ≠ объективность. Если компании невыгодно делать повышение — даже самое идеальное техническое решение на performance review можно забраковать субъективной оценкой группы технических менеджеров: «ты применял недостаточно широкий круг библиотек» или «у тебя было недостаточно кросс-командого взаимодействия». Я знаю конкретные случаи, когда в бигтех компаниях отклоняли запросы на повышение ровно с такими формулировками. А затем принимали этот запрос, когда сотрудник приносил оффер от другой компании 😉
В-третьих, и самое важное — нужно уметь нравиться людям. Если я коммуникативный, улыбчивый, ничем не примечательный сотрудник и даже далеко не тяну на позицию выше — я получу повышение, потому что я нравлюсь. Можно и нужно пробовать вывозить за счёт глубокой технической экспертизы и развивать ее, но это гораздо сложнее, а люди куда наивнее и проще.
Все эти процессы — лучше, чем ничего. Появляется хоть какая-то картина того, как можно получить повышение и какое у тебя есть будущее в компании, однако рассчитывать на них и перформить весь год как не в себя — нерационально: велик шанс получить лишь микроповышение, выгореть в гули и ненавидеть работу. Оно вам надо?
Что можно сделать прямо сейчас, чтобы все-таки получить повышение?
Подготовить весомые контр-офферы, регулярно посещая собеседования. Только не бросайтесь ими сразу, а идите через стандартные процессы повышения, имея туз в рукаве.
Опубликовали System Design по проектированию Firebase. В видео рассмотрели следующие вопросы:
- алгоритмы гарантии отправки крешей и событий аналитики;
- отлавливание краша, если он происходит на первой строчке Application.onCreate() и если ваш ContentProvider выпилили из манифеста;
- отлавливание крэшей на главном потоке;
- хранилища для крэшей и событий аналитики (files + database);
- device_id/installation_id как в Firebase;
- защиту от дублирования событий (local unique key);
- алгоритм действий, если из раза в раз не можем отправить событие аналитики на backend (raw send);
- алгоритмы отправки приоритетных и неприоритетных событий (timer + batching + sqlite observe).
https://youtu.be/SD3N7vyJElc?si=BqprelNQKhKO7YTb
- алгоритмы гарантии отправки крешей и событий аналитики;
- отлавливание краша, если он происходит на первой строчке Application.onCreate() и если ваш ContentProvider выпилили из манифеста;
- отлавливание крэшей на главном потоке;
- хранилища для крэшей и событий аналитики (files + database);
- device_id/installation_id как в Firebase;
- защиту от дублирования событий (local unique key);
- алгоритм действий, если из раза в раз не можем отправить событие аналитики на backend (raw send);
- алгоритмы отправки приоритетных и неприоритетных событий (timer + batching + sqlite observe).
https://youtu.be/SD3N7vyJElc?si=BqprelNQKhKO7YTb
YouTube
Android System Design: Design Firebase library
Наш замечательный интервьювер:
Артур Илькаев ❤️
Senior Android Engineer at vk.com
Android mentor: https://iartr.notion.site/Android-b3536d9fc4e24676bc00ebf06e920319?pvs=74
Telegram channel: https://www.group-telegram.com/artrblog.com
Наш бесстрашный кандидат:
Игорь Климов 👏…
Артур Илькаев ❤️
Senior Android Engineer at vk.com
Android mentor: https://iartr.notion.site/Android-b3536d9fc4e24676bc00ebf06e920319?pvs=74
Telegram channel: https://www.group-telegram.com/artrblog.com
Наш бесстрашный кандидат:
Игорь Климов 👏…
Опубликовал свой GPT плагин, нацеленный на широкую помощь по мобильной разработке и Android в частности: объяснить теорию, помочь с рабочей задачей, написать алгоритм, написать unit/ui тесты и все, что только можно придумать.
Я регулярно использую ChatGPT для обучения и работы, и это значительно экономит мое время. За последние дни он помог написать detekt правило с анализом иерархии классов, решить и объяснить Hard задачу на литкоде, спроектировать resumable upload.
Промпт универсальный и можно использовать для любого стека, его текст напишу в комментариях, за помощью с публикацией можно обратиться ко мне в лс.
https://chat.openai.com/g/g-42c5XZIip-android-mentor
Я регулярно использую ChatGPT для обучения и работы, и это значительно экономит мое время. За последние дни он помог написать detekt правило с анализом иерархии классов, решить и объяснить Hard задачу на литкоде, спроектировать resumable upload.
Промпт универсальный и можно использовать для любого стека, его текст напишу в комментариях, за помощью с публикацией можно обратиться ко мне в лс.
https://chat.openai.com/g/g-42c5XZIip-android-mentor
ChatGPT
ChatGPT - Android mentor
Senior Android developer and Kotlin expert at Google, providing concise, direct coding solutions. Author: https://www.group-telegram.com/artrblog.com
Крепкий сон и эффективная работа
Хочу порекомендовать приложение, которое помогает мне крепко спать, продуктивно работать и хорошо отдыхать — Endel. Оно генерирует звукое фоны под внешние объстоятельства, в которых ты находишься: время, погода, сердцебиение и другие личных данные пользователя. А у подскаста "запуск завтра" есть выпуск о том, как работает приложение и какие задачи в Endel стоят перед бэкенд-разработчиками.
Не реклама. Выспитесь на каникулах;)
Хочу порекомендовать приложение, которое помогает мне крепко спать, продуктивно работать и хорошо отдыхать — Endel. Оно генерирует звукое фоны под внешние объстоятельства, в которых ты находишься: время, погода, сердцебиение и другие личных данные пользователя. А у подскаста "запуск завтра" есть выпуск о том, как работает приложение и какие задачи в Endel стоят перед бэкенд-разработчиками.
Не реклама. Выспитесь на каникулах;)
App Store
Endel: звуки для сна и отдыха
Endel создаёт адаптивные звуковые фоны, помогая вашему телу и сознанию настроиться на любые занятия и легче с ними справляться.
Умиротворяющий звуковой фон генерируется алгоритмом в реальном времени и адаптируется под ваши местоположение, время дня, погоду…
Умиротворяющий звуковой фон генерируется алгоритмом в реальном времени и адаптируется под ваши местоположение, время дня, погоду…
Правильных ответов не бывает…
Еще как бывает!
Регулярно слышу на поведенческих собеседованиях формулировки о том, что правильных ответов на вопросы нет. Все это чушь, чтобы дать кандидату расслабиться. Правильные ответы есть. Это те, после которых тебе дают оффер, а не обещают перезвонить.
Behavioral интервью — это полноценное собеседование, наравне с техническими. Не «просто фит интервью на знакомство с командой». Насколько много тебе дадут денег, зависит от этого интервью. Попросишь 200 — будут закрывать глаза на ответы. Попросишь 300-400 и выше — будь готов отчитывать по полной. Ознакомься с большинством вопросов и заранее ответь на них для себя (#1 #2).
Рецепты на некоторые популярные вопросы:
🍳 «Почему меняешь работу?»: перерос компанию / нет возможностей для роста / медленные процессы / ищу компанию с возможностью удаленки вне РФ.
🍽️ «Расскажи про самую классную задачу»: техническая/коммуникационная сложность + решение проблемы бизнеса + кросс-командное взаимодействие, со всеми договориться + конкретные результаты для бизнеса.
🔪 «Расскажи про самый большой провал»: сломали прод + ... + быстро починили + сделали так, чтобы этого больше не было (автотест / новый процесс в пайплайне публикации) + сделали post mortem и посчитали влияния на бизнес и пользователей.
Еще как бывает!
Регулярно слышу на поведенческих собеседованиях формулировки о том, что правильных ответов на вопросы нет. Все это чушь, чтобы дать кандидату расслабиться. Правильные ответы есть. Это те, после которых тебе дают оффер, а не обещают перезвонить.
Behavioral интервью — это полноценное собеседование, наравне с техническими. Не «просто фит интервью на знакомство с командой». Насколько много тебе дадут денег, зависит от этого интервью. Попросишь 200 — будут закрывать глаза на ответы. Попросишь 300-400 и выше — будь готов отчитывать по полной. Ознакомься с большинством вопросов и заранее ответь на них для себя (#1 #2).
Рецепты на некоторые популярные вопросы:
🍳 «Почему меняешь работу?»: перерос компанию / нет возможностей для роста / медленные процессы / ищу компанию с возможностью удаленки вне РФ.
🍽️ «Расскажи про самую классную задачу»: техническая/коммуникационная сложность + решение проблемы бизнеса + кросс-командное взаимодействие, со всеми договориться + конкретные результаты для бизнеса.
🔪 «Расскажи про самый большой провал»: сломали прод + ... + быстро починили + сделали так, чтобы этого больше не было (автотест / новый процесс в пайплайне публикации) + сделали post mortem и посчитали влияния на бизнес и пользователей.
YouTube
Собеседование на позицию тимлида в продуктовую компанию. Блинов - Быков
Экспертное собеседование на позицию Team Lead в продуктовую компанию. Проверять будут как подходит в продукт, Soft скиллы, навыки управления командой и менеджмента
Интервьюер - Александр Блинов, HeadHunter
Кандидат - Алексей Быков, Revolut, Android GDE…
Интервьюер - Александр Блинов, HeadHunter
Кандидат - Алексей Быков, Revolut, Android GDE…
Hacking System Design Interview v.2
Заканчиваю серию постов – я сделал форк самого известного фреймворка по прохождению секции проектирования систем. Кстати, предыдущие посты можно прочитать здесь: проектирование приложения, проектирование Firebase SDK.
Зачем? Мне не нравится некоторые куски оригинального репозитория, а именно его конечный результат — спроектированные диаграммы. Я считаю их некачественными. Неясно, зачем вводятся те или иные компоненты и как они связаны. Кроме того, некоторые компоненты излишни или вообще не нужны (например, DI Graph, Coordinator).
Доклад с мобиуса “Как пройти архитектурную секцию собеседования” рассматривает лишь проектирование конкретного модуля конкретной фичи с заранее предлагаемый MV* паттерном: почему так? Как устроены остальные фичи? Как устроена связь между фичами? Как устроена многомодульность? Как пройти секцию, если тебя просят спроектировать библиотеку?
📌 Я перевел оригинальный фреймворк и дополнил его фича-модульной и чистой архитектурой, а также своими мыслями, как пройти данную секцию. В планах — перевести примеры с проектированием библиотек и дополнить их.
Крайне приветствуется:
1. Поставить звездочку;)
2. Контрибьютить и дополнять репозиторий.
https://github.com/iartr/mobile-system-design
Заканчиваю серию постов – я сделал форк самого известного фреймворка по прохождению секции проектирования систем. Кстати, предыдущие посты можно прочитать здесь: проектирование приложения, проектирование Firebase SDK.
Зачем? Мне не нравится некоторые куски оригинального репозитория, а именно его конечный результат — спроектированные диаграммы. Я считаю их некачественными. Неясно, зачем вводятся те или иные компоненты и как они связаны. Кроме того, некоторые компоненты излишни или вообще не нужны (например, DI Graph, Coordinator).
Доклад с мобиуса “Как пройти архитектурную секцию собеседования” рассматривает лишь проектирование конкретного модуля конкретной фичи с заранее предлагаемый MV* паттерном: почему так? Как устроены остальные фичи? Как устроена связь между фичами? Как устроена многомодульность? Как пройти секцию, если тебя просят спроектировать библиотеку?
📌 Я перевел оригинальный фреймворк и дополнил его фича-модульной и чистой архитектурой, а также своими мыслями, как пройти данную секцию. В планах — перевести примеры с проектированием библиотек и дополнить их.
Крайне приветствуется:
1. Поставить звездочку;)
2. Контрибьютить и дополнять репозиторий.
https://github.com/iartr/mobile-system-design
GitHub
GitHub - iartr/mobile-system-design: Фреймворк для прохождения System Design интервью
Фреймворк для прохождения System Design интервью. Contribute to iartr/mobile-system-design development by creating an account on GitHub.
НАВИГАЦИЯ
🎭 За кулисами:
- оффер на 600к
- performance review - это иллюзия прозрачности
- правильных ответов не бывает... еще как бывает!
- как ускорить достижение своих целей
- mobius
- исследования зарплат
- каждая решенная задача на литкоде уменьшает твою зарплату
🛠️ Техническое:
- доклад на мобиус "Backup в Android, или как сэкономить бизнесу миллионы"
- шифрование в Android — это ад
- база знаний
- GPT плагин Android ментор
- отзыв на книгу Gang of Four Design Patterns
- культ оверинженеринга
- зачем писать коммит-сообщения на английском?
📐 System Design:
- мок-собеседование по проектирование приложения
- мок-собеседование по проектированию Firebase
- фреймворк прохождения данной секции на собеседованиях
🧠 Майндсет:
- работа за идею
- алгоритмы
- ты ненастоящий программист — таблетка от снобов сеньоров
⏳ Эффективность:
- рекомендация приложения для эффективной работы и крепкому сну
🚀 МЕНТОРСТВО
🎭 За кулисами:
- оффер на 600к
- performance review - это иллюзия прозрачности
- правильных ответов не бывает... еще как бывает!
- как ускорить достижение своих целей
- mobius
- исследования зарплат
- каждая решенная задача на литкоде уменьшает твою зарплату
🛠️ Техническое:
- доклад на мобиус "Backup в Android, или как сэкономить бизнесу миллионы"
- шифрование в Android — это ад
- база знаний
- GPT плагин Android ментор
- отзыв на книгу Gang of Four Design Patterns
- культ оверинженеринга
- зачем писать коммит-сообщения на английском?
📐 System Design:
- мок-собеседование по проектирование приложения
- мок-собеседование по проектированию Firebase
- фреймворк прохождения данной секции на собеседованиях
🧠 Майндсет:
- работа за идею
- алгоритмы
- ты ненастоящий программист — таблетка от снобов сеньоров
⏳ Эффективность:
- рекомендация приложения для эффективной работы и крепкому сну
🚀 МЕНТОРСТВО
🚀 Как ускорить достижение своих целей
Новый год — время перемен. И я знаю только один рецепт быстрого роста в IT — заниматься с ментором. Вашим ментором по мобильной разработке и софт скиллам могу стать я и помочь вам:
- объяснить сложную тему простым языком;
- повысить свой доход;
- подготовить к собеседованиям;
- пройти испытательный срок;
- сменить работу;
- получить высокую оценку на Performance Review;
- сделать код ревью вашего проекта;
- научить продавать себя за самую высокую цену.
Почему я? Занимаю ведущую позицию во ВКонтакте. Достиг зарплатного потолка в 22. Получил офферы в крупные компаний РФ: Tinkoff, Avito, Wildberries, VK, Ростелеком. Запустил проект мультиаккаунта в VK, который экономит компании десятки миллионов рублей; реализовал многомодульности и DI в VK ID SDK; запустил десятки фичей в нем (AccountManager, cross auth via ipc communications, backup, etc).
Вот несколько кейсов моих менти. Всем им можно написать в лс и задать уточняющие вопросы:
- сменил работу из-за низкой зарплаты в Яндексе;
- научился продавать себя и получил оффер на 400к+ с возможностью работы из-за границы;
- ушел из из неразвивающего его Сбера и получил сеньорские офферы;
- нашел точки роста после мок собеседования;
- нашла пробелы в своем пет проекте и поняла, как развивать его дальше.
Сократить путь до роста и дорасти по сеньора: https://iartr.notion.site/Android-Soft-Skills-b3536d9fc4e24676bc00ebf06e920319?pvs=74
Новый год — время перемен. И я знаю только один рецепт быстрого роста в IT — заниматься с ментором. Вашим ментором по мобильной разработке и софт скиллам могу стать я и помочь вам:
- объяснить сложную тему простым языком;
- повысить свой доход;
- подготовить к собеседованиям;
- пройти испытательный срок;
- сменить работу;
- получить высокую оценку на Performance Review;
- сделать код ревью вашего проекта;
- научить продавать себя за самую высокую цену.
Почему я? Занимаю ведущую позицию во ВКонтакте. Достиг зарплатного потолка в 22. Получил офферы в крупные компаний РФ: Tinkoff, Avito, Wildberries, VK, Ростелеком. Запустил проект мультиаккаунта в VK, который экономит компании десятки миллионов рублей; реализовал многомодульности и DI в VK ID SDK; запустил десятки фичей в нем (AccountManager, cross auth via ipc communications, backup, etc).
Вот несколько кейсов моих менти. Всем им можно написать в лс и задать уточняющие вопросы:
- сменил работу из-за низкой зарплаты в Яндексе;
- научился продавать себя и получил оффер на 400к+ с возможностью работы из-за границы;
- ушел из из неразвивающего его Сбера и получил сеньорские офферы;
- нашел точки роста после мок собеседования;
- нашла пробелы в своем пет проекте и поняла, как развивать его дальше.
Сократить путь до роста и дорасти по сеньора: https://iartr.notion.site/Android-Soft-Skills-b3536d9fc4e24676bc00ebf06e920319?pvs=74