Содержание

Что нужно знать, чтобы стать Java Junior, и что со всем этим делать?

Требования к потенциальным Java-разработчикам постоянно меняются и за ними сложно уследить. Достаточно ли знать только Java Core, чтобы стать Trainee? Насколько хорошо нужно разбираться в Spring и Hibernate для получения должности Java Junior? Стоит ли учить базы данных, разбираться ли с алгоритмами сортировки и поиска? И поскольку студентов JavaRush очень часто волнуют эти вопросы, мы решили задать их нашим выпускникам, которые уже работают Java Junior или стажируются в компаниях на должности Java Trainee. Заметим, 13% опрошенных посчастливилось с первой попытки получить должность Java Middle минуя стадию Junior.

Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 1Респонденты поделились информацией о том, какие технологии им понадобились для прохождения собеседования, а какие они использовали в первый год первой работы, связанной с Java.

Java Core нужна всем

Термин Java Core достаточно широк. Под этим именем понимают и элементарный синтаксис языка, и такую сложную тему, как многопоточность. Собственно, курс JavaRush главным образом посвящён именно Core.Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 2Java Syntax. Основы языка. Все эти типы данных, операторы, циклы и ветвления.

Естественно, 92.4% получивших работу оценили своё знание синтаксиса как “хорошее или отличное”. Тем не менее, 7.6% респондентов умудрились стать Java Trainee со средним знанием синтаксиса. Однако это нужно оценивать скорее как везение (или хвастовство респондентов:)). Разумеется, синтаксис языка должны знать все, кто претендует на работу программиста.

Объектно-ориентированное программирование (ООП). Всё в Java состоит из объектов, поэтому ООП можно считать одной из самых главных тем языка. Объектно-ориентированный подход может поначалу показаться непривычным, особенно если вы раньше изучали только процедурные языки, но переучиться на объекты не составляет труда.

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

Большинство респондентов, а это 80.3% получивших первую работу, хорошо знали принципы ООП и использовали их постоянно.

В первый год работы Java Junior и стажерами 78,8% опрошенных пользовались принципами ООП очень часто, 12,1% — время от времени. 7,6% слушателей использовали их редко — эти ребята были заняты в основном модульным тестированием и разными небольшими задачами. То есть, разумеется, они тоже пользовались классами или объектами (без этого в Java никак), но редко составляли иерархии классов.

Collections Framework. Коллекция — это совокупность отдельных объектов, представленных как единое целое. В Java для представления коллекций есть очень толковый Collections Framework. Коллекции основаны на популярных структурах данных — списках, обычных и связных, множествах, хэш-таблицах. Так что при изучении коллекций было бы неплохо поближе познакомиться со структурами данных.

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

80,3% респондентов отметили, что хорошо или даже отлично знали коллекции до того, как получили первое предложение о работе, и практически все 96,9% Junior’ы и стажеры используют коллекции на своей первой работе.Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 3Обработка исключений. Исключение — это выходящая из ряда вон ситуация, которая может возникнуть при выполнении вашей программы. Все классы исключений являются подтипами класса java.lang.Exception. Механизм обработки исключений значительно упрощает процессы поиска ошибок в программах. Обычно студенты довольно рано начинают использовать исключения, скажем, на JavaRush На JavaRush эта тема поднимается ещё в первом квесте Java Syntax.

Практически все получившие первую работу выпускники JavaRush умели обращаться с исключениями, и, естественно, использовали их во время работы.

Потоки ввода/вывода (I/O Streams Java). Самые первые программы, написанные на Java, обычно содержат что-то вроде System.out.println(“Hello world”). Зачастую новички понимают, что метод println выводит строку в консоль, но понятия не имеют, зачем там System и out, и как они работают.

Немного позже выясняется, что Java выполняет операции ввода и вывода с помощью потоков (streams), непрерывного потока данных. Потоки — не самая простая тема для понимания, и она не так уж часто используется в работе новичков: только 22,7% людей, получивших первую работу Java Junior/Trainee, сказали, что они часто используют потоки ввода-вывода, 31,8% — время от времени, 25,8% — редко. Так что чуть менее 20% вообще не использовали их в течение первого года работы в роли Java-разработчика. Во время учёбы 18.2% не испытывали особых трудностей с потоками и знали их отлично, 36.4% оценили свои знания как хорошие, а вот 10.6% проигнорировали эту тему.

Многопоточность (Java Multithreading/Concurrency). Пожалуй, именно эта тема вызывает самое большое непонимание у начинающих разработчиков. Невзирая на то, что многопоточность в Java реализована очень хорошо, в ней сложно разобраться, и проблемы могут возникнуть даже при написании простейших программ (например, многопоточного “Hello, world”). Многие работодатели это понимают и не требуют глубокого понимания многопоточности от начинающих, рассчитывая, что оно придёт с опытом.

Только 12%,опрошенных отметили, что они знали тему на хорошем уровне до получения первого оффера, в то время как почти 32% респондентов признали, что вообще ничего не смыслили в этой теме. Большинство же, 56,2%, заявили о том, что «имели некоторое представление» о многопоточности.

Так что если трудности работы со thread’ами вам сейчас кажутся непреодолимыми, эти цифры могут вас обнадёжить. Тем не менее, если вы хотите получить конкурентное преимущество на собеседовании, именно эта тема может стать вашим коньком.

На реальных проектах новичков также довольно редко допускают до работы с потоками. Так, 15.1% начинающих программистов вообще не сталкивались с Java Multithreading в своей работе, а 39.4% сталкивались, но редко. Часто в первый год работы пришлось работать с многопоточностью лишь 9.1% респондентов.

Лямбда-выражения. Лямбда-выражения и намёки на функциональное программирование появились в Java 8, но новички не так уж часто используют этот удобный инструмент. Лямбда-выражение — это функция, которая может быть создана без принадлежности к какому-либо классу, и вы можете передать ее как объект или выполнить по запросу.

Только 22,7% опрошенных выпускников хорошо знали Лямбда-выражения прежде, чем получить первое предложение о работе, а 48,5% оценили свое знание темы как «близкое к нулю». В то же время более 85% новых программистов заявили, что использовали лямбда-выражения в первый год работы. Справедливости ради укажем, что невысокий процент знающих эту тему может быть связан с тем, что в на JavaRush лямбда-выражения пока что представлены только в новом квесте Java Syntax Pro и статьях.

Таким образом, мы можем смело утверждать, что знание Core Java для любого потенциального Java Junior и даже Trainee просто необходимо. Разумеется, некоторые темы, например, многопоточность допустимо знать несколько хуже, но синтаксис Java, ООП и коллекции должны прочно внедриться в ваше сознание.

Алгоритмы и структуры данных

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

И тем не менее, следует помнить: алгоритмы вам нужны именно для тренировки мозга… и для того, чтобы пройти собеседование: проводящие их въедливые Senior-разработчики очень любят мучить соискателей просьбами написать тот или иной алгоритм.

А вот в работе большинство (48.5%) использует стандартные библиотечные алгоритмы, эффективные и проверенные, в то время как 16% респондентов вообще не использовали сортировку в первый год работы программистом.Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 469,6% выпускников утверждают, что до получения первого предложения о работе они неплохо ориентировались в алгоритмах сортировки и поиска и могли написать их самостоятельно.Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 5Мы уже затрагивали тему структур данных, когда говорили о коллекциях Java. Да, в них лучше разобраться, чтобы знать, где и какую структуру применить. Составление собственных структур данных по образу и подобию библиотечных — отличное упражнение, которое поможет вам лучше в них разобраться. Вы можете, например, попробовать написать собственную версию ArrayList или предложить свой односвязный список (обычный LinkedList в Java — двусвязный).Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 6Во время работы начинающие программисты использовали главным образом стандартные структуры данных.Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 7

Unit-тестирование

За модульное (unit) тестирование в Java отвечает библиотека JUnit. На самом к юнит-тестированию можно приступить едва ли не в самом начале обучения. По крайней мере в тот момент, когда вы беретесь за свой первый самостоятельный проект, даже очень маленький, вам лучше уже владеть этим инструментом. Писать модульные тесты не так уж сложно, хотя есть нюансы. Изучение JUnit не займёт много времени, а вот польза от его знания огромная. Вы сможете покрывать тестами свой и чужой код. Очень часто новичкам поручают написание юнит-тестов для коллег, так что это может пригодится и напрямую в новой работе.

57,5% респондентов заявили, что использовали JUnit перед первым успешным собеседованием по Java, и более 83% уже использовали модульное тестирование в первый год работы.

Библиотеки утилит, GUI и полезные компоненты

Мы спросили насколько хорошо выпускники JavaRush были знакомы с рядом инструментов, часть из которых изучалась и в нашем курсе.

  • Сервлеты — это программные компоненты Java, которые расширяют возможности сервера.
  • JDBC — это независимый от платформы стандарт взаимодействия между приложениями Java и базами данных. JDBC реализован в виде пакета java. sql входит в состав Java SE (Standard Edition).
  • log4j — самая известная библиотека для регистрации сообщений. Он позволяет писать вызовы библиотеки в java-коде, а затем гибко настраивать его, не изменяя уже написанный код.
  • Jackson/JSON. JSON (JavaScript Object Notation) — чрезвычайно популярный открытый стандартный формат файлов и формат обмена данными, а Jackson — это высокопроизводительный процессор JSON для Java.

Все эти инструменты очень полезны и часто используются в работе и большинство студентов не пренебрегали ими при подготовке к собеседованию. Особенно это касается Jackson, с которым сталкивались 72.7% соискателей на должность Java-программиста, JDBC — эту библиотеку опробовало более 78% опрошенных. В работе эти технологии использовали практически все.

С GUI Java-разработчики сталкиваются не так часто. Мы задали вопрос о JavaFX: с этой технологией по работе столкнулись только 18% респондентов.Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 8Две трети респондентов работали с сервлетами, чуть меньшее число опрошенных опробовали их во время учёбы.

Также оказалось, что часть приступивших к работе Java-программистов сталкивалась с такими проектами, как Apache Commons (набор библиотек, ориентированный на все аспекты повторно используемых компонентов Java) и Guava (набор общих библиотек для Java с открытым исходным кодом, в основном разработанный инженерами Google).Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 9

Frameworks

Раньше от Java Junior никто не ожидал знания Spring или Hibernate. Но времена меняются, и сегодня этого порой ожидают даже от Trainee. Изучать эти технологии самостоятельно непросто. Даже если всё кажется понятным, студенты частенько забывают что к чему очень быстро. Порой даже приложения, самостоятельно написанные на Spring — не панацея. Поможет только активная работа. Тем не менее, перед успешным собеседованием треть респондентов была знакома со Spring на хорошем уровне, а 45.5% разбирались в нём средне. Ситуация со Spring boot несколько хуже (36.4% вообще его не знала), а о хороших знаниях Hibernate заявило почти 44% опрошенных выпускников JavaRush.Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 10В то же время во время работы главным Java-фреймворком пользовалось почти 88% новоиспечённых программистов, Spring Boot — 83%, Hibernate — 81%. Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 11

Build Automation tools и серверы приложений

Большинство опрошенных выпускников JavaRush пробовали работать со сборщиками проектов. Чаще всего это был Maven (40.9% попробовали его на практике, ещё 30.3% использовали его время от времени, а 12.1% уже во время учёбы использовали его постоянно). В работе с Maven пришлось сталкиваться 72.7% (часто), 7.6% (иногда) и 3% (редко).

Что касается Gradle, тут ситуация несколько хуже. Только 22.7% практиковались с этим сборщиком, причём большинство из них — только опробовали технологию. В работе Gradle применяли почти половина респондентов.Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 12Ant давно растерял свои позиции, и это отразилось на его популярности среди наших выпускников: возилось с ним только 3% опрошенных. А работать с ним пришлось 12% ответивших на вопросы.

Среди серверов приложений лидирует Tomcat, с ним во время учёбы разобралось более 77% опрошенных, 11% опробовали GlassFish, 12% — JBoss. Похожим образом выглядит популярность серверов среди тех, кто уже работает. Только 31.8% получивших работу не сталкивались с Tomcat. Также выпускники JavaRush во время первого года работы программистом опробовали такие серверы, как WebSphere, Jetty, Netty, Wildfly, Weblogic.Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 13

Что ещё?

Подавляющее большинство опрошенных ещё до получения первой работы:

  • имели представление о HTML, CSS и JavaScript;
  • работали с базами данных, знали SQL;
  • почти все пользовались Git и GitHub;
  • пробовали работать с чистым XML.

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

Также некоторые ответившие на вопросы отметили, что на собеседовании от них ждали знаний, хотя бы теоретических, шаблонов проектирования, архитектурных шаблонов, а также правил хорошего тона в программировании (всех этих KISS, DRY, SOLID). Однако чаще всего на собеседовании хватало одних определений: те, кто проводил интервью прекрасно осознавали, что настоящее понимание таких вещей приходит лишь с постоянной практикой. Пригодились ли они в работе? Конечно пригодились.Что нужно знать, чтобы стать Java Junior, и что со всем этим делать? - 14

Выводы

Надеемся, мы не слишком вас напугали количеством технологий, которые вам предстоит изучить. Не всё из этого нужно знать досконально, к тому же, разбираться со всем этим — весьма интересно. Не зря же вы решили стать программистом, не так ли? Так что продолжайте учить Java и не теряйте мотивацию. Успехов!

P. S. Если вы уже нашли работу и хотите рассказать о своём опыте — добро пожаловать в комментарии!

План изучения Java

Java. План действий - 1

Содержание:

  1. Раздел Zero — Java Core
  2. Инструменты
  3. JDK API
  4. Новые возможности Java 8
  5. SQL, базы данных, JDBC
  6. Фреймворки
  7. Библиотеки и фреймворки для тестирования
  8. Сервисные библиотеки
  9. API-клиенты
  10. Паттерны проектирования
  11. Дополнительные знания

Что должен знать потенциальный Java Junior, чтобы получить первую работу или хотя бы претендовать на должность Trainee в хорошей компании? Какие инструменты помогут Java-программисту выйти на новый уровень? Какие технологии изучить, а какие — оставить на потом?

Стандартного ответа на эти вопросы нет, как не существует и единого плана действий, который подошёл бы абсолютно всем. Одни компании стремятся к развитию, постоянно внедряют новые технологии и тестируют возможности новых версий языка, другие упорно держатся за старые. Есть и “серединные” варианты, и, пожалуй, таких больше всего.

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

0. Раздел Zero — Java Core

Нулевой раздел мы вставили в статью на всякий случай — вдруг сюда заглянет человек, который только планирует изучать Java и не знает, с чего начать. Java Core — то, что даже новичок должен знать очень хорошо. То есть знать базовые вещи, ориентироваться, что предлагает язык для решения той или иной задачи и в простых случаях уметь применить эти знания. Попрактиковаться в Java Core можно на JavaRush, и если вы ещё этого не сделали — приглашаем пройти курс! Ну а всем остальным напомним главные вехи Java Core:

  • Основные конструкции, операторы и типы данных Java
  • ООП и его реализация в Java
  • Исключения
  • Java Collections
  • Дженерики
  • Многопоточность

1. Инструменты

IDE или интегрированная среда разработки

Главный инструмент современного разработчика — это IDE. Сегодня на рынке их очень много, однако в профессиональной Java-разработке обычно фигурируют только два имени. Это построенная на плагинах бесплатная Eclipse, которая много лет подряд удерживала пальму первенства, и IntelliJ IDEA, в последние годы активно вытесняющая Eclipse, и это невзирая на то, что подписка на нужную профессионалам Ultimate-версию стоит денег. Напомним, в курсе JavaRush мы пользуемся бесплатной редакцией Community IntelliJ IDEA, у которой есть определённые функциональные ограничения по сравнению с Ultimate.

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

Инструменты для автоматической сборки

Сегодня в Java-проектах чаще всего используют такие инструменты как Maven и Gradle. Не обязательно изучать их досконально, но будет полезно разобраться, чем они отличаются друг от друга, на чём основаны, что такое task’и (в Gradle) и фазы с целями в Maven. Будет достаточно почитать о системах и развернуть на них пару-тройку небольших проектов. Сделать это довольно просто, а с подробностями разберётесь уже в условиях реальной работы.

Системы контроля версий и сервисы онлайн-хостинга

Система контроля версий — это то, что помогает программистам работать в команде над общим проектом, не “поломав” его, синхронизировать разрозненные куски кода, сделанные разными людьми, откатывать неудачные обновления и добавлять новые. Наиболее распространены две системы контроля версий. Одна из них — распределённая и называется Git, вторая — централизованная, по имени SVN (она же — Subversion). На сегодняшний день стандартом де-факто является Git. Работать с этой системой удобнее и легче, она поддерживается всеми IDE (впрочем, как и SVN). Работу с Git можно опробовать быстро и просто, благо, в сети на эту тему — масса информации. Например, доступный на русском интерактивный учебник GitHowTo (проходится очень быстро).

Начинающему разработчику очень важно освоить сервисы онлайн-хостинга для систем контроля версий. Чаще всего они базируются на Git и их называют Git-платформами (хотя некоторые из них умеют работать с разными системами контроля версий). Самая популярная из них — GitHub. Также довольно распространены BitBucket и GitLab. Эти системы помогают хранить и извлекать код, а ещё — делать то, что умеет Git, только не через командную строку, а через интерфейс. Также GitHub позволяет проверять код, предлагать решения проблем непосредственно на сайте. Там же можно найти какой-нибудь чужой открытый проект и попробовать предложить свои решения по его улучшению. По сути, GitHub — своеобразная социальная сеть для разработчиков. Так что если вы ещё этого не сделали, обязательно создайте аккаунт на GitHub и размещайте там свои проекты. Также почитайте о GitLab и BitBucket, а если будет время — можно и опробовать, у них есть бесплатные версии. К слову, все эти платформы полностью интегрированы с современными IDE.
Java. План действий - 2

2. JDK API

В этом разделе выделены те JDK API, которые современному Java-разработчику нужно знать достаточно уверенно. Программисту не помешает время от времени заглядывать в исходный код этих библиотек, ориентироваться в них, понимать, когда их нужно применять и почему. Побочный эффект: если вы хорошо ориентируетесь в этих API, скорее всего вам будет гораздо проще успешно пройти собеседование.

Java Collections Framework

Java Collection Framework — один из важнейших API языка Java, его должен знать каждый разработчик. Он представляет собой иерархию интерфейсов и реализаций стандартных структур данных в Java, таких как список, связанный список, множество, стек, очередь, хэш-таблица и многих других.

Разработчик должен хорошо разбираться в классах ArrayList, HashMap, HashSet, LinkedHashSet, TreeSet и прочих, знать об их свойствах. В частности, нужно понимать, какие затраты по времени и памяти у той или иной коллекции идут на стандартные операции (индекс, поиск, вставка, удаление) и исходя из этого правильно применять их в своих проектах.

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

Java Concurrency API

Java изначально разработана с поддержкой параллельного программирования, а начиная с версии 5.0, язык включает высокоуровневые API для параллельных потоков. Так что грамотный Java-разработчик просто обязан хорошо разбираться в многопоточности и иметь представление об основных API из пакетов java.util.concurrent.*.

Как минимум, нужно знать и чётко осознавать, что такое Thread, Runnable, блокировка объектов и синхронизация. Обязательно разберитесь в концепциях deadlock, livelock, состоянии гонки и что со всем этим делать.

Чтобы чувствовать себя уверенно, изучите синхронизаторы из java.util.concurrent.*, например, Semaphore, CyclicBarrier, CountDownLatch, Phaser, Exchanger, CompleteableFuture и так далее. А ещё — интерфейсы Callable и Future.

Java I/O API

Начинающие разработчики частенько игнорируют углублённое изучение Java I/O и Java Non-blocking I/O. А зря: эти Java API облегчают работу с потоками и регулярно используются в реальных приложениях. Особенно такие классы, как File, InputStream, OutputStream, Reader и Writer из пакета java.io, который является ядром Java IO API.

Java Non-blocking I/O (java.nio) представляет собой коллекцию прикладных программных интерфейсов, предназначенных для реализации высокопроизводительных операций ввода-вывода. К ним относятся, в частности, ByteBuffer, FileChannel и Selector и другие. Потрудитесь разобраться с этими API, не пожалеете.

Устройство класса Object

Понимаешь суперкласс Object — в каком-то смысле становишься “носителем языка Java”, гораздо лучше осведомлённым о структуре ООП и многих процессах. Класс java.lang.Object, лежит на самой вершине иерархии классов. Помимо лучшего понимания всего происходящего, знание методов класса существенно облегчит прохождение собеседований — интервьюеры просто обожают проверять кандидатов на прочность с помощью класса Object и его объектов.
Java. План действий - 3

3. Новые возможности Java 8

Невзирая на то, что после выхода Java 8 прошло время, и уже появились и другие номерные обновления, именно восьмая версия стала знаковой. В ней появились важные новшества, которые упрощают, а в каком-то смысле и меняют подходы к программированию на Java. Вы должны разобраться, как использовать лямбда-выражения, а также со Stream API в Java 8 и новыми API даты и времени.

4. SQL, базы данных, JDBC

Мало какой Java-разработчик не сталкивается в своей работе с SQL-запросами и базами данных. Поэтому важно понимать, что такое SQL и реляционные базы данных, как они работают, уметь писать простые запросы на join двух таблиц. Для тренировки можно попробовать поработать с одной из СУБД, например, PostgreSQL или MySQL. Также было бы неплохо получить начальные знания о нереляционных базах данных, о подходах noSQL и поверхностно ознакомиться с документоориентированной СУБД MongoDB.

Для работы с базами данных в чистой Java можно использовать стандарт JDBC вместе с одноименным API. Он реализован в виде пакета java.sql, который входит в JDK. В чистом виде сегодня им пользуются редко, однако его часто можно встретить в старых приложениях для поддержки, да и в основе более современных и общепринятых средств зачастую лежит именно этот стандарт.

5. Фреймворки

Среди требований к Junior Java Developer сегодня всё чаще можно встретить “знание Spring, Hibernate, Spring Boot”. Изучить эти технологии самостоятельно — задача очень непростая, но, тем не менее, это возможно, особенно на поверхностном уровне. Более глубокое понимание придёт во время работы. Итак.

Spring Framework

Практически каждое приложение, создаваемое на Java в наши дни использует Spring Framework. Этот мощный фреймворк предоставляет определённую систему координат, костяк, с помощью которого строится приложение. Spring-приложение гораздо проще тестировать и поддерживать. А всё благодаря внедрению зависимостей.

Hibernate

Ещё один важнейший для Java-разработчиков фреймворк — Hibernate. Он реализует спецификацию JPA (Java Persistence API), с помощью которой решаются задачи объектно-реляционного отображения (ORM). Большинство Java-приложений взаимодействуют с базами данных, и, если речь идёт о реляционных базах данных, работать с ними без Hibernate неудобно. Этот фреймворк предоставляет разработчикам ряд важных функций, в частности, кэширование и транзакции из коробки, что в свою очередь позволяет сосредоточить усилия на разработке логики приложения и освобождает программиста от множества низкоуровневых задач при работе с реляционными базами данных. Это существенно повышает производительность разработчиков.

Spring MVC

Этот фреймворк обеспечивает разработку приложения согласно паттерну Model — View — Controller, применяя слабо связанные готовые компоненты. Изучите этот паттерн (о паттернах проектирования речь идёт чуть ниже) и логику работы Spring MVC. На практике его используют довольно часто.

Spring Boot

При надлежащем умении Spring упрощает создание приложения Java. В свою очередь Spring Boot упрощает создание Java-приложения на основе Spring. Spring Boot позволяет вам легко создавать полноценные Spring-приложения уровня Enterprise, которые можно запустить с минимальными усилиями: автоконфигурация устраняет большинство проблем, связанных с настройкой Spring-приложений.

6. Библиотеки и фреймворки для тестирования

Некоторые будущие разработчики уверены, что тестирование кода — забота вовсе не их, а специальных людей, которые так и называются — тестировщики. На практике дело обстоит не совсем так. Тестирование, особенно модульное (его чаще всего называют unit-тестированием), — очень важный навык для каждого программиста. Мало того, только что приступившим к исполнению обязанностей новичкам довольно часто поручают покрыть unit-тестами чей-то код. Так что настоятельно рекомендуем изучить библиотеку JUnit и взрастить привычку писать unit-тесты для своего кода. Также обратите внимание на фреймворк Mockito, который можно использовать совместно с JUnit для создания фиктивных классов-зависимостей.

7. Сервисные библиотеки

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

Библиотеки для логирования

В первую очередь можно упомянуть log4j и Slf4j. Эти библиотеки разработаны для сокрытия реализации рутинных операций по логированию событий, которые происходят во время работы Java-приложений.

Библиотеки для JSON

JSON, формат передачи информации от клиента к серверу, сегодня используется чаще всего. Есть несколько хороших библиотек, которые работают с JSON, самые популярные — Jackson и google-gson.

Google Guava

Guava — проект с основными библиотеками для Java, разработанными Google. Здесь можно найти новые типы коллекций (multimap, multiset и другие), неизменяемые коллекции, графы, функциональные, утилиты для параллелизма, ввода/вывода, хэширования, обработки строк и многое другое.

Apache Commons

Commons — огромный проект, содержащий множество полезных Java-утилит самого разного предназначения. Так, библиотеки Apache Commons лежат в основе Tomcat, Hibernate и ряда других крупных проектов. Библиотек в Apache Commons очень много. Упомянём Commons IO, которая упрощает выполнения операций ввода-вывода, Commons CSV для работы с csv-файлами, Commons Math для работы со сложными математическими и статистическими операциями и вычислениями, Commons CLI для анализа аргументов командной строки.

8. API-клиенты

REST — стиль именования эндпоинтов для доступа к ресурсам по сети в человекочитаемом формате. Современному Java-разработчику лучше ориентироваться в идеологии REST, а также знать Spring RestTemplate — очень полезную библиотеку для создания REST-клиента.

9. Паттерны проектирования

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

10. Дополнительные знания

Алгоритмы и структуры данных

“Алгоритмы и структуры данных” — это название целого курса, читаемого в технических вузах. В нём раскрываются теоретические основы построения разных структур данных. А на практических занятиях с ними учатся работать — класть и извлекать данные, искать и сортировать их. Собственно, под “Алгоритмами” в таком словосочетании понимают именно сортировку и поиск. За долгие годы специалисты в области Computer Science разработали множество алгоритмов. Некоторые из них носят учебный характер, так как при относительной простоте реализации они не слишком эффективны в работе. Например, работают медленно, что может быть ощутимо на больших пулах данных. Или же потребляют много памяти. Другие алгоритмы оказались очень эффективны. Настолько, что их внесли в официальные библиотеки большинства языков программирования. Соответственно, сегодня не обязательно разрабатывать такие алгоритмы самостоятельно. Достаточно знать, где они лежат.

И тем не менее большинство опытных разработчиков рекомендует новичкам проходить “школу алгоритмов” — реализовывать их самостоятельно во время учёбы. Это развивает программистское мышление. А ещё — помогает проходить собеседования, там очень любят задавать задачки на сортировку и поиск.

Сервлеты

Сервлет — это способ обработки запроса пользователя. Их сегодня используют не везде и не всегда, но получить о них представление будет полезно.

HTML и CSS

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

XML

Расширяемый язык разметки раньше повсеместно применялся в Java-разработке. Его постепенно вытесняет JSON, но XML встречается и сегодня. Изучать его несложно, так что можно уделить этому языку толику внимания.

JavaScript

Опросы разработчиков показывают, что даже те из них, кто не имеет абсолютно никакого отношения к фронтенд-разработке, время от времени писали скрипты на JavaScript. Знание основ этого языка можно считать правилом хорошего тона, поэтому не поленитесь, почитайте о нём и создайте десяток-другой скриптов. Лишним не будет.

что должен знать Junior, введение в ML для Java-разработчиков, кто такие DevOps-инженеры

Что должен знать JUNIOR программист | требования для Джуна

Одна из наиболее острых проблем, с которыми сталкиваются новички в программировании — боязнь не соответствовать требованиям, предъявляемым на собеседовании. Ситуацию усугубляет то, что с каждым годом, по мере появления новых инструментов и технологий, требования к Junior Developer растут.

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

Введение в ML для Java-разработчиков

Наверняка вы уже слышали о машинном обучении (ML, Machine Learning). Да, это тот самый искусственный интеллект, о котором все сейчас говорят. Если вы уже умеете программировать на Java и хотите расширить свои профессиональные навыки, рекомендуем потратить полтора часа свободного времени на просмотр лекции, которая познакомит вас с машинным обучением, основным стеком технологий и инструментами ML.

Докладчиком на видео выступает Евгений Журин — один из ведущих разработчиков соцсети «Одноклассники» и других сервисов Mail.Ru Group.

Карьера в IT: кто такой DevOps-инженер

Хотите иметь преимущество на рынке труда? Если да, тогда помимо изучения языка программирования вам наверняка будет полезно подумать о более узкой специализации. В настоящее время многие компании испытывают острую нехватку в DevOps-инженерах — специалистах, способных организовать эффективный процесс разработки, поставки и обновления программных продуктов.

Кто такие DevOps-инженеры? Чем они занимаются, какие к ним предъявляются требования и на какую зарплату они могут рассчитывать? Ответы на эти и многие другие вопросы вы узнаете, посмотрев ролик из видеоблога EP Advisory. Возможно, это видео поможет вам найти именно то, что вы ищете — востребованную и конкурентную специализацию на рынке IT.

IT в Испании и Чили | Зарплаты, «Летом работаем до обеда»

Если релокейт в Западную Европу, в том числе Испанию, уже никого не удивляет, то переезд в Латинскую Америку с целью трудоустройства все еще остается редким явлением. Но оказывается, что наши программисты работают даже в такой далекой стране, как Чили.

Собеседником автора видео, которое вы сейчас посмотрите, стал Павел Савинов — разработчик, который несколько лет назад не побоялся радикально изменить свою жизнь, променяв офис в Москве на работу в Испании. Более того: спустя некоторое время Павел оказался в Чили, где продолжил свою карьеру программиста.

В интервью Павел рассказывает об особенностях IT-сферы в Испании и Чили, делится наблюдениями о жизни и работе в этих странам. Видео несомненно будет полезно для всех, кто рассматривает для себя возможность переезда на Пиренеи или всю жизнь мечтал оказаться в Латинской Америке.

Как стать Junior-разработчиком и устроиться на работу за 4 месяца

Как стать Junior-разработчиком за 4 месяца? Эта статья содержит план обучения и советы, которые помогут начинающим веб-разработчикам.

Перевод статьи Sam Williams — How to Get Your First Developer Job in 4 Months

Как стать Junior-разработчиком и устроиться на работу за 4 месяца

Изучаем основы

Чтобы стать Junior-разработчиком, очевидно, нужно знать основы. С учётом того, что мне никогда прежде не приходилось заниматься программированием, я начал с HTML и CSS.

Мне посчастливилось найти freeCodeCamp. Это потрясающий сайт, с помощью которого вы можете бесплатно научиться веб-разработке, выполняя небольшие задания по программированию. Задания касаются практически всех областей веб-разработки. Самыми лучшими разделами я считаю “Algorithm Scripting” и “Projects”. Вы практикуетесь в изученном материале, создавая реальные веб-страницы. Я прошёл весь курс front-end разработчика.

Проекты в этом курсе хороши, ведь благодаря им вы можете показать свои приобретенные навыки, создав портфолио. Они также хороши тем, что могут добавить вам дополнительные очки на собеседовании. Например, когда я проходил собеседование, работодатели обсуждали мой проект “JavaScript Calculator”.

Изучаем Git и GitHub

Я начал использовать Git и GitHub, поэтому смог работать над своими проектами во время обеденного перерыва на работе. Знание того, что он делает, и как его использовать, значительно упрощает программистам жизнь.

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

Как только вы заканчиваете проект, кидайте его на GitHub. Когда кто-то видит GitHub профиль с регулярной поддержкой/созданием проектов, он понимает, что вы целеустремлённый и хороший разработчик.

Также, GitHub может хранить ваше портфолио у себя на сервере. Ссылка имеет следующий вид: https://<your username>.github.io. Это довольно удобно.

Портфолио

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

Когда вы в первый раз создаёте своё портфолио, сделайте так, чтобы оно работало и выглядело хорошо. Не тратьте слишком много времени, разрабатывая его.

Как стать Junior-разработчиком и устроиться на работу за 4 месяца

Я переделывал своё портфолио 4 раза перед тем, как устроился на работу. Если вы считаете, что изучили многое, чтобы улучшить своё портфолио, сделайте это. Вы не только показываете, что вы знаете, но также отрабатываете свои навыки. Хотя, потратив слишком много времени на совершенствование стилей или анимации, вы начнёте изучать следующие вещи гораздо позже.

Расширяем наши знания

Использовать JavaScript для создания веб-страниц — одно дело, понимать, а как это работает — совсем другое. Я искал в интернете лучшие книги для более глубокого изучения JavaScript и остановился на серии книг You Don’t Know JS. Они находятся в открытом доступе и совершенно бесплатны.

Серия этих книг освещает наиболее важные аспекты в JavaScript, объясняя, как всё работает. Для первой работы вам достаточно будет прочитать и понять Up & Going и Scope & Closures. Остальные книги из серии лучше всего читать, уже будучи Junior-разработчиком. Некоторые темы трудно понять, не встретив их на практике.

В некоторых фрагментах книг вам будет необходимо решить несколько задач. Это делается для того, чтобы повысить уровень понимания материала. Таких фрагментов будет довольно много, особенно в Scope & Closures.

Чтобы усовершенствовать свои навыки, можете изучить новую область в веб-разработке, например, популярную библиотеку или фреймворк. Существует множество обучающих программ для создания проектов с использованием новых технологий. Постарайтесь связывать эти технологии с HTML, CSS и JavaScript.

Практикуемся в изученном

Это одна из самых важных вещей для получения работы. Лучший способ практиковаться — использовать изученные вещи в реальных проектах. Например, если вы изучили адаптивный дизайн, сделайте простой адаптивный веб-сайт. Необязательно, чтобы у сайта был какой-то смысл. Практика с использованием новых знаний — важная вещь.

Чтобы практиковаться в JavaScript, выполняйте алгоритмические задания на freeCodeCamp. Когда закончите, попробуйте Code Wars и Coding Game. Это отличные сайты, на которых есть задачи для любого уровня знаний.

Начинаем подавать резюме

Как только вы закончите со среднеуровневыми проектами на freeCodeCamp, у вас будет достаточно опыта, чтобы стать Junor-разработчиком. Начните подавать заявки на эту должность. Взгляните на своё портфолио и решите, хотите ли вы его обновить или переделать. У вас должно быть намного больше опыта с тех пор, как вы его создали.

Подавайте заявки на вакансии, которые вас интересуют. Сначала попробуйте крупные сайты по поиску работы, затем сайты поменьше. Я получил несколько запросов, потому что разместил своё резюме и портфолио в Интернете. Один из телефонных звонков превратился в собеседование, а затем в приглашение на работу. Рекрутеры заинтересованы в человеке, который хочет стать Junior-разработчиком или уже является им.

Когда я начал подавать заявки, думал о том, что не был достаточно хорош, или о том, что никто не захочет меня брать. Огромное количество людей думает точно так же, когда подают своё резюме на первую работу. Но даже несмотря на отказ, вам просто стоит продолжить учиться и приобретать новые навыки. Другая ситуация может возникнуть, когда вас пригласили на собеседование, но не взяли на работу. Это отличная возможность спросить работодателя о том, какие навыки стоит развить. Большинство будут рады помочь и указать на необходимые требования. Третья ситуация возникает тогда, когда вы оказываетесь лучше, чем вы думали, и вас берут на работу.

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

Подготовка к собеседованию

Знайте основы. Практикуйте основы.

Это всё, что действительно необходимо, чтобы стать Junior-разработчиком. Также, имея недавно законченный проект, вам будет о чём поговорить с интервьюером. Если вы прекрасно разбираетесь в собственном коде и сможете объяснить тот или иной момент, это покажет вас с лучшей стороны.

Также подготовьте несколько вопросов для интервьюера. Например, какую операционную систему принято использовать в компании? Используют ли они Agile методы? Каковы будут ваши обязанности? Подготовьте пару вопросов насчёт их бизнеса. Вы будете проводить там много времени, так что в ваших же интересах убедиться в том, что это место работы вам действительно нравится.

Итак, это то, чем я руководствовался при устройстве на работу. Теперь перейдём к вещам, которые я бы сделал по-другому, будь у меня такая возможность. Также я расскажу о том, что узнал, когда помогал нанимать на работу кого-то.

Что бы я сделал по-другому

Если бы я проходил это ещё раз, некоторые вещи определённо сделал по-другому.

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

Я бы меньше выполнял Daily CSS Challenge. Я нашёл Daily CSS Challenge и проводил час или два в день, создавая CSS картинки. Это было довольно забавно, но у меня не было цели становиться дизайнером, т. к. я хотел быть разработчиком. Лучше бы потратил это время на разработку проекта или изучение чего-то нового, что пригодилось бы в моей работе.

Не тратьте много сил на то, чтобы ваши проекты выглядели великолепно. Я потратил около 15 часов на прорабатывание своего второго портфолио. Я перепробовал около 3 или 4 различных цветовых палитр, вариаций дизайна, чтобы сделать портфолио идеальным. Спустя 2 месяца я удалил его и создал портфолио намного лучше прежнего. Я мог бы потратить то время, к примеру, на изучение нужного фреймворка.

Я бы задавал вопросы. Как только мне встречалась проблема в проекте, я часами сидел и искал решение. Иногда у меня это получалось, а иногда я просто ходил кругами по нескольку часов. Я бы решал эти проблемы быстрее и эффективнее, спрашивая людей, у которых есть опыт. Форум freeCodeCamp — потрясающее место, полное опытных и умных людей, которые всегда рады помочь.

Что я узнал «по другую сторону стола»

Я узнал многое, когда компания, на которую я работал, проводила конкурс на мою должность. Я узнал многое о других разработчиках, чей уровень схож с моим, уровнем Senior-разработчика.

Многие кандидаты, которые проходили собеседование, не знали и не понимали основ. Как бы они смогли создавать компоненты Angular, если они не понимали замыкания?

Один из претендентов на должность имел безупречный проект. Когда я увидел этот проект, я действительно позавидовал. Senior-разработчик в команде видел то, что есть на самом деле — красивую веб-страницу. Правда, ей не хватало нормального функционала, который обычно ожидают увидеть пользователи на подобной странице. Этот кандидат смог бы стать отличным дизайнером, но никак не разработчиком.

Другой претендент имел поразительное портфолио. Многие проекты были действительно продвинутыми и хорошо сочетались. Он был первым кандидатом на должность. Однако впечатление о нём поменялось во время собеседования. Говоря с ним, было очевидно, что он не понимал большую часть кода в своих проектах. После собеседования, я, погулив, обнаружил, что все его проекты — это step-by-step гайды.

Если вы включаете такой проект в своё портфолио, вы должны быть уверены в том, что разбираетесь в написанном коде и можете его объяснить. Лучше всего просто сделать проект, в котором используются ваши знания, полученные из подобного гайда.

Чтобы стать Junior-разработчиком за 4 месяца и устроиться на работу, вам нужно:

  • Изучить основы. freeCodeCamp вам в этом поможет.
  • Использовать Git и GitHub для хранения и демонстрации вашей работы.
  • Сделать портфолио, которое определяет ваши навыки и показывает их.
  • Расширить знания в языке.
  • Практиковаться в изученном.
  • Подавать резюме, не боясь отказов. Зачем ждать?

Статьи по теме:

Как учить Java: 10 практических советов для новичков | GeekBrains

Организуем обучение самым эффективным образом

https://d2xzmw6cctk25h.cloudfront.net/post/2195/og_image/5516b577079450e9f3f3ff831e019c3c.jpg

Java — строго типизированный объектно-ориентированный язык программирования, разработанный и выпущенный в 1995 году компанией Sun Microsystems. В настоящий момент занимает достойное место среди самых популярных языков программирования. Владея Java, вы можете писать как оконные приложения для десктопов (используя Swing или JavaFX), так и бэкенд для веба, а также мобильные приложения для Android.

Разработчики языка вдохновлялись синтаксисом C/C++, однако Java проще в изучении. К тому же он имеет удобную систему управления памятью с автоматическим сборщиком мусора. Умный компилятор способен отловить «глупые ошибки» неопытного разработчика. На Java легко создавать модульные, многопоточные и кросс-платформенные приложения, хотя новичку может быть сложно поначалу оценить все эти преимущества.

В настоящий момент потребность в Java-разработчиках достаточно велика. Чтобы убедиться в этом, достаточно ввести соответствующий поисковый запрос, к примеру, на сайте hh.ru. И если вы решили начать или уже начали двигаться в направлении Junior Java Developer – поздравляю, это хороший выбор. Подготовка может занять от нескольких месяцев до года (в зависимости от ваших текущий знаний и опыта). И вот несколько советов, которые, уверен, помогут вам в этом пути:

Конкретизируйте свою цель. Например, целью можно поставить работу в качестве java-разработчика. Для этого выясните, что должен знать и уметь джуниор, спросив это у Google или, к примеру, в телеграм-чате для java-новичков. Составьте примерный план обучения, наметьте контрольные точки. Не смущайтесь регулярно уточнять и детализировать свой план.

Определитесь, будете ли вы учиться самостоятельно. Или доверитесь специалистам и проверенным учебным программам, записавшись на курсы по Java. Первый вариант сложнее и затратнее по времени, второй — легче и быстрее, однако за курсы придётся платить.

Настройтесь на то, что обучение займёт не один месяц. Поэтому сделайте его частью своей жизни. Занимайтесь, пусть даже понемногу, но каждый день. Регулярные долговременные усилия принесут больше пользы, чем периодические рывки.

Смиритесь с тем, что поначалу у вас не будет 100% понимания изучаемого материала. И периодически придётся принимать на веру, что делать нужно именно так, а не иначе. Однако со временем мозаика знаний сложится в цельную картину. Не стоит застревать на детальной расшифровке каждого непонятного термина.

Найдите хорошую книгу по Java, регулярно читайте и перечитывайте её. Я рекомендую новичкам всего две книги: «Java программирование для начинающих» Майка МакГрата, «Изучаем Java» Берта Бейтса и Кэти Сьерра. Первая короткая, 193 страницы, написана очень просто. Годится для изучения самых основ. Вторая в три раза толще, 720 страниц, охватывает больший объём материала, весело и доступно рассказывает о сложных вещах — например о том же объектно-ориентированном программировании.

Закрепляйте практикой всё, что изучаете теоретически. Программирование — это 20% теории и 80% практики. А может даже 10% теории и 90% практики. А может даже и 99% и 1% – для кого как. Практикуйтесь в написании кода каждый день. Существует множество сайтов, на которых можно упражняться в программировании – найдите себе по вкусу. В книге по Java, которую вы читаете, должны быть задания и упражнения – не пренебрегайте ими.

Повторение поможет достичь лучшего понимания. Перечитывайте снова и снова непонятный вам до конца как текст, так и код. И с каждым разом он будет становиться понятнее и понятнее.

Не стесняйтесь задавать вопросы — только научитесь их грамотно формулировать. Говорят, что правильно заданный вопрос уже содержит 50% ответа. Невозможно ответить на неконкретный вопрос. Можно следовать рекомендациям форума GeekBrains. Обсуждая код, не делайте скриншоты, не размещайте «простыни» в сообщениях — освойте инструменты, позволяющие делиться кодом с помощью ссылки, например codeshare.io или github.com. Но есть вопросы, которые задавать не стоит. Например «как работает этот фрагмент кода?» Или «что будет, если изменить в коде вот это?» У вас есть редактор и компилятор – напишите, измените, скомпилируйте, запустите и всё увидите сами.

Освойте систему контроля версий git, например, с помощью вот этого бесплатного курса. Создайте свой профиль на сайте Github.com и регулярно отражайте (commit) там все свои упражнения с кодом. В таком случае, разбираясь с кодом и задавая вопросы, достаточно будет указать ссылку на проблемный файл в вашем репозитории.

Подружитесь с английским языком. English is the key to the world’s treasures of programming and development. Учитесь читать англоязычный Java doc. Пишите на английском языке комментарии в своём коде. Известный анекдот: чем отличается Java Junior от Java Senior? Junior пишет поисковый запрос в гугл так: “java как конвертировать массив в список”. А Senior так: “java how to convert array to list”.

Если вы решили встать на путь системного образования java-разработчика, приглашаем на факультет Java-разработки GeekBrains. За 12 месяцев обучения вы разработаете сразу несколько вариантов распространённых проектов на Java — сетевой чат, мобильную игру, облачное хранилище, интернет-магазин — а также подготовитесь к собеседованию и получите первые предложения о работе!

Пример Резюме + Шаблон для Java Developer

Примеры резюме в смежных специализациях:

Общие рекомендации для составления резюме Java Developer

Рекомендации по составлению:

  • В title пишите название должности, чуть ниже – ФИО и контакты.
  • Вставляйте фото, оно делает резюме более уникальным и запоминающимся.
  • Оптимальный объём резюме – 1-2 страницы (1 – для новичков, 2 – для профи).
  • Обязательно проверяйте резюме на грамотность, пунктуацию, орфографию. Если с русским языком у вас плохо, то пользуйтесь специальными сервисами (Тургенев, Орфограммка) или наймите корректора.
  • Удалите вводные слова, эпитеты, ни о чём не говорящие прилагательные (отличный, профессиональный).
  • Делите информацию на блоки, выделяйте заголовками, границами, чтобы рекрутеру было проще ориентироваться в анкете.
  • Поработайте над дизайном: подберите цвета, иконки, шрифты. Опрятное и красивое резюме сразу создаёт приятное впечатление о соискателе.

Через пару дней вернитесь к резюме, перечитайте, поправьте. Не все ошибки видны сразу.

Обязательно вставляйте фотографию. Она на 10% повышает эффективность резюме java junior. При подборе снимка учтите следующие требования:

  • фото должно быть цветным;
  • желательно наличие лёгкой улыбки;
  • деловая одежда и причёска – обязательное условие;
  • фон удаляется в Photoshop, делается белым.

Фотографию для резюме рекомендуется делать у профессионального фотографа.

Уровень зарплаты можно указывать, но не ставьте этот показатель на первое место. Создадите неприятное впечатление. А вот желаемая должность обязана сразу бросаться в глаза. Её нужно указать в первых строках крупными буквами.

PDF или Word? У каждого формата есть свои преимущества:

  • PDF. Более универсальный. Можно быть всегда уверенным, что он будет отображаться на компьютере пользователя так же, как на вашем экране. Но рекрутер не сможет делать пометки прямо в документе.
  • Word. Более простой формат. Есть риск, что на другом устройстве резюме будет смотреться иначе. Впрочем, только если вы используете картинки и слишком необычные шрифты. Кадровик сможет делать заметки прямо в резюме.

Всё, что не PDF и не Word – это плохо. Не используйте другие форматы.

Хороший приём – перевести резюме программиста java на английский. Любой разработчик знает его, поэтому так вы покажете, что владеете им профессионально. Но здесь нужно смотреть на местный рынок и изучать резюме, которые подаются на вашу вакансию.

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

Опыт работы в резюме Java разработчика

Есть несколько простых рекомендаций, как составить резюме java junior:

  • Сначала пишите название компании, годы работы, должность. Потом перечисляйте обязанности, достижения.
  • Если имелись перерывы в работе, то их лучше скрыть, просто убрав годы работы. Или сосредоточившись на последней должности.
  • Частая смена работы – плохой признак. При таком факте обязательно указывайте причину увольнения. При отсутствии уважительных причин скрыть частую смену можно, удалив периоды работы.
  • Помните, что анкету нередко читают люди, совершенно не знакомые со специальностью. Старайтесь заменять термины привычными словами (вместо «хэширование» пишите «шифрование»).
  • Самые важные обязанности и достижения указывайте вверху. Не надо писать много. Лучше выберите 5-7 наиболее ценных пунктов.
  • Достижения – самый важный пункт в опыте работы. Именно он показывает, что конкретно может получить компания от вас.
  • Оформляйте все обязанности и достижения в виде списков. Так вы избавитесь от излишних слов и сделаете текст более читабельным.

Вот так может выглядеть пример описания опыта работы:

  • Период:

    Июнь 2019 – н.в.

  • Организация:

    ООО «SoftLight», Москва.

  • Должность:

    Программист Java.

  • Обязанности:

    — Изменение дизайна интерфейсов
    — Создание тестов производительности
    — Поиск и исправление ошибок кода
    — Создание отдельных элементов приложения

Достижения на работе

При перечислении достижений всегда пользуйтесь технологией «проблема, действие, результат». То есть вы составляете фразу по следующей структуре:

  1. Сначала называете проблему, которую решали в компании.
  2. Затем рассказываете о своих конкретных действиях, направленных на решение задачи.
  3. Потом называете количественные или качественные показатели (предпочтительней – первые), которые описывают полученный результат.

Пример техники:

  1. Проблема: Клиенты редко обновляли систему.
  2. Действие: Добавил возможность настройки автообновления.
  3. Результат: Из-за чего скачивание обновлений возросло в 14 раз.

Вот реальный пример заслуг программиста на предыдущем месте работы:

  • Достижения:

    — Оптимизировал более 20000 строк кода Java.
    — Менял версии API у приложений на десктоп-устройствах.
    — Повысил безопасность данных шифрованием через base64_encode.
    — Создал программу прогнозирования размеров энергопотребления.

Что делать, если нет опыта работы

При отсутствии опыта перечисляйте любой, который соответствует должности. Оставьте ссылки на профили на биржах. Расскажите о проектах, над которыми вы работали на них. Если у вас нет даже такого опыта, то больше уделите внимания графе навыков. Сделайте её подробной, заполняющей всю анкету.

Называть опыт на других работах или нет? Если графа заполнена, то нерелевантные должности лучше пропустить. Когда блок опыта пустой, то можно кратко перечислить предыдущие места работы. Например, «маркетолог – 5 лет».

Образование в резюме Java разработчика

В большинстве случаев его называют кратко, указывая год, название, факультет, специальность.

Пример описания основного образования:

  • Учебное заведение:

    Университет им. Витте, г. Москва

  • Факультет:

    Информатики

  • Специальность:

    Программист

  • Год окончания:

    2019

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

Пример перечисления пройденных курсов:

  • Год окончания:

    2020

  • Название курса:

    Java SE

  • Проводившая организация:

    Java Rush

  • Год окончания:

    2020

  • Название курса:

    Фундаментальный курс по SQL

  • Проводившая организация:

    Solo Learn

  • Год окончания:

    2019

  • Название курса:

    Java EE

  • Проводившая организация:

    Solo Learn

  • Год окончания:

    2019

  • Название курса:

    Программист Java

  • Проводившая организация:

    Java Rush

Уровень владения языком описывается по международной системе классификации.

Студентам и новичкам программирования полезно описать немного подробнее свой опыт во время учёбы в институте. Покажите, что вы реально старались, расскажите:

  • по какой теме защищали дипломную работу;
  • в каких проектах участвовали;
  • каким предметам больше уделяли времени.
  • Преподавателей, даже с известным именем, не указывайте.

    Навыки в резюме Java разработчика

    По описанию навыков в резюме java developer можно дать несколько советов:

    • Они всегда перечисляются списком, а лучше таблицей, где можно указать дополнительно годы использования и глубину знаний.
    • Не перечисляйте всё. То есть «коммуникабельность» – это хороший навык, но лучше оставить место для навыков по своей специальности.
    • Самое важное пишите вверху. То есть сначала указывается Java Core, затем популярные фреймворки, а ниже – всё остальное.

    Не указывайте просто Spring! Всегда конкретизируйте, какой фреймворк вы знаете из этой группы.

    Не пишите те технологии, которыми плохо владеете. Постарайтесь, чтобы в вашем резюме вовсе не было навыков «базового». Исключением могут стать те технологии, которые прямо заявлены в требованиях вакансии.

    Если вы ищете работу java-разработчика и при этом плохо владеете html5, то его лучше вовсе не упоминать. Ясно, что от специалиста такого профиля никто не будет требовать глубоких знаний в html5. Но заявлением «о низком уровне» такого знания вы смутите работодателя.

    Если нацеливаетесь на работу java-разработчиком, то после собственно самого языка Java Core должно идти перечисление фреймворков. Если вы указываете, что отлично разбираетесь в XML, CSS и тегах, то это внесёт путаницу. Вы точно устраиваетесь программистом java? Эти технологии применяются, но гораздо важнее знание специальных фреймворков.

    Пример навыков java разработчика:
    Java SEJava EE
    RxJavaJava Servlets
    Spring MVCApache Tomcat и Maven
    Паттерны MVC, MVP, MVVMJUnit
    JDBCHibernate ORM
    Spring CoreJSP
    SQL: MySQL, PostgreSQLNoSQL: MongoDB, Firebase
    SOAPRetrofit 2
    Log4JXML, HTML, CSS
    JavaScriptGit

    Что писать о себе в резюме Java разработчика

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

    Нельзя просто указать свои личные качества. Стандартный набор характеристик (трудолюбивый, внимательный…) перечисляет каждый первый-второй. Если пишете личные качества, то подтверждайте их фактами.

    Расшифруйте свои характеристики:

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

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

    Пример небольшого рассказа о себе:

    • С отличием окончил университет им. Витте. Изучать программирование начал с C#, позже перешёл на Java. Его изучаю больше года. Дважды проходил соревнование в WordSkills и оба раза получил 2 место. Подрабатываю, создавая приложения для Android.

    Как заполнить контакты в резюме Java разработчика

    Домашний адрес давать бессмысленно. Зато можно указать район проживания или ближайшую станцию метро.

    Какие виды контактов обязательно указываются:

    • Телефон обязателен. Чаще всего связываются по нему;
    • Скайп занимает второе место по частоте;
    • Полезно указать один из мессенджеров. Некоторые компании любят отправлять сообщения в Твиттер и подобные сети;
    • Для разработчика обязательным является указание ссылок на примеры скриптов на ГидХаб и других подобных площадках;
    • Если работаете на биржах фриланса – оставляйте ссылку на профиль;
    • Если имеется свой сайт, то прикрепляйте ссылку на портфолио.

    Обязательно проверяйте все контакты на правильность ввода.

    Шаблон заполнения контактной информации:

    • Телефон:

      +7 904 000-00-02

    • Email:

      [email protected]

    • Skype:

      OracleMyResume

    • FaceBook:

      /Oracle_myresume/

    Заключение

    Поработайте над дизайном образца резюме java junior. Делите информацию на блоки, выделяйте их для лучшей ориентации по анкете. Уделите внимание последним 5-10 годам опыта, не пишите всё, подчёркивайте самое главное. Обязательно перечисляйте достижения с цифрами и фактами.

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

    Как стать младшим Java-разработчиком

    Когда дело доходит до младшего Java-разработчика, это больше, чем кажется на первый взгляд. Например, знаете ли вы, что они зарабатывают в среднем 34,33 доллара в час? Это 71 403 доллара в год!

    Ожидается, что в период с 2018 по 2028 год карьера вырастет на 13% и создаст 20 900 рабочих мест в США.

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

    Когда дело доходит до наиболее важных навыков, необходимых для младшего java-разработчика, мы обнаружили, что во многих резюме указано, что 17,6% младших разработчиков java включают java, в то время как 9,0% резюме включают javascript, а 6,6% резюме включают веб-интерфейс. Сервисы. Подобные навыки полезны, когда дело касается выполнения основных должностных обязанностей.

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

    Если вы заинтересованы в том, чтобы стать младшим Java-разработчиком, в первую очередь следует подумать о том, сколько образования вам нужно. Мы определили, что 53.4% младших java-разработчиков имеют степень бакалавра. Что касается уровня высшего образования, мы обнаружили, что 42,4% младших Java-разработчиков имеют степень магистра. Несмотря на то, что у большинства младших разработчиков Java есть высшее образование, невозможно стать одним из тех, кто имеет только среднюю школу или GED.

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

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

    Как мне стать младшим разработчиком Java®? (с изображениями)

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

    Младшие разработчики Java® вносят свой вклад в проекты разработки программного обеспечения, которые разрабатываются на языке программирования Java®.

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

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

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

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

    Работодатели обычно воспринимают вашу способность решать проблемы как отражение вашей способности к росту как разработчика.Это может быть важным фактором при принятии решения о том, стоит ли вам нанимать вас в качестве младшего разработчика. Предыдущий опыт работы над проектами Java®, а не только выполнение домашних заданий на занятиях по программированию, может не только помочь вам добраться до последнего шага в процессе приема на работу, но и дать вам практический опыт, чтобы успешно ответить на любые вопросы программирования.

    Как выучить Java — Найдите учебные курсы для начала работы

    Что нужно знать о Java

    Java — это язык программирования, выпущенный Sun Microsystems в 1995 году и являющийся одним из самых популярных языков, используемых во всем мире. 1 .В 2010 году Oracle приобрела Sun Microsystems и добавила Java в свой портфель программных продуктов 2 . Они продолжали вводить новшества и выпускать обновленные версии. Благодаря своей универсальности Java — идеальный язык для изучения разработчиками. Те, кто хочет изучать Java, могут сделать это на курсах, учебных курсах и программах сертификации. Перейдите к нашему исчерпывающему списку, чтобы найти учебные курсы по Java.

    Для чего используется Java?

    Java считается языком программирования общего назначения, который используется для веб-разработки, веб-приложений и мобильных приложений, больших данных, разработки игр и IoT (Интернета вещей).Разработанный для гибкости и широкого использования, Java — это объектно-ориентированный язык, который использует объекты, содержащие как данные, так и код, и позволяет программистам создавать модульные программы и повторно используемый код. Преимущество Java в том, что он легко перемещается с одной компьютерной системы на другую, если в ней есть JVM (виртуальная машина Java), что делает ее независимой от платформы. Хотя его можно использовать для небольших задач, Java лучше подходит для проектирования крупномасштабных систем.

    Зачем изучать Java?

    Java — динамический, гибкий язык, который является одним из ведущих языков программирования в мире.Он ориентирован на безопасность и может выполнять сложные, утомительные задачи. Он решает множество проблем благодаря многочисленным фреймворкам и библиотекам; он также предлагает разработчикам другие инструменты, такие как Java Development Kit (JDK), Oracle JDeveloper и JRat (Java Runtime Analysis Toolkit). Согласно отчету HackerRank за 2018 год, работодатели оценили Java как второй по популярности язык, а в статистическом документе, опубликованном Oracle, Java считался языком номер один для DevOps, AI, VR, Analytics, Chatbots, Big Data. , и другие актуальные технологии.

    Кому следует изучать Java?

    Java — отличный язык для начинающих, потому что его синтаксис похож на другие языки, поэтому он может помочь при изучении JavaScript, C ++ и C #. Те, кто изучает Java, также найдут много доступных наставников, поскольку это очень широко используемый язык программирования. Java важна для back-end разработчиков и важна для всех, кто хочет продолжить карьеру программиста на Java.

    Какие виды работ можно получить с Java?

    Изучение Java подготовит вас к работе младшего разработчика Java и разработчика Java, а также является хорошей основой для работы разработчика любого типа.Java может привести к карьере разработчика Android или внутреннего разработчика, а поскольку она подходит для крупномасштабных систем, она также хороша для тех, кто ищет позицию разработчика в крупной корпорации. Отрасли, которые сильно зависят от Java, включают большие данные, мобильные вычисления и игры. Среднегодовая зарплата Java-разработчика составляет 104 350 долларов США.

    Что такое библиотеки в Java?

    Библиотека Java — это набор классов или подпрограмм, которые уже написаны и могут быть использованы в вашем коде.Примером библиотеки Java может быть Java.net, которая используется для сетевых коммуникаций, или Java.io, которая используется для функций ввода и вывода. Простой поиск в Интернете поможет вам найти библиотеки Java, которые являются наиболее популярными / часто используемыми, а также библиотеки Java, которые считаются наиболее полезными. Вы можете найти библиотеки ядра Java на сайте Oracle. Преимущество использования библиотеки Java заключается в том, что она экономит время при программировании и, скорее всего, не содержит ошибок. 3 .

    Что такое Java-фреймворки?

    Платформа Java — это большой объем заранее написанного кода, который добавляется к вашему коду для создания приложения.Фреймворк может включать классы (категории объектов) и функции. Некоторые из лучших платформ Java — это Google Web Toolkit, Spring, Java Server Faces (JSF) и Hibernate.

    Изучите Java на учебном курсе по программированию

    Многие учебные курсы включают Java в свои учебные программы, но некоторые из них сосредоточены на том, чтобы помочь студентам стать разработчиками Java. Например, Coding Dojo предлагает 14-недельный учебный курс по кодированию на месте, где вы можете выбрать свои стеки, включая Java в качестве опции. Codecademy предлагает несколько соответствующих курсов, таких как «Разработка базовых приложений для Android с Java» и «Learn Java» для начинающих.Ниже мы составили исчерпывающий список учебных курсов, которые включают курсы Java, учебную программу и обучение.

    Полный список учебных курсов по Java

    Не знаете, куда обратиться?

    Мы вам поможем.

    Найдите соответствие

    СПОНСИРУЕМЫЕ

    Ссылки

    1. Статистика популярности Java. [онлайн] Доступно по адресу: https://stackshare.io/bootstrap [доступ 29 июля 2020 г.]
    2. Oracle и Sun Microsystems | Стратегические приобретения.[онлайн] Доступно по адресу: https://www.oracle.com/sun/[ дата обращения 29 июля 2020 г.]
    3. Избегайте ошибок при программировании | Исправление ошибок. [онлайн] Доступно по адресу: https://blog.hyperiondev.com/index.php/2019/01/24/good-ways-avoid-bugs-programming/ [доступ 29 июля 2020 г.]

    Должны ли учащиеся иметь возможность пользоваться телефонами в классе?

  • У детей должны быть телефоны

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

    2. Безопасность
    Землетрясения, пожары, плохая погода, дорожно-транспортные происшествия — есть много вещей, которые могут случиться в течение дня после того, как ваши дети уйдут из дома в школу. Сотовые телефоны — это спасательный круг между родителями и их детьми. Сотовые телефоны также можно использовать для вызова служб экстренной помощи.

    3. Необходимость
    Если вашему ребенку нужно связаться с вами, потому что он опаздывает, или он решает пойти в кино в торговом центре, у него осталось несколько телефонов-автоматов, чтобы они могли позвонить вам.

    4. Ответственность
    Сотовый телефон дает вашему ребенку возможность быть более ответственным и сообщать вам, если он опаздывает. Мобильные телефоны также важны для подростков, которые могут оказаться на вечеринке без трезвой поездки домой и им нужно позвонить вам, чтобы их забрать.

  • Я говорю «да» телефонам в школе

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

  • Детям нужны телефоны.

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

  • К KKKK

    L LL лк kkkkkkkkkkkkkkkkkkkkk kkkkkkkkkkkkkkkkkkkkk к кк KKKKKK

  • М мммм

    М mmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmm мм мммммм мм мммм мм м

  • Н NNN

    Yg888888888888888888888888888888888888888888888888888888888888888888888888nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn JJJJ jjnnn пп nnnnnnnnnnnnnnnnnnnnn NNN пп NNNNNN пп nnnn nn nn nn nn

  • У них должны быть телефоны в школах

    Их следует использовать в школах, потому что у старшей школы есть такая возможность, и было бы несправедливо, что они хотят, чтобы ученики созревали, но как расти без электроники .Что, если случится пожар, и этот ребенок держит телефон в руке, но не может им пользоваться. Думаю об этом?

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

    Студенты могут использовать их для калькуляторов, таймеров, в образовательных целях, в Интернете, а также могут использовать целлофан для заметок на своих телефонах, когда у них нет достаточно времени, чтобы скопировать это при записи. Если ваша подруга заболела и не хочет пропустить урок, вы всегда можете рассчитывать время на нее или с ним, чтобы она могла посмотреть урок.Они могли использовать его, потому что, когда они забыли домашнее задание или обед дома, они всегда могли написать или позвонить своим родителям.

  • Телефоны должны быть разрешены!

    Телефоны должны быть разрешены в школе, потому что они могут помочь вам с домашним заданием. Это удерживает учащегося от занятий, давая ему доступ к материалам, о которых они могут не знать. У них может быть свой телефон в случае чрезвычайной ситуации. Вот почему мы считаем, что ученикам следует разрешить пользоваться телефонами в течение учебного дня.

  • Can and could — упражнения на модальные глаголы

    Указатель содержания
    Can / could — упражнения May / might must / have to Shall / should Will / would Смешанные методы — упражнения Had better agendaweb.org Home

    Рабочие листы — раздаточные материалы



    Видео II: можно / можно / можно

    • Can / could — упражнения

    • май / май

    • Должен / должен до

    • Должен / должен

    • Будет / будет

    • Смешанные методы — упражнения

    • Было лучше

    • Рабочие листы — раздаточные материалы

    • Дом

    Содержимое

    Упражнения — модальные глаголы

    1. Can / could — упражнение 1
    2. Can / could — упражнение 2
    3. Can / could — испытание
    4. Может, не могу, мог, не мог — напишите
    5. Can / could: английская грамматика
    6. Мог / не смог — упражнения
    7. Может / мог / мог бы
    8. Могли бы вы?
    9. Can / could — упражнения
    10. Может / мог / мог бы
    11. Может / мог / мог бы
    12. Может / мог / мог бы
    13. Может — уметь — упражнения
    14. Может / не могу / мог / не мог
    15. Может / не могу / мог / не мог
    16. Могу я или ты?
    17. Can / could — упражнения
    18. Модалы способностей — упражнения
    19. Модальные окна: can / could
    20. Мог / мог иметь
    21. Может / мог — написать
    22. Может / мог / быть в состоянии
    23. Может / мог / мог бы

    смешанные методы — упражнения

    .