#Вопросы_с_собеседования
К каким конструкциям Java применим модификатор static?
• полям;
• методам;
• вложенным классам;
• членам секции import.
К каким конструкциям Java применим модификатор static?
• полям;
• методам;
• вложенным классам;
• членам секции import.
👍33
Популярные ошибки начинающих Java программистов
Часто начинающие Java программисты ошибаются в попытке удалить элемент во время обхода списка.
Рассмотрим пример кода, в котором происходит попытка удалить элемент во время обхода элементов списка(#неверно на картинке).
В ходе выполнения этого кода будет выброшено ConcurrentModificationException, так как нельзя удалять элементы во время итерирования по списку. Такая же ситуация будет и с for-each циклом.
Удалять элементы безопасно можно только при использовании интерфейса Iterator(см #верно на картинке).
Часто начинающие Java программисты ошибаются в попытке удалить элемент во время обхода списка.
Рассмотрим пример кода, в котором происходит попытка удалить элемент во время обхода элементов списка(#неверно на картинке).
В ходе выполнения этого кода будет выброшено ConcurrentModificationException, так как нельзя удалять элементы во время итерирования по списку. Такая же ситуация будет и с for-each циклом.
Удалять элементы безопасно можно только при использовании интерфейса Iterator(см #верно на картинке).
👍25👎2
#Вопросы_с_собеседования
Сравнение Iterator и ListIterator
• ListIterator расширяет интерфейс Iterator
• ListIterator может быть использован только для перебора элементов коллекции List;
• Iterator позволяет перебирать элементы только в одном направлении, при помощи метода next(). Тогда как ListIterator позволяет перебирать список в обоих направлениях, при помощи методов next() и previous();
• ListIterator не указывает на конкретный элемент: его текущая позиция располагается между элементами, которые возвращают методы previous() и next().
• При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала.
Сравнение Iterator и ListIterator
• ListIterator расширяет интерфейс Iterator
• ListIterator может быть использован только для перебора элементов коллекции List;
• Iterator позволяет перебирать элементы только в одном направлении, при помощи метода next(). Тогда как ListIterator позволяет перебирать список в обоих направлениях, при помощи методов next() и previous();
• ListIterator не указывает на конкретный элемент: его текущая позиция располагается между элементами, которые возвращают методы previous() и next().
• При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала.
👍20👎1
Что такое литералы?
Литералы — это явно заданные значения в коде программы, константы определенного типа, которые находятся в коде в момент запуска.
В классе на картинке “Hello world!” — литерал, переменная a — тоже.
Литералы бывают разных типов, которые определяются их назначением и способом написания.
Литералы — это явно заданные значения в коде программы, константы определенного типа, которые находятся в коде в момент запуска.
В классе на картинке “Hello world!” — литерал, переменная a — тоже.
Литералы бывают разных типов, которые определяются их назначением и способом написания.
👍24
Вопросы с реального собеседования Senior Java Developer
Сегодня мы рассмотрим обзор реального интервью на позицию Senior Java Developer.
Таймкоды:
00:00 Приветствие
01:34 Введение
02:23 Разбор вопросов и ответов
03:10 Может ли разработчик управлять памятью в Java?
03:40 Как потоки связаны с памятью?
07:28 Spring Context и зачем он нужен?
08:10 Как работает аннотация @Transactional?
09:45 Как работает транзакция?
10:30 Как работает TDD?
14:17 Выводы
17:52 Прощание
Смотреть видео
Сегодня мы рассмотрим обзор реального интервью на позицию Senior Java Developer.
Таймкоды:
00:00 Приветствие
01:34 Введение
02:23 Разбор вопросов и ответов
03:10 Может ли разработчик управлять памятью в Java?
03:40 Как потоки связаны с памятью?
07:28 Spring Context и зачем он нужен?
08:10 Как работает аннотация @Transactional?
09:45 Как работает транзакция?
10:30 Как работает TDD?
14:17 Выводы
17:52 Прощание
Смотреть видео
YouTube
Вопросы с реального собеседования Senior Java Developer
Сегодня мы рассмотрим обзор реального интервью на позицию Senior Java Developer.
Поговорим о вопросах и ответах, а главное что из этого всего получилось.
Погнали!
Программа
00:00 Приветствие
01:34 Введение
02:23 Разбор вопросов и ответов
03:10 Может ли…
Поговорим о вопросах и ответах, а главное что из этого всего получилось.
Погнали!
Программа
00:00 Приветствие
01:34 Введение
02:23 Разбор вопросов и ответов
03:10 Может ли…
👍11
#Вопросы_с_собеседования
Что вы знаете о OutOfMemoryError?
OutOfMemoryError выбрасывается, когда виртуальная машина Java не может создать (разместить) объект из-за нехватки памяти, а сборщик мусора не может высвободить достаточное её количество.
Область памяти, занимаемая java процессом, состоит из нескольких частей. Тип OutOfMemoryError зависит от того, в какой из них не хватило места:
• java.lang.OutOfMemoryError: Java heap space: Не хватает места в куче, а именно, в области памяти в которую помещаются объекты, создаваемые в приложении программно. Обычно проблема кроется в утечке памяти. Размер задается параметрами -Xms и -Xmx.
• java.lang.OutOfMemoryError: PermGen space: (до версии Java 8) Данная ошибка возникает при нехватке места в Permanent области, размер которой задается параметрами -XX:PermSize и -XX:MaxPermSize.
• java.lang.OutOfMemoryError: GC overhead limit exceeded: Данная ошибка может возникнуть как при переполнении первой, так и второй областей. Связана она с тем, что памяти осталось мало и сборщик мусора постоянно работает, пытаясь высвободить немного места. Данную ошибку можно отключить с помощью параметра -XX:-UseGCOverheadLimit.
• java.lang.OutOfMemoryError: unable to create new native thread: Выбрасывается, когда нет возможности создавать новые потоки.
Что вы знаете о OutOfMemoryError?
OutOfMemoryError выбрасывается, когда виртуальная машина Java не может создать (разместить) объект из-за нехватки памяти, а сборщик мусора не может высвободить достаточное её количество.
Область памяти, занимаемая java процессом, состоит из нескольких частей. Тип OutOfMemoryError зависит от того, в какой из них не хватило места:
• java.lang.OutOfMemoryError: Java heap space: Не хватает места в куче, а именно, в области памяти в которую помещаются объекты, создаваемые в приложении программно. Обычно проблема кроется в утечке памяти. Размер задается параметрами -Xms и -Xmx.
• java.lang.OutOfMemoryError: PermGen space: (до версии Java 8) Данная ошибка возникает при нехватке места в Permanent области, размер которой задается параметрами -XX:PermSize и -XX:MaxPermSize.
• java.lang.OutOfMemoryError: GC overhead limit exceeded: Данная ошибка может возникнуть как при переполнении первой, так и второй областей. Связана она с тем, что памяти осталось мало и сборщик мусора постоянно работает, пытаясь высвободить немного места. Данную ошибку можно отключить с помощью параметра -XX:-UseGCOverheadLimit.
• java.lang.OutOfMemoryError: unable to create new native thread: Выбрасывается, когда нет возможности создавать новые потоки.
👍23
Как преобразовать цветное изображение в черно-белое
Иногда может потребоваться преобразовать изображение в двоичное. Другими словами, вам нужно преобразовать цветное изображение или изображение в оттенках серого в черно-белое изображение.
Более подробно о работе с изображениями вы можете ознакомиться здесь.
Иногда может потребоваться преобразовать изображение в двоичное. Другими словами, вам нужно преобразовать цветное изображение или изображение в оттенках серого в черно-белое изображение.
Более подробно о работе с изображениями вы можете ознакомиться здесь.
👍21❤4
Метод compareTo()
В Java метод compareTo() получает значение 0, если аргумент является строкой лексически равной данной строке; значение меньше 0, если аргумент является строкой лексически большей, чем сравниваемая строка; и значение больше 0, если аргумент является строкой лексически меньшей этой строки.
В Java метод compareTo() получает значение 0, если аргумент является строкой лексически равной данной строке; значение меньше 0, если аргумент является строкой лексически большей, чем сравниваемая строка; и значение больше 0, если аргумент является строкой лексически меньшей этой строки.
👍33👎1
Что выведет код сверху?
Anonymous Quiz
16%
Jeva Learning
5%
Java Learning
52%
Jeve Leerning
28%
Error
👍55👎2
#Вопросы_с_собеседования
Как избежать ConcurrentModificationException во время перебора коллекции?
• Попробовать подобрать или реализовать самостоятельно другой итератор, работающий по принципу fail-safe.
• Использовать ConcurrentHashMap и CopyOnWriteArrayList.
• Преобразовать список в массив и перебирать массив.
• Блокировать изменения списка на время перебора с помощью блока synchronized.
Отрицательная сторона последних двух вариантов - ухудшение производительности.
Как избежать ConcurrentModificationException во время перебора коллекции?
• Попробовать подобрать или реализовать самостоятельно другой итератор, работающий по принципу fail-safe.
• Использовать ConcurrentHashMap и CopyOnWriteArrayList.
• Преобразовать список в массив и перебирать массив.
• Блокировать изменения списка на время перебора с помощью блока synchronized.
Отрицательная сторона последних двух вариантов - ухудшение производительности.
👍15👎1
👍31😱12
Клонирование массивов
Когда вы клонируете одномерный массив, такой как Object[], выполняется «глубокая копия» с новым массивом, содержащим копии элементов исходного массива, а не ссылки.
Подробнее с методом clone() можно ознакомиться здесь.
Когда вы клонируете одномерный массив, такой как Object[], выполняется «глубокая копия» с новым массивом, содержащим копии элементов исходного массива, а не ссылки.
Подробнее с методом clone() можно ознакомиться здесь.
👍21
Senior Java Разработчик отвечает на вопросы о работе
Таймкоды:
00:00 - Вступление
00:26 - Почему ты выбрал Java?
00:48 - Как понять, что ты уже Senior Developer?
01:03 - Сколько времени ушло на путь от Junior до Senior?
01:26 - Какой уровень английского требуется Senior разработчику?
01:37 - Для Senior разработчика борода обязательный атрибут или можно работать без неё?
01:52 - Как проходит твой рабочий день? Какие твои обязанности?
Сколько времени уходит на написание кода, сколько на коммуникации и сколько на диаграммы/архитектуру?
03:08 - Где грань между Senior и Lead?
03:21 - Сколько зарабатывают Java Senior разработчики? ЗП от 2к долларов миф или реальность?
04:14 - Какие языки/инструменты, кроме Java, используешь на постоянной основе?
04:59 - Ты все еще чувствуешь синдром самозванца?
05:06 - Страдают ли сеньоры манией величия?
05:27 - Есть ли жизнь после Senior? Какие есть возможности для карьерного роста в будущем?
06:29 - На каком проекте ты мечтал бы поработать?
07:04 - Еще пишешь *овнокод?
07:26 - Если бы не программирование, чем бы занимался?
07:37 - Что посоветуешь начинающим Java разработчикам?
08:09 - Что бесит в работе?
09:11 - Что радует в программировании?
Смотреть видео
Таймкоды:
00:00 - Вступление
00:26 - Почему ты выбрал Java?
00:48 - Как понять, что ты уже Senior Developer?
01:03 - Сколько времени ушло на путь от Junior до Senior?
01:26 - Какой уровень английского требуется Senior разработчику?
01:37 - Для Senior разработчика борода обязательный атрибут или можно работать без неё?
01:52 - Как проходит твой рабочий день? Какие твои обязанности?
Сколько времени уходит на написание кода, сколько на коммуникации и сколько на диаграммы/архитектуру?
03:08 - Где грань между Senior и Lead?
03:21 - Сколько зарабатывают Java Senior разработчики? ЗП от 2к долларов миф или реальность?
04:14 - Какие языки/инструменты, кроме Java, используешь на постоянной основе?
04:59 - Ты все еще чувствуешь синдром самозванца?
05:06 - Страдают ли сеньоры манией величия?
05:27 - Есть ли жизнь после Senior? Какие есть возможности для карьерного роста в будущем?
06:29 - На каком проекте ты мечтал бы поработать?
07:04 - Еще пишешь *овнокод?
07:26 - Если бы не программирование, чем бы занимался?
07:37 - Что посоветуешь начинающим Java разработчикам?
08:09 - Что бесит в работе?
09:11 - Что радует в программировании?
Смотреть видео
YouTube
Senior Java Разработчик отвечает на вопросы о работе
О топовых зарплатах, бороде, мечтах и многом другом делится с вами Виктор Гогильчин - Senior Java Разработчик
Есть вопросы по обучению в FoxmindEd? Пишите нам в телеграм - https://t.iss.one/foxminded
❤ FoxmindEd в Instagram: https://www.instagram.com/foxminded.ua/…
Есть вопросы по обучению в FoxmindEd? Пишите нам в телеграм - https://t.iss.one/foxminded
❤ FoxmindEd в Instagram: https://www.instagram.com/foxminded.ua/…
👍22❤1
😱52👍38👎2