Junior, Middle, Senior. Переход на следующий уровень.
От джуниора к мидлу:
Важно пройти весь цикл разработки хотя бы пару раз. Таким образом, вы попадете во множество возможных ловушек и научитесь их избегать.
Вы также должны научиться писать простой код — для этого думайте о человеке, который будет работать над программой после вас. Кроме того, научитесь исправлять баги и займитесь самообразованием.
От мидла к синьору:
Переход от среднего уровня к продвинутому может быть довольно сложным. Некоторые разработчики остаются мидлами на протяжении всей карьеры.
Синьоры знают, от чего в коде можно отказаться, а что убирать нельзя ни в коем случае. Всему этому их научил прежний опыт и ошибки.
Если вы хотите быть синьором, то будьте готовы выполнять задачи, которые не может выполнить никто другой. Вам также придется помогать менее опытным разработчикам. Вы — их спасательный круг в трудных случаях.
Неудивительно, что синьоры досконально изучают весь комплекс технологий своей компании. Это больше, чем просто программирование — это погружение во все аспекты создания продукта.
✅ JavaStart. Подписаться
От джуниора к мидлу:
Важно пройти весь цикл разработки хотя бы пару раз. Таким образом, вы попадете во множество возможных ловушек и научитесь их избегать.
Вы также должны научиться писать простой код — для этого думайте о человеке, который будет работать над программой после вас. Кроме того, научитесь исправлять баги и займитесь самообразованием.
От мидла к синьору:
Переход от среднего уровня к продвинутому может быть довольно сложным. Некоторые разработчики остаются мидлами на протяжении всей карьеры.
Синьоры знают, от чего в коде можно отказаться, а что убирать нельзя ни в коем случае. Всему этому их научил прежний опыт и ошибки.
Если вы хотите быть синьором, то будьте готовы выполнять задачи, которые не может выполнить никто другой. Вам также придется помогать менее опытным разработчикам. Вы — их спасательный круг в трудных случаях.
Неудивительно, что синьоры досконально изучают весь комплекс технологий своей компании. Это больше, чем просто программирование — это погружение во все аспекты создания продукта.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что происходит, если метод equals() не переопределён, а сравниваются два разных объекта одного класса?
Anonymous Quiz
36%
Сравниваются их хэшкоды
14%
Возвращается false
37%
Используется оператор ==
8%
Происходит ошибка компиляции
5%
Посмотреть ответ
Please open Telegram to view this post
VIEW IN TELEGRAM
Кто такой Project manager в IT ?
Менеджер IT-проектов (Project Manager, PM) - это специалист, в обязанности которого входит беспрерывное управление проектом. В IT-команде он выполняет административно-управленческие функции: соблюдение сроков, решение текущих проблем, коммуникация.
Это управленческая должность, связанная с контролем и всесторонней поддержкой. PM имеют профильное образование, которое так или иначе связанно с менеджментом. Однако в эту сферу можно зайти через другую дверь, ведь PM нередко становятся разработчики, тестировщики, верстальщики (HTML-coder) – люди, которые знают специфику IT изнутри.
Менеджер IT-проектов, получив техническое задание, выбирает специалистов, обозначает сроки, выдает ТЗ, контролирует их выполнение. Также Project Manager устраняет всевозможные препятствия, может добиться увеличения или урезания бюджета – решает ряд важных текущих стратегических задач. Он может осуществлять руководство командой, которая занимается созданием программного обеспечения, сайтов, мобильных приложений, браузерных расширений – любых IT-продуктов.
✅ JavaStart. Подписаться
Менеджер IT-проектов (Project Manager, PM) - это специалист, в обязанности которого входит беспрерывное управление проектом. В IT-команде он выполняет административно-управленческие функции: соблюдение сроков, решение текущих проблем, коммуникация.
Это управленческая должность, связанная с контролем и всесторонней поддержкой. PM имеют профильное образование, которое так или иначе связанно с менеджментом. Однако в эту сферу можно зайти через другую дверь, ведь PM нередко становятся разработчики, тестировщики, верстальщики (HTML-coder) – люди, которые знают специфику IT изнутри.
Менеджер IT-проектов, получив техническое задание, выбирает специалистов, обозначает сроки, выдает ТЗ, контролирует их выполнение. Также Project Manager устраняет всевозможные препятствия, может добиться увеличения или урезания бюджета – решает ряд важных текущих стратегических задач. Он может осуществлять руководство командой, которая занимается созданием программного обеспечения, сайтов, мобильных приложений, браузерных расширений – любых IT-продуктов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Что делает метод join() в классе Thread?
Anonymous Quiz
4%
Останавливает выполнение потока
37%
Соединяет два потока в один
53%
Заставляет текущий поток ожидать завершения другого потока
0%
Создаёт новый поток
6%
Посмотреть ответ
Please open Telegram to view this post
VIEW IN TELEGRAM
Паттерны проектирования в Java. Часть 1.
Практически всегда, если вы собеседуетесь на позицию Junior Java разработчика или стажера, вас спросят – знакомы ли вы с паттернами проектирования?
Также попросят рассказать о самом распространенном паттерне Singleton. Давайте разбираться.
Паттерны проектирования (шаблоны проектирования) – это готовые к использованию решения часто возникающих в программировании задач. Это не класс и не библиотека, которую можно подключить к проекту, это нечто большее. Паттерн проектирования, подходящий под задачу, реализуется в каждом конкретном случае самим разработчиком.
Следует, помнить, что такой паттерн, будучи примененным неправильно или к неподходящей задаче, может принести немало проблем. Тем не менее, правильно примененный паттерн поможет решить задачу легко и просто.
Давайте я перечислю некоторые типы паттернов с кратким описанием, чтобы вы понимали, что их на самом деле очень много. А потом поговорим про каждый подробнее и в частности про Singleton паттерн.
И так, типы паттернов бывают:
– Порождающие.
Порождающие паттерны предоставляют механизмы инициализации, позволяя создавать объекты удобным способом.
– Структурные.
Структурные паттерны определяют отношения между классами и объектами, позволяя им работать совместно.
– Поведенческие.
Поведенческие паттерны используются для того, чтобы упростить взаимодействие между сущностями.
В следующих постах поговорим о представителях каждого типа паттернов проектирования.
✅ JavaStart. Подписаться
Практически всегда, если вы собеседуетесь на позицию Junior Java разработчика или стажера, вас спросят – знакомы ли вы с паттернами проектирования?
Также попросят рассказать о самом распространенном паттерне Singleton. Давайте разбираться.
Паттерны проектирования (шаблоны проектирования) – это готовые к использованию решения часто возникающих в программировании задач. Это не класс и не библиотека, которую можно подключить к проекту, это нечто большее. Паттерн проектирования, подходящий под задачу, реализуется в каждом конкретном случае самим разработчиком.
Следует, помнить, что такой паттерн, будучи примененным неправильно или к неподходящей задаче, может принести немало проблем. Тем не менее, правильно примененный паттерн поможет решить задачу легко и просто.
Давайте я перечислю некоторые типы паттернов с кратким описанием, чтобы вы понимали, что их на самом деле очень много. А потом поговорим про каждый подробнее и в частности про Singleton паттерн.
И так, типы паттернов бывают:
– Порождающие.
Порождающие паттерны предоставляют механизмы инициализации, позволяя создавать объекты удобным способом.
– Структурные.
Структурные паттерны определяют отношения между классами и объектами, позволяя им работать совместно.
– Поведенческие.
Поведенческие паттерны используются для того, чтобы упростить взаимодействие между сущностями.
В следующих постах поговорим о представителях каждого типа паттернов проектирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
Какое из следующих утверждений о коллекции ConcurrentHashMap верно?
Anonymous Quiz
16%
Она допускает null в качестве ключей и значений
11%
Её методы не синхронизированы
38%
Она поддерживает конкурентную модификацию
35%
Её производительность хуже, чем у HashMap
Please open Telegram to view this post
VIEW IN TELEGRAM
Паттерны проектирования в Java. Порождающие. Часть 2.
Порождающие паттерны:
Singleton (Одиночка) - ограничивает создание одного экземпляра класса, обеспечивает доступ к его единственному объекту;
Factory (Фабрика) - используется, когда у нас есть суперкласс с несколькими подклассами и на основе ввода, нам нужно вернуть один из подкласса;
Builder (Строитель) - используется для создания сложного объекта с использованием простых объектов. Постепенно он создает больший объект от малого и простого объекта;
Prototype (Прототип) - помогает создать дублированный объект с лучшей производительностью, вместо нового создается возвращаемый клон существующего объекта;
И др.
К Синглтону ещё вернёмся. О нем почти всегда спрашивают на собеседованиях 🤓
✅ JavaStart. Подписаться
Порождающие паттерны:
Singleton (Одиночка) - ограничивает создание одного экземпляра класса, обеспечивает доступ к его единственному объекту;
Factory (Фабрика) - используется, когда у нас есть суперкласс с несколькими подклассами и на основе ввода, нам нужно вернуть один из подкласса;
Builder (Строитель) - используется для создания сложного объекта с использованием простых объектов. Постепенно он создает больший объект от малого и простого объекта;
Prototype (Прототип) - помогает создать дублированный объект с лучшей производительностью, вместо нового создается возвращаемый клон существующего объекта;
И др.
К Синглтону ещё вернёмся. О нем почти всегда спрашивают на собеседованиях 🤓
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой оператор в Java используют для проверки равенства примитивных типов?
Anonymous Quiz
9%
equals()
2%
===
85%
==
1%
isEqual()
3%
Посмотреть ответ
Паттерны проектирования в Java. Структурные. Часть 3.
Структурные паттерны:
Adapter (Адаптер) - это конвертер между двумя несовместимыми объектами. Используя паттерн адаптера, мы можем объединить два несовместимых интерфейса;
Proxy (Заместитель) - представляет функциональность другого класса;
Facade (Фасад) - обеспечивает простой интерфейс для клиента, и клиент использует интерфейс для взаимодействия с системой;
Bridge (Мост) - делает конкретные классы независимыми от классов реализации интерфейса;
Decorator (Декоратор) - добавляет новые функциональные возможности существующего объекта без привязки его структуры;
И др.
Старайтесь запомнить, будет отлично, если сможете рассказать это на собеседовании, хотя бы пару слов 🔥
✅ JavaStart. Подписаться
Структурные паттерны:
Adapter (Адаптер) - это конвертер между двумя несовместимыми объектами. Используя паттерн адаптера, мы можем объединить два несовместимых интерфейса;
Proxy (Заместитель) - представляет функциональность другого класса;
Facade (Фасад) - обеспечивает простой интерфейс для клиента, и клиент использует интерфейс для взаимодействия с системой;
Bridge (Мост) - делает конкретные классы независимыми от классов реализации интерфейса;
Decorator (Декоратор) - добавляет новые функциональные возможности существующего объекта без привязки его структуры;
И др.
Старайтесь запомнить, будет отлично, если сможете рассказать это на собеседовании, хотя бы пару слов 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Паттерны проектирования в Java. Поведенческие. Часть 4.
Поведенческие паттерны:
Template Method (Шаблонный метод) - определяющий основу алгоритма и позволяющий наследникам переопределять некоторые шаги алгоритма, не изменяя его структуру в целом;
Observer (Наблюдатель) - позволяет одним объектам следить и реагировать на события, происходящие в других объектах;
Strategy (Стратегия) - алгоритм стратегии может быть изменен во время выполнения программы;
И др.
В одном из следующих постов разберем подробно уже ставший нам знакомым Singleton паттерн.
✅ JavaStart. Подписаться
Поведенческие паттерны:
Template Method (Шаблонный метод) - определяющий основу алгоритма и позволяющий наследникам переопределять некоторые шаги алгоритма, не изменяя его структуру в целом;
Observer (Наблюдатель) - позволяет одним объектам следить и реагировать на события, происходящие в других объектах;
Strategy (Стратегия) - алгоритм стратегии может быть изменен во время выполнения программы;
И др.
В одном из следующих постов разберем подробно уже ставший нам знакомым Singleton паттерн.
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой класс обычно используют для чтения данных с консоли в Java?
Anonymous Quiz
90%
Scanner
0%
Random
5%
StringBuilder
2%
Iterator
4%
Посмотреть ответ
Please open Telegram to view this post
VIEW IN TELEGRAM
Какое ключевое слово в Java принято использовать для объявления постоянных значений (констант)?
Anonymous Quiz
7%
constant
10%
static
64%
final
15%
const
4%
Посмотреть ответ
Паттерны проектирования в Java. Singleton. Часть 5.
Практически всегда, если вы собеседуетесь на позицию Junior Java разработчика или стажера, вас спросят о таком паттерне как Singleton. Давайте рассмотрим его подробно.
Синглтон — это один из самых простых шаблонов (паттернов) проектирования, который применяется к классу. Иногда говорят: “этот класс — синглтон”, подразумевая, что этот класс реализует паттерн проектирования синглтон.
Иногда необходимо написать класс, у которого можно будет создать только один объект. Например, класс, отвечающий за логирование или подключение к базе данных.
Шаблон проектирования синглтон описывает, как мы можем выполнить такую задачу.
Синглтон — это шаблон (паттерн) проектирования, который делает две вещи:
– Дает гарантию, что у класса будет всего один экземпляр класса;
– Предоставляет глобальную точку доступа к экземпляру данного класса.
Отсюда — две особенности, характерные для практически каждой реализации паттерна синглтон:
– Приватный конструктор. Ограничивает возможность создания объектов класса за пределами самого класса;
– Публичный статический метод, который возвращает экземпляр класса. Данный метод называют getInstance. Это глобальная точка доступа к экземпляру класса.
Давайте теперь рассмотрим одни из распространенных методов создания Синглтона. Рекомендуется в них разобраться и запомнить, воспроизвести и объяснить этот код на собеседовании будет очень даже достаточно!
Первый пример на Картинке 1.
Закрытый конструктор вызывается один раз для инициализации поля INSTANCE. Публичного конструктора у класса нет, поэтому после инициализации класса будет существовать только один экземпляр Singleton.
Существует другой вариант (Картинка 2), когда вместо открытого статического поля создается открытый статический метод, а поле становится закрытым.
Второй способ удобен тем, что вы можете позже отказаться от синглтона, но вам не придется сильно переписывать код.
✅ JavaStart. Подписаться
Практически всегда, если вы собеседуетесь на позицию Junior Java разработчика или стажера, вас спросят о таком паттерне как Singleton. Давайте рассмотрим его подробно.
Синглтон — это один из самых простых шаблонов (паттернов) проектирования, который применяется к классу. Иногда говорят: “этот класс — синглтон”, подразумевая, что этот класс реализует паттерн проектирования синглтон.
Иногда необходимо написать класс, у которого можно будет создать только один объект. Например, класс, отвечающий за логирование или подключение к базе данных.
Шаблон проектирования синглтон описывает, как мы можем выполнить такую задачу.
Синглтон — это шаблон (паттерн) проектирования, который делает две вещи:
– Дает гарантию, что у класса будет всего один экземпляр класса;
– Предоставляет глобальную точку доступа к экземпляру данного класса.
Отсюда — две особенности, характерные для практически каждой реализации паттерна синглтон:
– Приватный конструктор. Ограничивает возможность создания объектов класса за пределами самого класса;
– Публичный статический метод, который возвращает экземпляр класса. Данный метод называют getInstance. Это глобальная точка доступа к экземпляру класса.
Давайте теперь рассмотрим одни из распространенных методов создания Синглтона. Рекомендуется в них разобраться и запомнить, воспроизвести и объяснить этот код на собеседовании будет очень даже достаточно!
Первый пример на Картинке 1.
Закрытый конструктор вызывается один раз для инициализации поля INSTANCE. Публичного конструктора у класса нет, поэтому после инициализации класса будет существовать только один экземпляр Singleton.
Существует другой вариант (Картинка 2), когда вместо открытого статического поля создается открытый статический метод, а поле становится закрытым.
Второй способ удобен тем, что вы можете позже отказаться от синглтона, но вам не придется сильно переписывать код.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM