Что нужно знать джависту, чтобы пройти собеседование

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

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

Навыки джависта

Язык

Основное:

  • Java Core (основные механизмы языка: типы данных, циклы и тд)

  • коллекции

  • исключения

  • дженерики

  • аннотации

  • функциональные интерфейсы и Stream API

Достаточно общего понимания и умения отвечать на собесах:

  • рефлексия

  • многопоточность

  • сборщик мусора

  • устройство памяти JVM

  • общее устройство JDK

Курс по Java от Oracle

Фреймворк (Spring)

Основное:

  • Spring MVC

  • Spring Data JDBC

  • Spring Test

  • основы работы Spring: IoC, DI, бины и тд

  • разница между Spring и Spring Boot

Для общего развития: Spring Security

Курс по основам Spring

Система сборки

  • Maven

  • Gradle (дополнительно)

Навыки бэкендера

Базы данных и SQL

Основное:

  • устройство реляционных баз данных

  • виды связей и ключи

  • индексы и ограничения

  • транзакции, их уровни и ACID

  • умение писать SQL-запросы (ddl, dml)

Для общего развития:

  • Система управления версиями базы (для джавы это Liquibase). Ей довольно просто пользоваться и она пригодиться в работе.

  • другие виды SQL: dcl, tcl

  • PL/SQL: не стоит использовать в пет-проектах, но может встретиться в работе.

Интерактивный курс по SQL
Более углубленный курс от PostgresPro
Тренажеры по SQL: sql academy и sql exercises

Сеть 

Основное:

  • клиент-серверная архитектура

  • HTTP

  • REST

Для общего развития:

  • OpenAPI

  • GraphQL и gRPC

  • сетевая модель OSI

Видео про архитектуру клиент-сервер и протоколы
Подробно про REST

Docker
Достаточно использовать в пет-проектах и поверхностно знать принцип работы. Докер реально удобная штука, но если вы на винде, придется немного помучиться с WSL.

Linux
Достаточно выучить базовые команды (навигация в терминале, изменение прав, создание/удаление/перемещение файлов) и общее устройство файловой системы.

Kafka
Дополнительно. Кафка сложно устроена, поэтому не зацикливайтесь на ней. Но немного разобраться можно - это будет плюсом на собесе и поможет в работе.

Общие навыки

Git

Основное:

  • создание репозиториев

  • коммиты, резеты, реверты

  • ветки (создание ветки, ребейз и мердж)

  • работа с удаленным репозиторием на гитхаб

Для общего развития: подходы к работе с гит (имхо, самое полезное - гит флоу)

Курс по гиту от Яндекс Практикума
Статья о подходах к работе с гитом

Архитектура

  • Принципы SOLID

  • ООП (или функциональное программирование, если для вашего языка актуальнее)

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

Хороший сайт с объяснением паттернов (из России заходить под впн).

Что не стоит учить

На своих петах я кучу времени убил на изучение встроенной функции Spring Security для парсинга JWT, на поиск идеального способа обработки исключений в Spring MVC, на доскональное изучение документации Spring Data JPA и плагина для генерации из OpenAPI.

Да, разбираться во всем этом было интересно, но я мог бы намного быстрее сделать задачи, стоявшие передо мной и в дальнейшем мне эти знания даже не пригодились.

Поэтому:

  • старайтесь правильно расставлять приоритеты

  • ставьте себя во временные рамки

  • помните, что лучшее - враг хорошего

  • помните о принципах KISS и YAGNI

  • и об одном из принципов Agile: работающий продукт — основной показатель прогресса

Источник: https://habr.com/ru/articles/806027/


Интересные статьи

Интересные статьи

Механизмы клеточной сенесценции. Развитие воспалительного старения путем аутокринного и паракринного изменения физиологических реакций в микроокружении через SASP.
Главная особенность заказной разработки – это сложный стаффинг, распределение людей по проектам. Людей много, они разные. Проектов много, они тоже все разные. Получается многомерный пазл, который не в...
Владимир "ternaus" Игловиков недавно опубликовал на Хабре пост про свою библиотеку Albumentations. Этот пост - результат серии бесед с людьми из индустрии, которые используют эту либу. Я, кстати, тоже...
Интернет наполнен самыми причудливыми фотографиями и видео знаменитостей. Кто-то пробуется на новые роли, делает вызывающие заявления, выступает в не самых благоприятных образах, неож...
Здравствуйте, уважаемые читатели Хабра. Меня зовут Рустем и я главный разработчик в казахстанской ИТ-компании DAR. В этой статье я расскажу, что нужно знать перед тем, как переходить на шаблоны E...