Skip to content

Commit 62e31a0

Browse files
admin@javaops.ruadmin@javaops.ru
authored andcommitted
Update topjava
1 parent c145d7d commit 62e31a0

File tree

9 files changed

+884
-8
lines changed

9 files changed

+884
-8
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ out
33
target
44
*.iml
55
log
6-
6+
*.patch
77

88

README.md

Lines changed: 212 additions & 0 deletions
Large diffs are not rendered by default.

ReleaseNotes.md

Lines changed: 211 additions & 0 deletions
Large diffs are not rendered by default.

cv.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
## Составление резюме, подготовка к интервью, поиск работы
2+
3+
![cv](https://cloud.githubusercontent.com/assets/13649199/10877471/93ea86b8-8157-11e5-9bfa-95e3fba75c58.jpg)
4+
5+
- <a href="http://habrahabr.ru/company/ua-hosting/blog/272617/">Научиться программировать сложнее, чем кажется</a>
6+
- [Собеседование. Разработка ПО. Вопросы.](https://drive.google.com/open?id=0B9Ye2auQ_NsFQVc2WUdCR0xvLWM)
7+
- [Набор ссылок для тренировки и прохождения интервью](https://github.com/andreis/interview)
8+
9+
### Составление резюме:
10+
- [VisualCV: create resume in minutes](https://www.visualcv.com/)
11+
- <a href="http://resumup.com/">Выбрать шаблон для резюме</a>
12+
- [GitHub Pages](https://pages.github.com/), <a href="https://github.com/jglovier/resume-template">Resume template</a>
13+
- <a href="http://lifehacker.ru/2015/04/07/33-lajfhaka-dlya-rezyume/">Как продать свое резюме в 2 раза дороже</a>
14+
- <a href="http://enjoy-job.ru/trudoustroistvo/kak-pravilno-sostavit-rezume/">Как правильно составить резюме</a>
15+
- <a href="http://habrahabr.ru/post/184332/">Резюме программистов. Часть 1 (плохие)</a>
16+
- <a href="http://habrahabr.ru/post/184372/">Резюме программистов. Часть 2 (хорошие)</a>
17+
- <a href="http://skyeng.ru/articles/sostavte-rezyume-na-anglijskom-450-primerov">Как составить резюме на английском</a>
18+
- <a href="http://blog.olegdubas.com/2013/03/17/resume/">ОФОРМЛЕНИЕ IT-РЕЗЮМЕ для USA</a>
19+
20+
### <a href="http://javaops.ru/story.html">Наши истории (делимся опытом и успехом)</a>
21+
22+
### Тесты/задачи онлайн:
23+
- [Java Programming Test](https://tests4geeks.com/java)
24+
- <a href="http://www.javadeathmatch.com/">game: test Java skills</a>
25+
- <a href="https://codility.com/programmers/lessons">Codility lesson tests</a>
26+
- <a href="http://www.quizful.net/test">Quizful- тесты онлайн</a>
27+
- <a href="https://leetcode.com/">LeetCode Online Judge</a>
28+
- <a href="http://www.spoj.com/">Sphere online judge</a>
29+
- <a href="https://codility.com/programmers/lessons/">Codility programmers lessons</a>
30+
- <a href="https://www.hackerrank.com/">Hackerrank practice coding</a>
31+
- [Interviewing: the most profitable skill you can learn (pramp.com)](https://www.pramp.com/)
32+
- [start.interviewing.io](https://start.interviewing.io/)
33+
34+
## [Тестовое собеседование, самые спрашиваемые темы](http://javaops.ru/interview/test.html)
35+
36+
### Интервью:
37+
- <a href="https://www.youtube.com/watch?v=Deb5wMHjBHY">Михаил Портнов. Собеседование на работу: как продать себя грамотно</a>
38+
- <a href="https://www.youtube.com/watch?v=qKsc8PoHJwM">Михаил Портнов. Какие вопросы мы задаем на собеседовании?</a>
39+
- <a href="https://www.youtube.com/watch?v=hry2CNuOxBg">Михаил Портнов. Собеседование на работу: жизненный путь</a>
40+
- <a href="https://www.youtube.com/playlist?list=PL7XXjge0nKZczMtQbNk9c2cplvuLZomTh">Канал: Резюме, поиск работы, интервью</a>
41+
- <a href="https://www.youtube.com/watch?v=ft0Nj8Cm9kk">Яков Файн: Как стать профессиональным Java разработчиком</a>
42+
- <a href="https://jsehelper.blogspot.ru/p/blog-page.html">Ответы на вопросы на собеседовании Junior Java Developer</a>
43+
- <a href="http://javastudy.ru/interview/list-of-question-java-interview/">Список вопросов с ответами для собеседования по Java</a>
44+
- <a href="https://github.com/MaximAbramchuck/awesome-interviews#java">Сборка по вопросам на интервью</a>
45+
- <a href="http://javastudy.ru/category/interview/">Сборка вопросов-ответов от JavaStudy</a>
46+
- [Вопросы по классам коллекциям от JavaRush-1](http://info.javarush.ru/translation/2013/10/08/Часто-задаваемые-на-собеседованиях-вопросы-по-классам-коллекциям-в-Java-Часть-1-.html)
47+
- [Вопросы по классам коллекциям от JavaRush-2](http://info.javarush.ru/translation/2013/10/08/Часто-задаваемые-на-собеседованиях-вопросы-по-классам-коллекциям-в-Java-Часть-2-.html)
48+
- <a href="http://habrahabr.ru/post/181033/">Тест на знание SQL</a>
49+
- <a href="http://jsehelper.blogspot.ru/p/blog-page.html">Вопросы на собеседовании Java Junior Developer</a>
50+
- <a href="https://play.google.com/store/apps/details?id=com.ab.jiq">Java вопросы с собеседований на Android</a>
51+
- <a href="https://drive.google.com/open?id=0B9Ye2auQ_NsFLTRFY293RUVPVms">Сборка вопросов от JavaRush</a>
52+
> про clone и finalize объязательно прочтите <a href="http://www.ozon.ru/context/detail/id/24828676/">Джошуа Блох: Java. Эффективное программирование (второе издание)</a>
53+
54+
- <a href="http://bookvoed.ru/book?id=2593572">Cracking the Coding Interview</a>
55+
> Особенно обратите внимание на раздел: <a href="http://storage.piter.com/upload/contents/978545901120/978545901120_X.pdf">Часть VIII. Вопросы собеседования</a>
56+
57+
58+
### От себя:
59+
- email, skype - очень желательно, чтобы по ним вы были узнаваемы. Заведите рабочие, если не так.
60+
- написать ВЕСЬ IT опыт (исключая опыт пользователя: Windows, MS Word, Photophop, Yandex disk, Google docs, ..): технологии, какие задачи решали (конкретные), какие инструменты использовали, VCS, DB, инструменты сборки, ... включая опыт в ВУЗе.
61+
- на English иметь желательно. Если вакансия опублинована на Englsih - шлите на нем. Часто могут на нем попросить, если работодатель иностранный.
62+
- удобно иметь резюме где то в инете (hh, linkedin, google doc, чтобы им было удобно делиться).
63+
64+
### Позиционирование <a href="https://github.com/JavaOPs/topjava/blob/master/description.md">проекта Topjava</a>:
65+
- Обязательно убери из резюме **любое упоминание Junior**. Количество обращений возрастет на порядок. Ссылку на стажировку можно поставить: http://javaops.ru/view/topjava (в linkedin: https://www.linkedin.com/company/java-online-projects).
66+
- После завершения проекта ты освошь все заявленные в нем технологии - вставь их в квалификацию (включая java 8 Stream and Time API).
67+
- В разделе опыт работы (если нет коммерческого опыта) вставь:
68+
69+
Участие в разработке Spring/JPA Enterprise приложения c авторизацией и правами доступа на основе ролей
70+
на стеке Maven/ Spring MVC/ Security/ REST(Jackson)/ Java 8 Stream API:
71+
- реализация сохранения в базы Postgres и HSQLDB на основе Spring JBDC, JPA(Hibernate) и Spring-Data-JPA
72+
- реализация и тестирование REST и AJAX контроллеров
73+
- реализация клиента на Bootstrap (css/js), datatables, jQuery + plugins.
74+
- собственная доработка проекта
75+
76+
- Делай упор не на обучение, а на **участие в проекте**. Выполнение домашних заданий это полноценное участие с написанием функционала по всем пройденным технологиям. На собеседовании смотрят не на то, что ты заканчивал, а на опыт и знания.
77+
78+
### В процессе обучения
79+
- Если рассмотриваешь предложения по работе, подними в своем профиле этот флаг и обязательно заполни ссылку на резюме. Обновления нашей базы выпускников смотрят уже более 125 партнеров по трудоустройству (компании и индивидуальные рекрутеры). Проверь содержание "Информация для HR": по нему принимают решение, открывать резюме или нет.
80+
81+
- Вступайте в нашу группу участников Slack: каналы помощи с Java, отзывы о работодателях, обсуждение тестовых заданий, вакансии, цены на рынке труда, IT события, интересные видео и многое другое.
82+
83+
- <a href="https://vk.com/javawebinar?w=wall-58538268_414">Подпишитесь на рассылку вакансий под себя</a>
84+
85+
### После прохождения испытательного срока жду твою [историю успеха](http://javaops.ru/view/story)
86+
87+
### Основные сайты поиска работы:
88+
- <a href="https://rabota.yandex.ru/search?job_industry=275&text=java">Яндекс агрегатор</a>
89+
- <a href="hh.ru">HH</a>
90+
- <a href="https://www.linkedin.com/">LinkedIn</a>
91+
- <a href="http://djinni.co/">djinni.co (более актуально для Украины)</a>
92+
93+
## Как выжить на испытательном сроке
94+
- Учись грамотно формулировать проблему. Проблема "у меня не работает" может иметь тысячи причин. В
95+
процессе формулирования очень часто приходит ее решение.
96+
- Учись инвестигировать проблему. Внимательное чтение логов и умение дебажить - основные навыки
97+
разработчика. В логах надо читать верх самого нижнего эксепшена - там причина всей портянки.
98+
- Грамотно уделяй время каждой проблеме. Две крайности - сразу бросаться за помощью и
99+
бится нам ней часами.
100+
Пробуй решить ее сам и в зависимости от проблемы выделяй на это разумное время.
101+
- Если тебе что-то объясняют по проекту - обязательно записывай.</li>
102+
- Когда получаешь задачу - уточни все очень подробно.</li>
103+
- Получай в процессе решения обратную связь - в том ли направлении ты идешь.</li>
104+
- Не игнорируй совместные ланчи (курилки)</li>
105+
- Готовься к стендапам/летучкам. Задавай на них вменяемые вопросы. Выказывай заинтересованность</li>
106+
- Выдели самое главное путем опроса босса и важных коллег. Не распыляйся на мелочи.</li>
107+
- [**5 вещей, которые разработчик должен сделать прежде чем попросить о помощи**](https://techrocks.ru/2018/07/16/5-things-a-developer-should-do-before-asking-for-help/)
108+
- [**Советы новичкам**](http://blog.csssr.ru/2016/09/19/how-to-be-a-beginner-developer)
109+
- [Нетехнические навыки](https://tproger.ru/experts/softskills-for-job)
110+
111+
## [Отзывы по стажировке Topjava](https://vk.com/topic-74381644_30447246)

description.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
#### Разработка полнофункционального Spring/JPA Enterprise приложения c авторизацией и правами доступа на основе ролей с использованием <a href="https://zeroturnaround.com/rebellabs/java-tools-and-technologies-landscape-2016/" target="_blank">наиболее популярных инструментов и технологий Java</a>: Maven, Spring MVC, Security, JPA(Hibernate), REST(Jackson), Bootstrap (css,js), datatables, jQuery + plugins, Java 8 Stream and Time API и сохранением в базах данных Postgresql и HSQLDB.
2+
3+
- Основное внимание будет уделяться способам решения многочисленных проблем разработки в Spring/JPA, а также структурному (красивому и надежному) java кодированию и архитектуре приложения.
4+
- Каждая итерация проекта закрепляется домашним заданием по реализации схожей функциональности. Следующее занятие начинается с разбора домашних заданий.
5+
- Большое внимание уделяется тестированию кода: в проекте более 100 JUnit тестов.
6+
- Несмотря на относительно небольшой размер, приложение разрабатывается с нуля как большой проект (например мы используем кэш 2-го уровня Hibernate, настраиваем Jackson для работы с ленивой загрузкой
7+
Hibernate, делаем конверторы для типов LocalDateTime (Java 8 time API).
8+
Разбираются архитектурные паттерны: слои приложения и как правильно разбивать логику по слоям, когда нужно применять Data Transfer Object.
9+
Т.е на выходе получается не учебный проект, а хорошо маштабируемый шаблон для большого проекта на всех пройденных технологиях.
10+
- Большое внимание уделяется деталям: популяция базы, использование транзакционности, тесты сервисов и REST
11+
контроллеров, насторойка EntityManagerFactory,
12+
выбор реализации пула коннектов. Особое внимание уделяется работе с базой: через Spring JDBC, Spring ORM и
13+
Spring Data Jpa.
14+
- Используются самые востребованные на сегодняшний момент фреймворки: Maven, Spring Security 4
15+
вместе с Spring Security Test, наиболее удобный для работы с базой проект Spring Data Jpa, библиотека логирования logback, реализующая SLF4J, повсеместно используемый Bootstrap и jQuery.
16+
17+
#### <a href="http://topjava.herokuapp.com/" target=_blank>Демо разрабатываемого приложения</a>
18+
19+
## План проекта (ссылки на некоторые темы открыты для просмотра)
20+
### Архитектура проекта. Персистентность.
21+
- <a href="https://drive.google.com/file/d/0B9Ye2auQ_NsFSUNrdVc0bDZuX2s">Системы управления версиями</a>
22+
- <a href="http://www.youtube.com/watch?v=_PDIVhEs6TM">Java 8: Lambda</a>, Stream API
23+
- Обзор используемых в проекте технологий и инструментов.
24+
- <a href="https://drive.google.com/open?id=0B9Ye2auQ_NsFSlZMTXBJRXJpakU">Инструмент сборки Maven.</a>
25+
- WAR. Веб-контейнер Tomcat. Сервлеты.
26+
- Логирование.
27+
- Обзор стандартных библиотек. Apache Commons, Guava
28+
- Слои приложения. Создание каркаса приложения.
29+
- Обзор Spring Framework. Spring Context.
30+
- Тестирование через JUnit.
31+
- <a href="https://drive.google.com/file/d/0B9Ye2auQ_NsFai1veG9qaFZlZ2s/view">Spring Test</a>
32+
- Базы данных. PostgreSQL. Обзор NoSQL и Java persistence solution без ORM.
33+
- Настройка Database в IDEA.
34+
- Скрипты инициализации базы. Spring Jdbc Template.
35+
- <a href="https://drive.google.com/file/d/0B9Ye2auQ_NsFU0Z2R190eDllYmM/view">Spring: инициализация и популирование DB</a>
36+
- ORM. Hibernate. JPA.
37+
- [Тестирование JPA сервиса через AssertJ](https://www.youtube.com/watch?v=BlyaXT6tOaw)
38+
- Поддержка HSQLDB
39+
- Транзакции
40+
- Профили Maven и Spring
41+
- <a href="https://drive.google.com/open?id=0B9Ye2auQ_NsFTWJOdHduOWtNcTA">Пул коннектов</a>
42+
- Spring Data JPA
43+
- Кэш Hibernate
44+
45+
### Разработка WEB
46+
- Spring кэш
47+
- Spring Web
48+
- JSP, JSTL, i18n
49+
- Tomcat maven plugin. JNDI
50+
- Spring Web MVC
51+
- Spring Internationalization
52+
- Тестирование Spring MVC
53+
- REST контроллеры
54+
- Тестирование REST контроллеров. Jackson.
55+
- jackson-datatype-hibernate. Тестирование через матчеры.
56+
- Тестирование через SoapUi. UTF-8
57+
- WebJars.
58+
- Bootstrap. jQuery datatables.
59+
- AJAX. jQuery. Notifications.
60+
- Spring Security
61+
- Spring Binding/Validation
62+
- Работа с datatables через Ajax.
63+
- Spring Security Test
64+
- [Кастомизация JSON (@JsonView) и валидации (groups)](https://drive.google.com/open?id=0B9Ye2auQ_NsFRTFsTjVHR2dXczA)
65+
- Encoding password
66+
- <a href="https://drive.google.com/file/d/0B9Ye2auQ_NsFNDlPZGdUNThzNUU/view">CSRF (добавление в проект защиты от межсайтовой подделки запроса)</a>
67+
- form-login. Spring Security Taglib
68+
- Handler interceptor
69+
- Spring Exception Handling
70+
- Смена локали
71+
- Фильтрация JSON через @JsonView
72+
- Защита от XSS (Cross Site Scripting)
73+
- <a href="https://drive.google.com/open?id=0B9Ye2auQ_NsFZkpVM19QWFBOQ2c">Деплой в Heroku</a>
74+
- Локализация datatables, ошибок валидации
75+
- Обработка ошибок 404 (NotFound)
76+
- Доступ к AuthorizedUser
77+
- <a href="https://drive.google.com/open?id=0B9Ye2auQ_NsFNUpzYW1nLUZTaXM">Собеседование. Разработка ПО</a>

0 commit comments

Comments
 (0)