Что нужно знать Java-программисту

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

Восьмое место! Шаблоны
Когда работодатель будет проверять Ваше тестовое задание, то он ожидает увидеть типичную структуру приложения. Другими словами – будет искать привычные ему шаблоны проектирования. Такие вещи в описании к задаче не указываются, но они должны быть.

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

Вы должны знать и уметь писать DAO и хотя бы немного понимать, что такое MVC. Почитайте про то, как разбивать Ваше приложение на слои. Эти шаблоны, как и JDBC, хорошо учиться применять при написании своего CRUD.

Девятое место! Maven или Gradle
Наверно многим покажется странным, что я поставил Maven и Gradle на 9-е место – раньше чем spring и hibernate. Я рекомендую познакомиться со сборщиками как можно быстрее. Потому, что это избавит Вас от многих проблем связанных с добавлением новых фреймворков и библиотек в Ваш проект. Например, Вам не придется самому качать необходимые jar-ки и складировать их в папку lib или запускать тесты.

Обязательно научитесь собирать проект. Подключать новые зависимости. Из необязательных навыков назову работу с профайлами и создание вложенных модулей.

Десятое место! Spring core
На 10-м месте spring. Без него сейчас сложно. Но я Вас обрадую. Учить там не так уж и много. Вы должны уметь создавать bean-ы и внедрять зависимости в эти bean-ы. Также научитесь конфигурировать JDBC и Hibernate используя spring context. Изучите как это делать через аннотации.

Не обязательно, но будет плюсом умение использовать транзакции при работе с Hibernate или JDBC. Тоже не обязательно, но почитайте про JDBCTemplate, HibernateTemplate и аннотацию @Transactional.

Большинство технологий проще и интересней изучать на практике. Поэтому, если Вы уже написали свой CRUD, то перепишите его c использованием spring.

Одиннадцатое место! Hibernate
На 11-м месте Hibernate. Его сейчас также везде требуют. Что вообще нужно про него знать? Тоже не так уж и много. Во первых, научитесь мапить классы на колонки таблиц БД. Научитесь пользоваться аннотациями @ManyToMany, @OneToOne, @ManyToOne, поэкспериментируйте с ленивой загрузкой и каскадными операциями. Необязательно, но можете посмотреть как работать с транзакциями.

Опять же, попрактикуйтесь на своем же CRUD редакторе. Если когда-то писали CRUD на JDBC, то перепишите его на Hibernate.

Двенадцатое место! JSP
12-е место JSP. Вы должны уметь на чем-то писать слой представления. Это может быть JSP + JSTL. Можете изучить другие способы написать клиентскую часть. Например тот же AngularJS. Когда Вы получаете тестовое задание, то обычно от Вас не требуют писать сильно изощренную графику. Поэтому HTML, JS, CSS – должны быть хотя бы на базовом уровне. Лично я, когда устроился, JS практически не знал.

Тринадцатое место! Spring MVC
13-е место Spring MVC. Довольно часто новички не знают как грамотно организовать работу их веб-приложения через сервлеты. Тогда им на помощь придет Spring MVC. Не считаю его обязательным. Но там много всего, что поможет облегчить Вам жизнь при решении тестового задания.

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

Четырнадцатое место! Tomcat
14-е место Tomcat. Новичку про Tomcat знать нужно немного. Попробуйте развернуть свое приложение на нем. И научитесь запускать его в debug mode-е и подключаться удаленно через IDE.

Пятнадцатое место! JUnit
15-е место JUnit. Тесты это хорошо. Вы должны уметь протестировать свой CRUD редактор. Не обязательно, но можете посмотреть, что такое mock объекты и попробовать протестировать свои классы.

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

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

Шестнадцатое место! Git
16-е место Git. Системы контроля версий также не обязательны. Но они очень удобны. Если Вы их освоите хотя бы на базовом уровне, то не захотите больше работать без них. К тому же Вы неизбежно будете использовать их на работе. И скорее всего Вас попросят залить Ваш проект на GitHub для дальнейшей проверки.

Новичку научиться комитеть и заливать свой проект на GitHub и само-собой извлекать его от туда – более чем достаточно.

Семнадцатое и восемнадцатое место! Web-Services (SOAP, REST) и Шаблоны GoF
17-е и 18-е место занимают веб-сервисы и шаблоны GoF. Если уже все выучили и хотите, что-то новое, то можете изучить их. Некоторым из Вас могут попасться тестовые задачи, в которых нужно будет использовать веб-сервисы.

Можете немного вникнуть в тему шаблонов GoF и начать использовать их. Скорее всего Вы будете применять их неправильно и пихать где попало. Но может случится так, что вас попросят написать реализацию Singleton на собеседовании. По этому потренируйтесь. Еще познакомьтесь с этими шаблонами: Abstract Factory, Builder, Factory Method.

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

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
казино онлайн vavada
казино онлайн vavada
2 лет назад

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

интернет магазин церковной утвари
интернет магазин церковной утвари
2 лет назад

Java был создан компанией Sun Microsystems в 1995 году и очень быстро быстро завоевал популярность среди программистов его стали использовать в создании клиентских приложений и серверного программного обеспечения. Java-приложения транслируются в специальный байт-код, выполняемый виртуальной машиной JVM (Java Virtual Machine), которая может быть установлена практически на любое устройство. Это делает программы, разработанные на Java, кроссплатформенными.

2
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x