Данке Код
130 subscribers
232 photos
64 videos
35 links
Делюсь личным опытом, своими мыслями об IT и не только

by @nurgalievd iOS Engineer 2GIS, ex VK
Download Telegram
Мы уже в аэропорту и готовы лететь отдыхать 🏖️

Взял с собой нерабочий mac air(m1, 16, 512). Компактный, легкий - супер для поездок, да и отлично справляется на небольших - средних проектах! поэтому, если вы думаете, что брать на старте изучения / учебы, то смело берите не топовые комплектации и вам точно хватит на ближайшие годы
🔥6👌3😍2
This media is not supported in your browser
VIEW IN TELEGRAM
❤‍🔥9🍓2
This media is not supported in your browser
VIEW IN TELEGRAM
🤣6😍4
заканчивается наш отпуск, завтра уже снова за шарманку 🧑‍💻🥹
🔥73😍1
Друзья, всем привет! Давно меня тут не было, но на это были причины 😁 Расскажу все по порядку)

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

Вообще, смотрю на такие критерии:

1. продукт - тут круто, если я им сам пользуюсь
2. техническая команда - важно, чтобы в команде была важна качественная техническая составляющая, только в таком случае будет рост
3. зп в рынке, а лучше выше, все таки в таком мире живем)) - ну тут без комментариев

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

1. Тех интервью(6 задач в лайвкодинге)
2. 1 алгоритмическая задача
3. Product(System) Design

Напомню, это все было перед отпуском, поэтому я сказал, что хотел бы поставить первое собеседование через 2 недели после того как, я вернусь из отпуска. Тут все без проблем, мы их запланировали.

Я переживал только за алгоритмы, так как решал их не очень много, а в них нужна практика. Поэтому я начал подготовку уже перед отпуском и в отпуске выделял по 2 часа в день))
This media is not supported in your browser
VIEW IN TELEGRAM
🔥87😍4
Собеседования в Яндекс

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

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

Второй этап - алго сессия. Тут на мобилках они чуть упростили и теперь это только одна задача изи/медиум уровня. Тут нужно понимать, что неважно, какой у тебя опыт, их просто нужно много прорешать, чтобы уверенно решить задачу за 30 минут. Я выбрал для себя следующий план: 2 недели плотно решал задачи на литкоде, но не упарывался в слишком сложные, потому что у меня просто не было на это времени. Я взял по 3-5 задач по каждой теме(хэш мапа, бинарный поиск, два указателя, плавающее окно) и прорешивал их по многу раз. На интервью мне попалась задача +-, которую я решал, поэтому тут мне повезло и этот этап я тоже успешно прошел.

Третий этап - system design. Изначально мне сказали, что оно опциональное, но если его пройти, то в потенциале может быть выше грейд. Я сказал, что буду его проходить, так как в этом этапе я уверенно себя чувствую.

Но на деле оказалось, что это больше product design, где мне нужно было с нуля выстроить процесс создания нового продукта - альт стора для айфонов. Напомню, что это собесы на позицию iOS разработчика)) То есть мне буквально нужно было сказать, какую команду бы я набирал, какие сроки поставил, как бы выстроил процесс работы. В целом, я его прошел нормально, но так как такого опыта у меня никогда не было, то этого не хватило для прохождения этого этапа. Тут интересно послушать мнения, насколько вообще ок такого этапа для разработчика? Больше собес на продукта/тимлида, в моем понимании))

Но, как я и сказал, этот этап был опциональный, поэтому меня все равно позвали на знакомства с командами. Тут началось самое смешное. Это уже был конец августа, а первый созвон с рекрутером был в конце июля) После всех этапов она сказала, что пошла планировать знакомства с командами, чтобы в случае чего я мог выбрать. Но тут она пропадает на несколько дней, после нескольких моих сообщений поступает ответ: "К сожалению, ребята сейчас приостановили поиск в Казани или удаленно 😭😭 стучалась ко всем командам в Яндексе , теперь только с релокацией в Москву или Питер". Это, конечно, полный сюр, особенно когда на все этапы ты тратишь месяц. Но в реальности они практически все вакансии изменили на офис/гибрид. Для меня это странно, особенно, когда у них пол компании сидит на удаленке.

В общем, по ним я для себя вывод сделал 🙂
🔥8🤬7😱5
Собеседование в Т-Банк

Как писал выше, мне понравилась вакансия в Яндексе и я сделал упор на прохождение туда. Сам я на другие вакансии не откликался. Но, через какое-то время мне написала рекрутер из Тинькофф. В целом, продукт Т-Банка мне тоже импонирует, решил тоже попробовать пройти. У них все намного адекватнее и быстрее:

1. Тех собеседование(теория + 1 задача лайвкодинг)
2. Дизайн система в классическом понимании для разработчика
3. Знакомство с командой

Тут первый этап я прошел на троечку, все-таки теория уже тяжелее дается, нежели лайвкодинг, но на следующий этап меня все равно позвали. Дизайн систему прошел неплохо и следующим этапом было знакомство с командой. В целом, мне понравилась команда и ребята, но это второстепенный функционал банковского приложения, поэтому сам продукт мне не сильно зашел. Но все этапы прошел успешно и они назвали сумму, которую были готовы заплатить. С учетом самого продукта(именно внутри банка) и суммы, которую мне предложили, я решил отказаться - все-таки не то, что я хотел)
🔥104👀3
Увольнение из ВК и переход в 2GIS

И, наконец, финал всей этой эпопеи)) Перед финалом в Тинькофф мне написала ректутер из 2GIS. Тоже продукт, который мне очень нравится и которым я часто пользуюсь. Пообщался с рекрутером, все понравилось, поставили собеседования, у них еще проще:

1. Лайвкодинг
2. Знакомство с командой

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

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

Тут хочу сказать, что VK, а в частности Mail - крутой работодатель и эти 3 года мне было невероятно круто работать. Но в последнее время я чувствовал, что уже не так горят глаза в продукте, который мы делаем(это касается и технической, и продуктовой части), поэтому посчитал, что полная смена контекста будет самым верным решением)
🔥118🍾6😍5
Подготовка к собеседованиям

Спросили интересный вопрос про подготовку, совмещая это с текущей работой. Я как раз хотел об этом рассказать!

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

Далее очень важно иметь план, что нужно изучить, так как без чёткого роадмапа начинаешь тонуть в куче информации, и перед собеседованиями кажется, что ты вообще ничего не знаешь.

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

Теперь сам этап подготовки на моём примере:

В силу опыта + просмотра большого количества мок-собесов, у меня в голове всегда возникали вопросы, которые я хотел изучить глубже — каждый из них я записывал в заметки и далее с помощью нейронок разбирал глубже (это супер удобно сейчас, моё любимое — это когда тему, которую я не понимаю, прошу объяснить простым языком с примерами 😂). Скрин я приложу, как выглядел мой последний такой список. Тут важно их не просто копировать, а набирать и текст, и код руками.

Подготовку к алгоритмам я описывал выше, но вот классный сайт с роадмапом по темам — https://neetcode.io/roadmap. А ещё тут тоже классно смотреть мок-собесы, где их решают.

Поэтому такой был общий план по подготовке. Но перед каждым собеседованием я по чатикам, либо у знакомых искал какую-то доп. информацию, чтобы почитать про какие-то специфичные вопросы, которые часто спрашивают именно в этой компании.
🔥6🤩221🤯11
Еще обещал рассказать про последнюю задачу, которую мы делали в мейле - генерация письма с помощью AI. Понятно, что вся генерация происходит на бекенде, но на клиенте были сложности именно в UI части, но тут нужно понимать наш контекст:

1. само написание письма на objective-c, а письмо в нем - webview
2. шторка должна быть по контенту, а одна из шторок меняет размер при вводе текста
3. шторка взаимодействует с клавиатурой - те, кто работал с клавиатурой в iOS понимают всю боль)

Шторку с клавиатурой сделал на UIKit, так как была проблема с динамическим обновлением. Скорее всего, на SUI тоже можно было сделать, но я решил не тратить время. А статичная шторка на SUI - тут очень компактно получилось сверстать и сделать анимацию схлопывания одного из блоков)

Для шторок использовал относительно новое системное апи, а для кастомизации размеров в этом же апи появилось возможность задавать кастомный размер(правда с 16 iOS, но у нас она как раз минимальная)

В итоге получилось неидеально, но результат мне нравится 🙂
🔥953