ch
Feedback
Java кабала

Java кабала

前往频道在 Telegram

Рассказываю про мир Java разработчиков. Делюсь опытом. Обучаю Java По всем вопросам - @fonatik_kabal

显示更多
8 980
订阅者
-424 小时
-307
-15830
帖子存档
Какой софт поставить, чтобы начать программировать? 1. Чисто технически, вам достаточно установить JDK (Java Development Kit). На сколько я знаю, самая распространенная версия Java на данный момент - 8 и 11 (но это чисто по ощущениям). Некоторые компании уже ушли дальше и используют более новые версии, некоторые не делают миграции на новые версии и работают со старыми. Могу сказать за нашу компанию - мы работаем на Java 11. Скачать можно тут: https://www.oracle.com/ru/java/technologies/javase/jdk11-archive-downloads.html 2. Писать код вы можете в блокноте, но так никто не делает. Поэтому помимо JDK вам нужно установить IDE (Integrated Development Environment) - это та самая программа, в которой вы будете писать код. Настоятельно рекомендую использоваться IntelliJ Idea от JetBrains. У них есть community edition - она бесплатная. Вам для начала хватит ее за глаза. Скачать можно тут: https://www.jetbrains.com/ru-ru/toolbox-app/ Это ссылка на скачивание тулбокса. Очень удобная вещь. Устанавливаете тулбокс, а с его помощью можете ставить себе любые продукты от JetBrains.

Что ожидают от джуниора, когда он впервые устраивается в компанию? Я бы выделил два ключевых момента, и один второстепенный. 1. То, как человек мыслит. Понятное дело, что у человека нет опыта, и он не знает очень многих вещей. Поэтому тут очень важно проверить его мышление. Зачастую, когда джуниору задают вопрос, то будет лучше, если он поразмышляет, чем просто скажет "я не знаю". Людей, которые собеседуют, интересует мыслительный процесс собеседуемого. Рассуждайте логически, стройте догадки и гипотезы. Старайтесь не изобретать велосипеды. 2. Желание развиваться как в компании, так и за ее пределами. Т.к. человек на данном этапе не может похвастаться знаниями, то ему нужно показать, что он пиздец как заинтересован в этой работе. Он готов учиться 24/7. Его прет с того, что он делает. В общем, у джуниора должен быть огонь в глазах. Т.к. все джуниоры +- одинаковые, то предпочтение отдают тем, кто сильнее горит. 3. Как я сказал, третий фактор не ключевой, однако он тоже будет учитываться на ряду со всеми - это знания. Все таки, мало просто порассуждать и хотеть что-то делать. Вы должны обладать какими-то навыками, которые позволят вам начать выполнять простые задачки. Еще раз напоминаю, что будет хорошим бонусом, если у вас есть какой-нибудь сделанный проект.

Как понять, что я готов начать проходить собеседования? Думаю, как тумблер это не щелкнет (хотя и такое может быть😁). Нужно просто попробовать. Я бы посоветовал, сначала прособеседоваться в компанию, в которую вы не особо хотите идти. Таким образом вы ничего не теряете, а только выигрываете. Вероятнее всего, на первом собеседовании вы получите отказ, а вместе с ним, офигенный опыт прохождения собеседований. Это будет ваш первый опыт. Из него вы извлечете много инсайтов: - темы в которых вы хороши и плохи (будете знать, на что сделать упор) - как вы говорите и выглядите (желательно вести запись собеса) - какие вопросы задают - да и в целом, как проходит этот процесс Дальше с этим багажом, вы сможете лучше подготовиться к следующему собесу. И так из раза в раз, получая отказы, вы будете улучшать себя. Когда получите свой первый офер, то можете либо пойти работать туда, либо попробовать прособеседоваться в компанию, в которую вы реально хотите. Это увеличит ваши шансы на то, что вы успешно пройдете собес. Еще один большой плюс в том, что вы попадаете в базу рекрутеров. И даже если вы сегодня не пройдете собеседование, то скорее всего вам напишут через какое-то время, в надежде, что вы еще в поиске работы и что вы уже более прокачен, чем в некоторое время назад. Как критерий готовности, я бы использовал такие метрики: - если вы обучаетесь на JavaRush, тогда вы на 30+ уровне - если вы обучаетесь в другом месте, то желательно, чтобы у вас было сделано пара проектов. Это, кстати, будет хорошим бонусом при собеседовании.

book3.pdf48.95 MB

book2.pdf148.81 MB

book1.pdf239.87 MB

С чего начать изучать Java? Если вы только задумались о том, чтобы стать программистом, и ваш взор упал на Java, то не торопитесь отдавать деньги за курсы. Первое, что я советую сделать, это посмотреть видео на тему программирования на YouTube и почитать различные статьи, для того, чтобы понять, а нравится ли вам это. 🎞Вот немного контента (не ограничивайтесь этим, поищите еще самостоятельно): https://www.youtube.com/watch?v=EiKK04Ht8QI https://www.youtube.com/watch?v=Ck0ozfJV9-g https://www.youtube.com/watch?v=2zWsJ4GUr1M https://www.youtube.com/watch?v=cc4HyLJzyWc https://tproger.ru/experts/pros-and-cons-of-being-a-programmer/ Имейте в виду - все сказанное в видео и статьях - это лишь вероятность. Мало вероятно, что все преимущества или все недостатки случатся именно с вами. Все будет скомбинировано для каждого из вас индивидуально) Но нужно быть готовым ко всему. Теперь, когда вы примерно представляете, что вас ожидает, можно начать читать книгу и смотреть видео курс. 💻Видео курс: https://www.youtube.com/playlist?list=PL0lO_mIqDDFW2xXiWSfjT7hEdOUZHVNbK 📖 Книги прикрепил в следующем посте. 1. Head First - Java 2. Г. Шилдт - Java, полное руководство. 10е издание. 3. Философия Java После того, как вы посмотрели несколько уроков, настроили окружение и начали что-то писать, параллельно читая книги и гугля что-то в интернете, вы уже начинаете понимать - нравится вам это или нет. Если нравится и вы понимаете, что вам этого мало и вы реально хотите идти дальше, тогда можно задуматься о том, чтобы взять какой-нибудь онлайн курс. 🎓Имейте в виду, что есть бесплатные курсы. Их предоставляют некоторые компании, но нужно пройти собеседование, т.к. конкурс иногда высокий. Примеры таких компаний: 1. NetCracker 2. Epam 3. Тинькофф В заключении: когда вас поперло и вы взяли курс, обязательно уделяйте много времени практике. Очень, настоятельно, рекомендую делать параллельно всему еще какой-нибудь проект. Некоторые курсы уже включают создание проекта, но если нет, тогда, вы должны сами о себе позаботиться.

Как я учил английский. С английским мне повезло, т.к. в школе мне преподавали его с первого класса, и в целом я его всегда хорошо знал, т.к. моя мама его хорошо знала, да и учителя нормальные были. Тем не менее, школьная программа это одно, а повседневное его использование это другое. Усиленно изучать английский я начал в универе, когда собирался поехать в США по программе Work and Travel. К сожалению или счастью я так туда и не попал, но английский подтянул хорошо. Как я его учил: 1. https://www.italki.com - супер ресурс. Смысл такой: на сайте зарегистрированы люди со всего мира, которые учат зарубежные языки. Вы у себя в профиле указываете свой родной язык, а так же тот, который хотите изучать. Потом находите людей, у которых все наоборот - у них родной это английский, а они в свою очередь учат русский. И вот так помогаете друг другу =) У меня было пару знакомых. С одной девушкой я созванивался по скайпу, а с другой мы только переписывались. Это очень хорошо прокачивает ваш разговорный английский. 2. Voice of America - это очень крутое приложение с кучей подкастов на адаптированном английском. Так же, там очень много мировых новостей, которые так же адаптированы. Под адаптацией я имею ввиду относительную простоту написания статьи + качественная озвучка стать диктором, для тренировки слуха + пояснения к некоторым словам или фразам. Включал его вместо музыки, пока ехал в универ и домой. 3. Сериал Extra@ English - британский сериал, созданный специально для обучения английскому. Герои говорят на очень простом английском. С первой серии они говорят очень медленно, но с последующими сериями усложняются слова и увеличивается скорость произношения. Хорошая тема для тренировки английского на слух. 4. Перевод технических статей с русского на английский. 5. Редко читал художественную литературу на английском, ибо она очень сложная, а профита приносила мало, т.к. такие слова не используешь в повседневной жизни. 6. Конечно же YouTube. Ниже приведу несколько каналов, которые часто смотрел: - https://www.youtube.com/c/engvidJames - https://www.youtube.com/c/engvidRonnie - https://www.youtube.com/c/AJHogeEffortlessEnglish 7. Обязательно делайте следующее: 7.1. Выписывайте все новые незнакомые вам слова. Сначала можете баловаться и писать так: слово - перевод. Но как только немного поднатаскаетесь - никаких переводов! Пишете так: слово - объяснение на английском. То есть, вы не должны мыслить на русском, когда думаете о слове, вы должны понимать непосредственно слово. Его не нужно переводить. Когда вам говорят слово "Сыр" - у вас сразу есть ассоциации и вы понимаете значение слова. Так же и с любым другим языком. Должна быть прямая ассоциация, а не опосредованная через перевод. 7.2. Повторяйте их каждый день и проверяйте себя, закрывая описание слова - помните ли вы его или нет (я это делал всегда, когда сидел на горшке) 7.3. Обязательно пишите несколько раз в неделю небольшие рассказы, с использованием вновь выученных слов, для того, чтобы они у вас как следует закрепились и осели в голове. Когда вы пишете рассказ на английском и в контексте используете новые слова - это лучшее, что вы можете сделать для их запоминания. Успехов вам! 😁

Какое железо (компьютер) нужно для обучения? Для начала подойдет самый простенький. Вашими основными инструментами первые 4-5 месяцев будут: 1. JVM 2. Intelli Idea 3. Git 4. Любой браузер (например Chrome) По ресурсам, учитывая то, какие приложения вы будете писать, самыми затратными являются браузер и Intellij Idea. Остальное очень минорно. Потом, через 4-5 месяцев добавятся такие инструменты как: 1. Docker 2. Postman 3. Вероятно VM (но не факт) 4. minikube (не факт) Особое внимание хочу уделить Docker. Если вы используйте Windows или MacOs тогда могут возникнуть проблемы, при использовании процессора, который не поддерживает виртуализацию. Сам по себе докер не использует HW (Hardware) виртуализацию. Изоляция ресурсов достигается за счет namespaces и cgroups. Но это работает только с linux. На вышеупомянутых ОС используется трюк - ОС под капотом поднимает виртуалку с линуксом, и там уже происходит вся описанная магия. Поэтому HW Virtualization нужна для Windows и MacOs. Все современные процессоры поддерживают виртуализацию. Проблемы могут возникнуть только со старыми чипами. Подводя итог, скажу примерные параметры, которых вам должно хватить: 1. Процессор 2-4 ядрышка 2. 8гб RAM 3. Любой хард на 256гб и выше ЗЫ можно использовать и более слабые комплектации, но работа будет уже менее комфортной.

А что же у нас с Английским? Нужно ли знать английский, чтобы стать программистом? Ответ такой: как бы надо, но как бы есть программисты, которые его не знают. Давайте рассмотрим три сценария: 1. Вы знаете англ 2. Вы не знаете, но готовы учить 3. Вы не знаете, и не готовы учить 1. Если вы знаете англ - у вас все хорошо, не парьтесь) 2. Вы не знаете его, но готовы учить - тоже очень хороший вариант. Смотрите в чем прикол - начать можно без знаний англ. Дело в том, что чтение технической документации - это очень просто. Не нужно знать ни времена, ни грамматику. Выучили пару сотен слов и все, вы свободно читаете техническую литературу, потому что по сути вся состоит из трех слов))) Поэтому, можете смело начинать учить программирование, и параллельно учите английский. Вам не нужны глубокие знания. Нужны самые базовые + словарный запас для того, чтобы читать техническую литературу. Поверьте, при желании, вы это освоите за 3-4 месяца. Говорю это, т.к. у меня есть опыт обучения людей с 0 английским. 3. Вы не знаете и не хотите знать - плохой вариант, т.к. вы сами себя жестко ограничиваете во всем: - В источниках информации. Вы сможете искать информацию только на русскоязычных форумах, а это ничто по сравнения с мировым. - В работодателе, т.к. многие компании требуют знание базового английского + чтение технической литературы. Потратьте 3-4 месяца параллельно, на изучение английского. Это очень хорошая инвестиция, которая даст вам преимущество. Это на всегда останется с вами. Никто у вас эти знания не заберет) Позже, я возьму интервью у человека с образованием в 9 классов, который не знал английский и был далек от IT. Он работал "менеджером по продажам", риелтором, массажистом... в общем, кем только не работал, и в 24 года решил все изменить. Сейчас он работает в мск в крупном европейском банке ведущим разработчиком.

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

А вот и первенец! Давайте разберемся, какой язык программирования выбрать. Уж больно часто меня об этом спрашивают. Запомните одно - если вам кто-то безусловно говорит, что нужно учить язык А, а не язык Б, то человек, скорее всего, нихрена не понимает, что говорит. На это вопрос нельзя ответить однозначно. Очень много факторов, которые влияют на выбор языка. ЗАПОМНИТЕ еще одну вещь: язык программирования это такой же инструмент, как молоток или отвертка. Вы выбираете не язык. Вы выбираете инструмент, которым будете работать и решать проблемы бизнеса. Как же его выбрать (опять таки, субъективная рекомендация): 1. Потратьте пару часов, и разберитесь в основных направлениях разработки. Возможно, вам что-то понравится, и это станет для вас ключевым фактором. 2. Это фактор обычно решающий: вы живете в городе X и не планируете переезжать. Тогда ваш выбор резко сократится. Вы должны: - посмотреть все IT компании, которые есть в вашем городе - зайти на hh.ru и посмотреть вакансии, которые открыты в вашем городе - почитайте описание вакансий. Позвоните в фирму и узнайте больше о вакансии. В общем, вот тут вам придется что-то выбрать, если вы не готовы к релокации. Вам очень повезет, если в первом шаге вы определили для себя направление, и в вашем городе есть вакансии по этому направлению, тогда это вообще сказка. 3. Посмотрите, какие языки программирования требуется для данной вакансии 4. Почитайте про эти языки в интернете, сделайте сравнение 5. Примите решение Вуаля, теперь вы знаете, что вам учить! ЗЫ Если же вы все таки планируете релокацию, тогда первый пункт для вас будет более весомым, чем второй.

Всем привет! Я - Дмитрий Канаев. - Ведущий Java разработчик в ОТП банке. - Основатель платформы https://pibadi.ru - TikTok бл
Всем привет! Я - Дмитрий Канаев. - Ведущий Java разработчик в ОТП банке. - Основатель платформы https://pibadi.ru - TikTok блогер - Муж, отец, брат, сват и т.п. На этом канале я буду рассказывать все то, о чем не могу рассказать в TikTok из-за формата. Тут будет много полезного (в отличии от того же TikTok) контента. Буду выкладывать рекомендации к обучению и советы для начинающих Java разработчиков. Все что я пишу - является моим субъективным мнением. Я не претендую на истинность высказываний и любое мое утверждение можно оспорить. Наслаждайтесь контентом, и начните уже блять учиться, если вам это интересно!😄 Мой профиль в LinkedIn: https://www.linkedin.com/in/dmitrii-kanaev-538698154/