Автор прошел и провел достаточное количество интервью и решил поделиться типовыми вопросами с собеседований, всего планирует 3 части, все вопросы реально спрашивали.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Вопросы с senior java интервью [1/3]
Всем привет!
Я прошел и провел достаточное количество интервью и решил поделиться типовыми вопросами с собеседований, всего планирую 3 части, все вопросы реально спрашивали.
Ссылка на код:
https://github.com/kirya522/medium-posts/tree/main/java/interview…
Я прошел и провел достаточное количество интервью и решил поделиться типовыми вопросами с собеседований, всего планирую 3 части, все вопросы реально спрашивали.
Ссылка на код:
https://github.com/kirya522/medium-posts/tree/main/java/interview…
Что такое «сервлет»?
Сервлет является интерфейсом, реализация которого расширяет функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ. Хотя сервлеты могут обслуживать любые запросы, они обычно используются для расширения веб-серверов.
Большинство необходимых для создания сервлетов классов и интерфейсов содержатся в пакетах
Основные методы сервлета:
•
•
•
•
•
Сервлет является интерфейсом, реализация которого расширяет функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ. Хотя сервлеты могут обслуживать любые запросы, они обычно используются для расширения веб-серверов.
Большинство необходимых для создания сервлетов классов и интерфейсов содержатся в пакетах
javax.servlet и javax.servlet.http
.Основные методы сервлета:
•
public void init(ServletConfig config) throws ServletException
запускается сразу после загрузки сервлета в память;•
public ServletConfig getServletConfig()
возвращает ссылку на объект, который предоставляет доступ к информации о конфигурации сервлета;•
public String getServletInfo()
возвращает строку, содержащую информацию о сервлете, например: автор и версия сервлета;•
public void service(ServletRequest request, ServletResponse response) throws ServletException, java.io.IOException
вызывается для обработки каждого запроса;•
public void destroy()
выполняется перед выгрузкой сервлета из памяти.В этом видео автор рассказывает о проблеме с null в языке программирования Java, из-за которой возникает печально известное NullPointerExeption. Даёт некоторые рекомендации по организации кода для борьбы с этой проблемой и повышения надежности работы программ.
https://youtu.be/QIfIoXW1SHA
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Проблема с null. Null safety.
В этом видео я рассказываю о проблеме с null в языке программирования Java, из-за которой возникает печально известное NullPointerExeption. Даю некоторые рекомендации по организации кода для борьбы с этой проблемой и повышения надежности работы программ.
Какова структура веб-проекта?
src/main/java
Исходники приложения/библиотекиsrc/main/resources
Ресурсные файлы приложения/библиотекиsrc/main/filters
Файлы сервлетных фильтровsrc/main/webapp
Исходники веб-приложенияsrc/test/java
Исходники тестовsrc/test/resources
Ресурсные файлы тестовsrc/test/filters
Тесты сервлетных фильтровsrc/it
Интеграционные тестыsrc/assembly
Описание сборкиsrc/site
СайтLICENSE.txt
Лицензия проектаNOTICE.txt
Замечания и определения библиотек зависимостей.README.txt
Описание проектаУниверсальный загрузчик XML на java. Или как загрузить файлы ГАР на 250 гб и остаться при памяти
https://habr.com/ru/post/724324/
https://habr.com/ru/post/724324/
Хабр
Универсальный загрузчик XML на java. Или как загрузить файлы ГАР на 250 гб и остаться при памяти
С проблемой загрузки больших XML столкнулся при переходе с КЛАДР и ФИАС на справочники ГАР - Государственный адресный реестр (Федеральная информационная адресная система). Справочник ГАР содержит...
Как перестать бояться и собрать все маркетинговые каналы коммуникации в одной платформе.
https://habr.com/ru/company/glowbyte/blog/724296/
https://habr.com/ru/company/glowbyte/blog/724296/
Хабр
Как перестать бояться и собрать все маркетинговые каналы коммуникации в одной платформе
Привет, Хабр! Эксперт комьюнити #Сарафан компании GlowByte Александр Долгих расскажет историю из личного опыта о том, как решалась задача интеграции целевого маркетинга и множества самых разных...
new vs valueOf
Старайтесь всегда использовать метод
Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти.
Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной.
Старайтесь всегда использовать метод
valueOf
вместо конструктора в стандартных классах-оболочках примитивных типов, кроме тех случаев, когда вам нужно конкретно выделить память под новое значение. Сейчас объясню, почему.Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти.
Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной.
#вопросы_с_собеседований
Какое начальное количество корзин в HashMap?
В конструкторе по умолчанию - 16, используя конструкторы с параметрами можно задавать произвольное начальное количество корзин.
Какое начальное количество корзин в HashMap?
В конструкторе по умолчанию - 16, используя конструкторы с параметрами можно задавать произвольное начальное количество корзин.
В каком случае требуется переопределять метод service()?
Метод
Когда контейнер сервлетов получает запрос клиента, то происходит вызов метода
Метод
service()
переопределяется, когда необходимо, чтобы сервлет обрабатывал все запросы (и GET
, и POST
) в одном методе.Когда контейнер сервлетов получает запрос клиента, то происходит вызов метода
service()
, который в зависимости от поступившего запроса вызывает или метод doGet()
или метод doPost()
.Первое знакомство с протоколом HTTP через написание простейшего Web сервера на Java
https://habr.com/ru/post/441150/
https://habr.com/ru/post/441150/
Хабр
Первое знакомство с протоколом HTTP через написание простейшего Web сервера на Java
Думаю что не будет преувеличением утверждать, что знание и понимание сути протокола HTTP необходимо любому, кто решил сколь-нибудь серьезно заняться любым из нап...
#вопросы_с_собеседований
Реализуйте симметрическую разность двух коллекций, используя методы Collection (addAll(...), removeAll(...), retainAll(...)).
Симметрическая разность двух коллекций — это множество элементов, одновременно не принадлежащих обоим исходным коллекциям.
Реализуйте симметрическую разность двух коллекций, используя методы Collection (addAll(...), removeAll(...), retainAll(...)).
Симметрическая разность двух коллекций — это множество элементов, одновременно не принадлежащих обоим исходным коллекциям.
#вопросы_с_собеседований
Как отсортировать список строк с помощью лямбда-выражения?
Ответ на картинке.
Как отсортировать список строк с помощью лямбда-выражения?
Ответ на картинке.
В этом видео разбирается классическая задача о рюкзаке и алгоритмы её решения. Особое внимание уделяется решению задачи с помощью динамического программирования.
https://youtu.be/wcjqBf2qRe0
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Задача о рюкзаке. Динамическое программирование.
В этом видео разбирается классическая задача о рюкзаке и алгоритмы её решения. Особое внимание уделяется решению задачи с помощью динамического программирования.
Исходный код:
https://github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/knapsack…
Исходный код:
https://github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/knapsack…
#вопросы_с_собеседований
Что произойдет, если ключевое слово static не использовать с методом main() в Java?
Ошибки компиляции не будет, но во время выполнения мы получим ошибку NoSuchMethodError.
Что произойдет, если ключевое слово static не использовать с методом main() в Java?
10 ключевых ошибок при изучении программирования
В данном видео описываются 10 ключевых ошибок студентов и преподавателей с точки зрения автора.
https://youtu.be/kw9zPNYtYws
В данном видео описываются 10 ключевых ошибок студентов и преподавателей с точки зрения автора.
https://youtu.be/kw9zPNYtYws
YouTube
10 ключевых ошибок при изучении программирования
В данном видео описываются 10 ключевых ошибок студентов и преподавателей с точки зрения автора.
Наше дружное сообщество:
https://yangx.top/pse_club
Полезности для программистов:
https://proselyte.net/
00:00:00 - введение
00:00:30 - цели видео
00:01:13 - план…
Наше дружное сообщество:
https://yangx.top/pse_club
Полезности для программистов:
https://proselyte.net/
00:00:00 - введение
00:00:30 - цели видео
00:01:13 - план…
Mockito
Пусть название Mockito не вводит вас в заблуждение. Речь не о коктейле, а о библиотеке для mock-объектов.
Mock-объекты — это объекты, которые имитируют поведение реального объекта по какой-то заданной схеме. Например, для модульного тестирования такие «поддельные» объекты могут симулировать поведение бизнес-объектов. Ну а mock-библиотека Mockito повышает удобство создания и использования mock-объектов.
https://site.mockito.org/
Пусть название Mockito не вводит вас в заблуждение. Речь не о коктейле, а о библиотеке для mock-объектов.
Mock-объекты — это объекты, которые имитируют поведение реального объекта по какой-то заданной схеме. Например, для модульного тестирования такие «поддельные» объекты могут симулировать поведение бизнес-объектов. Ну а mock-библиотека Mockito повышает удобство создания и использования mock-объектов.
https://site.mockito.org/
Нюансы разработки парсера для свего языка программирования.
https://habr.com/ru/company/timeweb/blog/724146/
https://habr.com/ru/company/timeweb/blog/724146/
Хабр
Нюансы разработки парсера для своего языка программирования
Недавно прочитал на Хабре статью Свой язык, или как я устал от ассемблера и С , и невольно взглядом зацепился за один абзац: Я решил не сильно париться, поэтому использовал библиотеку parglare. Она...