Январь 2017. Зеленоград. Все после сдачи экзаменов уезжают к родителям. Впереди отдых. Я тоже в хорошем расположении духа после сдачи крайнего экзамена сел за компьютер и открыл браузер. Зашел на сайт где публикуются вакансии. Ввел свою специальность... Следующий год я не ходил на пары и судорожно проходил курс на JavaRush. Не хочу в Сибирь - 1По моей специальности (производство печатных плат и схем) было очень мало вакансий и практически все в Зеленограде и зарплата откровенно не радовала. А возвращаться в Сургут где зимой лютый колотун, а летом комары с ветром мне не хотелось. Покупал каждый месяц так как так лучше чувствую дедлайн. Первые десять уровней прошел довольно быстро. Каждый следующий раздел давался сложнее. Иногда лежал и думал, что неплохо бы работать грузчиком в США да вот только кто меня туда пустит. Добравшись до 26 уровня (лето 2017) и начитавшись историй, что на 22 уровне люди устроились на работу я с энтузиазмом пошел на собеседование (на самом деле долго собирался с духом). Там меня ждал холодный душ. Ничего об ООП или коллекциях или многопоточности. Дали задачу (проверить есть ли в графе цикл). Почему то при слове граф вспомнил Дракулу и Ван Хельсинга. Потом вспомнил граф из дискретной математики и у меня на лбу выступил холодный пот. Я понятия не имел как это сделать с помощью языка программирования. Как представить граф и его матрицу смежности. Однако собеседующий видимо решил, что мало мне мучений и после того как я промямлил что не знаю как найти цикл дал мне задачу на динамическое программирование (это я сейчас знаю как это называется). Что то про размен монеток. Закономерно не услышав от меня хоть что-то вменяемое он посоветовал мне вспомнить основы computer science и попрощался со мной (спасибо ему большое). Решив что я по ошибке забрел в какой то филиал Гугла пошел еще на два собеседования. Однако там тоже дали задачи на алгоритмы и структуры данных. Задачи были попроще однако на них я потратил много времени и сделал неправильно. Получив два отказа важно было не впасть в депрессию. Поэтому пришел домой и начал шерстить интернет на предмет наличия курсов по решению вот таких вот задач с собеседований. На каком то форуме юзер с аниме девочкой на аватарке посоветовал мне сайт который начинается на leet а заканчивается на code и пожелал успехов. Задачи с Javarush не направлены на то чтобы вы стали крутым олимпиадным программистом. Они знакомят вас с языком и дают неплохой бэкграунд использования Java. Проходил курсы на Javarush и параллельно занимался на сайте с задачками. В конечном счете добравшись до 35 уровня и прорешав свыше 150 задач на ресурсе я записался на стажировку в Белл интегратор. Там меня познакомили со Spring. Написали простенький crud. Пощупали базы данных и я получил оффер на 30000 в месяц! Серьезная ачивка для студента (все еще студента так как на тройки я кое как закрылся). Однако одновременно с ними мне предложили работу в Техносерв (предложения сыпались как из рога изобилия, аж два за неделю). На собеседовании задачи теперь не спросили от слова совсем (это какое то издевательство! я готовился к ним полгода). И в мае 2018 я вышел на работу младшим разработчиком. Огромное спасибо Javarush за то что, не побоюсь пафоса, изменили мне жизнь. Без данного ресурса я бы сейчас разносил еду в желтой или зеленой форме. И тому челику с аниме девочкой на аватарке тоже спасибо. Сейчас мне повысили зарплату и довольно хорошие перспективы в будущем Краткая выжимка. Помимо Javarush решайте задачи на специализированных ресурсах (задачи на динамическое программирование, графы, деревья, сортировки, поиск, рекурсию, хэш таблицы, списки, сдвоенные указатели, строки и прочее). Напишите простенький crud на Spring с базой данных (Postgres де факто стандарт). Если сможете прикрутить jwt авторизацию то цены вам не будет. Из книжек советую cracking coding interview, чистый код(это прям реально надо) и Шилд. Собеседований не бойтесь. Если чего то не знаете то просто к следующему разу выучите это и немного больше. Всем успехов!!!