Java SE Основные Моменты

Java SE Основные Моменты

https://t.me/+IuxPxrb7x1Q5YmIy

Что такое Java SE? Java Standart Edition те это те пакеты которые идут в стандартной JDK (причем даже меньшая их часть, тк JDK разрастается но не меняется последние годы).

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

Критически Важные Темы.

Типы данных

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

Объектно Ориентированная Дичь

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

Коллекции.

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

Стримы

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

Исключения

Тут все довольно просто. Я довольно подробно описал что это и в чем их суть в это статье (кликабельно).

Многопоточка

Многопоточку не особо спрашивают для джунов но знать азы её обязательно. Ну и так сложилось что именно эта тема ключ для прохождения на собесы от 300к+. Тут есть ряд тем - монитор про который я написал раз два три статьи, локи (живут поверх монитора), понятие happens before про которое я также написал хорошую статью. Только научившись распараллеливать свои приложения на потоки вы становитесь джава разрабом. До этого момента вы джун или полумидл. Без знаний многопоточки лезть в Java EE или тот же Spring рано. Гарантированно будете писать там говнокод.

Темы Вторичной Важности.

Функциональщина

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

Аннотации

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

Десктопный UI

Умение делать формочки, кнопочки итд нужно знать. Можно начать со древнего говна мамонта вроде swing а можно сразу зайти на JavaFX. Эти вещи не так часто используются понадобятся рано или поздно. UI сейчас не делают для десктопов (почти не делают).

Все что тут перечислено (особенно критически важные темы уже позволят пройти собесы в некоторые конторы - но не во все). Но чтобы удержаться в конторе нужно знать больше. Про это больше я напишу статьи чуть позже. Спойлер - это тестирование, Java EE, базы данных, девопсина. Нравятся мои статьи - можешь написать мне спасибо в личку @ohstopityou в телегу.

Report Page