Что позволяет удалять элементы из коллекции?
Anonymous Quiz
12%
Enumeration
10%
Serializable
44%
Iterator
34%
метод removeObj()
#definition
Reverse Engineering (ревёрсинг, обратная разработка) — это процесс «заимствования», восстановления исходников из конечного продукта инженерной и/или научной деятельности с интуитивным конструированием внутренней механики по принципу «а какие процессы должны вызвать такое внешнее поведение этого продукта?». Ориентируясь на нюх, так сказать. Иногда приводит к написанию собственного дока. Много их, ибо ваистену
Примером RE является создание базы данных из готовых сущностей в Spring.
Reverse Engineering (ревёрсинг, обратная разработка) — это процесс «заимствования», восстановления исходников из конечного продукта инженерной и/или научной деятельности с интуитивным конструированием внутренней механики по принципу «а какие процессы должны вызвать такое внешнее поведение этого продукта?». Ориентируясь на нюх, так сказать. Иногда приводит к написанию собственного дока. Много их, ибо ваистену
Примером RE является создание базы данных из готовых сущностей в Spring.
Что из этого синхронизировано и не допускает нулевых элементов?
Anonymous Quiz
33%
Vector
28%
CopyOnWriteArraySet
11%
CopyOnWriteArrayList
28%
ConcurrentSkipListSet
#web
HTTPS vs HTTP
HTTPS не является отдельным протоколом передачи данных, а представляет собой расширение протокола HTTP но со встроенным шифровальщиком. Добавочная буква «S» в аббревиатуре означает «Secure», то есть «безопасный».
HTTPS это закрытый протокол имеющий надстройку шифрования и использующий по умолчанию порт 433, тогда как HTTP – открытый протокол который использует порт 80
Данные передаваемые по протоколу HTTPS всегда больше по объёму чем те самые данные на HTTP поэтому их передача в обе стороны занимает чуть больше времени
HTTPS использует SSL-сертификаты для шифрования информации
Как это происходит?
Если на сайте есть SSL-сертификат, между браузером клиента и сайтом устанавливается защищённое соединение. В этом случае браузер сначала преобразует номер карты в случайный набор символов и только потом отправляет его на сервер.
Расшифровать сообщение получится только специальным ключом, который хранится на сервере.
HTTPS vs HTTP
HTTPS не является отдельным протоколом передачи данных, а представляет собой расширение протокола HTTP но со встроенным шифровальщиком. Добавочная буква «S» в аббревиатуре означает «Secure», то есть «безопасный».
HTTPS это закрытый протокол имеющий надстройку шифрования и использующий по умолчанию порт 433, тогда как HTTP – открытый протокол который использует порт 80
Данные передаваемые по протоколу HTTPS всегда больше по объёму чем те самые данные на HTTP поэтому их передача в обе стороны занимает чуть больше времени
HTTPS использует SSL-сертификаты для шифрования информации
Как это происходит?
Если на сайте есть SSL-сертификат, между браузером клиента и сайтом устанавливается защищённое соединение. В этом случае браузер сначала преобразует номер карты в случайный набор символов и только потом отправляет его на сервер.
Расшифровать сообщение получится только специальным ключом, который хранится на сервере.
что выведется на экран в результате выполнения программы?
Anonymous Quiz
2%
java
55%
JAVA
40%
Java
3%
jAVA
#interviewTasks
Раздобыли тестовое задание на Strong Junior Java Developer.
Если вам было бы интересно с ним ознакомиться, ждем от вас реакций.
Раздобыли тестовое задание на Strong Junior Java Developer.
Если вам было бы интересно с ним ознакомиться, ждем от вас реакций.
#java
Wildcards (Generics)
Знак вопроса (?) Известен как подстановочный знак в универсальном программировании. Представляет неизвестный тип.
Подстановочный знак можно использовать в различных ситуациях, таких как тип параметра, поля или локальной переменной; иногда как возвращаемый тип.
В отличие от массивов, разные экземпляры универсального типа несовместимы друг с другом даже явно. Эта несовместимость может быть смягчена подстановочным знаком, если ? используется как фактический параметр типа.
Wildcards (Generics)
Знак вопроса (?) Известен как подстановочный знак в универсальном программировании. Представляет неизвестный тип.
Подстановочный знак можно использовать в различных ситуациях, таких как тип параметра, поля или локальной переменной; иногда как возвращаемый тип.
В отличие от массивов, разные экземпляры универсального типа несовместимы друг с другом даже явно. Эта несовместимость может быть смягчена подстановочным знаком, если ? используется как фактический параметр типа.
#patterns
Одиночка (англ. Singleton) — порождающий шаблон проектирования, гарантирующий, что в однопоточном приложении будет единственный экземпляр некоторого класса, и предоставляющий глобальную точку доступа к этому экземпляру.
Одиночка (англ. Singleton) — порождающий шаблон проектирования, гарантирующий, что в однопоточном приложении будет единственный экземпляр некоторого класса, и предоставляющий глобальную точку доступа к этому экземпляру.
Что выведет этот код?
Anonymous Quiz
16%
JavaPython
21%
C++C++
9%
PythonJava
14%
JavaC++
37%
JavaJava
2%
PythonPython
#microsoft
Почему Microsoft перестали бороться с пиратством своего ПО?
Microsoft теряет миллиарды долларов из-за пиратства своих продуктов. Ранее CEO Microsoft принимали агрессивную политику в борьбе против пиратства. Microsoft даже проводила налеты в Мексике для арестов кортелей. О чем я точно еще напишу.
Все принятые политики по защите ПО Microsoft не обновлялись с 2010-го года. В 2013-м они запустили программу "play it safe". Сейчас, на официальном веб-сайте, вы ее не найдете. Осталась только фото-заглушка.
Почему же Microsoft перестали бороться с пиратством?
Защита SaaS стала куда сильнее, копии гораздо труднее подделывать. С развитием модели платных подписок многие продукты перешли на SaaS.
Все меньше людей ищет взломанное ПО. Это относится не только к Microsoft. Похожим образом действуют Adobe, которые позволяют пиратство своих продуктов. Именно благодаря пиратству Adobe и Microsoft стали лидерами рынка в своих сферах.
Неужели пиратство может заменить расходы на PR?
Почему Microsoft перестали бороться с пиратством своего ПО?
Microsoft теряет миллиарды долларов из-за пиратства своих продуктов. Ранее CEO Microsoft принимали агрессивную политику в борьбе против пиратства. Microsoft даже проводила налеты в Мексике для арестов кортелей. О чем я точно еще напишу.
Все принятые политики по защите ПО Microsoft не обновлялись с 2010-го года. В 2013-м они запустили программу "play it safe". Сейчас, на официальном веб-сайте, вы ее не найдете. Осталась только фото-заглушка.
Почему же Microsoft перестали бороться с пиратством?
Защита SaaS стала куда сильнее, копии гораздо труднее подделывать. С развитием модели платных подписок многие продукты перешли на SaaS.
Все меньше людей ищет взломанное ПО. Это относится не только к Microsoft. Похожим образом действуют Adobe, которые позволяют пиратство своих продуктов. Именно благодаря пиратству Adobe и Microsoft стали лидерами рынка в своих сферах.
Неужели пиратство может заменить расходы на PR?
Как вы можете отсортировать HashMap на основе значений?
Anonymous Quiz
18%
Имплементировать интерфейс Comparator и переопределить его метод сравнения
35%
Это невозможно
38%
Имплементировать интерфейс Comparator и переопределить его метод compareTo
10%
Имплементировать Comparator и Comparable интерфейс
#java
Что такое поток демона в Java?
Демон-поток - это поток, который не предотвращает выход JVM, когда программа заканчивается, но поток все еще работает. Примером для потока демона является сбор мусора.
Вы можете использовать метод setDaemon(boolean) для изменения свойств демона Thread до начала потока.
Когда создается новый поток, он наследует статус демона своего родителя.
Когда все потоки, не являющиеся демонами, заканчивают работу, JVM останавливается, а все оставшиеся потоки демонов удаляются: наконец блоки не выполняются, стеки не разматываются - JVM просто выходит.
По этой причине потоки демонов следует использовать с осторожностью, и их опасно использовать для задач, которые могут выполнять любые операции ввода-вывода.
Что такое поток демона в Java?
Демон-поток - это поток, который не предотвращает выход JVM, когда программа заканчивается, но поток все еще работает. Примером для потока демона является сбор мусора.
Вы можете использовать метод setDaemon(boolean) для изменения свойств демона Thread до начала потока.
Когда создается новый поток, он наследует статус демона своего родителя.
Когда все потоки, не являющиеся демонами, заканчивают работу, JVM останавливается, а все оставшиеся потоки демонов удаляются: наконец блоки не выполняются, стеки не разматываются - JVM просто выходит.
По этой причине потоки демонов следует использовать с осторожностью, и их опасно использовать для задач, которые могут выполнять любые операции ввода-вывода.
Корректно ли такое выражение?
List<Number> nums = new ArrayList<Integer>();
List<Number> nums = new ArrayList<Integer>();
Anonymous Quiz
38%
Да
42%
Нет, будет ошибка компиляции
12%
Нет, будет ошибка во время выполнения
8%
Да, но выбросится Exception
#java
Интерфейсы
Интерфейс — это ссылочный тип в Java. Он схож с классом. Это совокупность абстрактных методов. Класс реализует интерфейс, таким образом наследуя абстрактные методы интерфейса.
Чем отличается класс от интерфейса?
- Вы не можете создать экземпляр интерфейса.
- В интерфейсе не содержатся конструкторы.
- Все методы в интерфейсе абстрактные.
- Интерфейс не может содержать поля экземпляров. Поля, которые могут появиться в интерфейсе, обязаны быть объявлены и статическими, и final.
- Интерфейс не расширяется классом, он реализуется классом.
- Интерфейс может расширить множество интерфейсов.
_____________________
Решение: Убрать метод fly() у класса Bird, и вынести его в интерфейс "toBeAbleToFly". В нем, мы создаем тот самый метод fly(), который уже реализует тот класс, которому нужен этот метод. В нашем случае, это будет Parrot. Курице он нужен, по этому реализовывать этот метод, она не будет.
То есть, мы вынесли конкретный функционал, который нужен специфичной сущности.
// Позже будет выложен еще один пример использования интерфейсов
Интерфейсы
Интерфейс — это ссылочный тип в Java. Он схож с классом. Это совокупность абстрактных методов. Класс реализует интерфейс, таким образом наследуя абстрактные методы интерфейса.
Чем отличается класс от интерфейса?
- Вы не можете создать экземпляр интерфейса.
- В интерфейсе не содержатся конструкторы.
- Все методы в интерфейсе абстрактные.
- Интерфейс не может содержать поля экземпляров. Поля, которые могут появиться в интерфейсе, обязаны быть объявлены и статическими, и final.
- Интерфейс не расширяется классом, он реализуется классом.
- Интерфейс может расширить множество интерфейсов.
_____________________
Пример:
Ниже приведена иерархия классов. Класс Bird имеет метод fly(), но курица унаследовавшая метод, не должна его иметь, что делать в таком случае?Решение: Убрать метод fly() у класса Bird, и вынести его в интерфейс "toBeAbleToFly". В нем, мы создаем тот самый метод fly(), который уже реализует тот класс, которому нужен этот метод. В нашем случае, это будет Parrot. Курице он нужен, по этому реализовывать этот метод, она не будет.
То есть, мы вынесли конкретный функционал, который нужен специфичной сущности.
// Позже будет выложен еще один пример использования интерфейсов
Какое из следующих утверждений верно относительно класса Java?
Anonymous Quiz
53%
Класс Java должен иметь имя, указанное в исходном коде.
19%
Класс Java может иметь несколько локал. перем. с одинаковыми именами внутри одного и того же метода.
13%
Класс Java - это глобальный метод
15%
Знак подчеркивания («_») - это допустимое имя класса Java.
#backEnd
Кто этот ваш Postman?
Postman – удобный инструмент, который умеет описывать и исполнять запросы, получать информацию об их статусах, выстраивать цепочки запросов, зацикливать их, создавать сценарии. Главный плюс – код писать при этом практически не нужно.
Итак, вы определились со сценариями, которые хотите мониторить, и подготовили список запросов, которые соответствуют действиям пользователя. В Postman сценарии собираются из этих запросов, как из конструктора. Помимо запросов, такими кирпичиками являются коллекции и окружения.
Окружения содержат значения переменных, с которыми мы работаем в рамках сценариев – адреса серверов, имена папок и т.д. Фактически одно окружение – это один продукт.
Коллекция описывает, что с этими переменными делать. Это набор запросов, и в нашем случае одна коллекция – это один сценарий мониторинга. Одну коллекцию можно использовать в разных окружениях, подставляя нужные переменные. Не нужно для каждой системы писать новый сценарий авторизации – можно одним кликом вызвать уже готовую коллекцию.
Надо тестить API - Postman
Кто этот ваш Postman?
Postman – удобный инструмент, который умеет описывать и исполнять запросы, получать информацию об их статусах, выстраивать цепочки запросов, зацикливать их, создавать сценарии. Главный плюс – код писать при этом практически не нужно.
Итак, вы определились со сценариями, которые хотите мониторить, и подготовили список запросов, которые соответствуют действиям пользователя. В Postman сценарии собираются из этих запросов, как из конструктора. Помимо запросов, такими кирпичиками являются коллекции и окружения.
Окружения содержат значения переменных, с которыми мы работаем в рамках сценариев – адреса серверов, имена папок и т.д. Фактически одно окружение – это один продукт.
Коллекция описывает, что с этими переменными делать. Это набор запросов, и в нашем случае одна коллекция – это один сценарий мониторинга. Одну коллекцию можно использовать в разных окружениях, подставляя нужные переменные. Не нужно для каждой системы писать новый сценарий авторизации – можно одним кликом вызвать уже готовую коллекцию.
Надо тестить API - Postman
#Web
Что такое модель MVC?
Это способ организации кода, который предполагает выделение блоков, отвечающих за решение разных задач. Один блок отвечает за данные приложения, другой отвечает за внешний вид, а третий контролирует работу приложения.
MVC расшифровывается как модель-вид-контроллер
Модель (Model) - это данные и правила, которые используются для работы с данными, которые представляют концепцию управления приложением. Модель даёт контроллеру представление данных, которые запросил пользователь.Она содержит наиболее важную часть логики приложения, логики, которая решает задачу, с которой мы имеем дело тогда как контроллер содержит в основном организационную логику для самого приложения
Вид (View) - отвечает за взаимодействие с пользователем. То есть код компонента view определяет внешний вид приложения и способы его использования.
Контроллер (Controller) - управляет запросами пользователя (получаемые в виде запросов HTTP GET или POST, когда пользователь нажимает на элементы интерфейса для выполнения различных действий). Его основная функция — вызывать и координировать действие необходимых ресурсов и объектов, нужных для выполнения действий, задаваемых пользователем.
Что такое модель MVC?
Это способ организации кода, который предполагает выделение блоков, отвечающих за решение разных задач. Один блок отвечает за данные приложения, другой отвечает за внешний вид, а третий контролирует работу приложения.
MVC расшифровывается как модель-вид-контроллер
Модель (Model) - это данные и правила, которые используются для работы с данными, которые представляют концепцию управления приложением. Модель даёт контроллеру представление данных, которые запросил пользователь.Она содержит наиболее важную часть логики приложения, логики, которая решает задачу, с которой мы имеем дело тогда как контроллер содержит в основном организационную логику для самого приложения
Вид (View) - отвечает за взаимодействие с пользователем. То есть код компонента view определяет внешний вид приложения и способы его использования.
Контроллер (Controller) - управляет запросами пользователя (получаемые в виде запросов HTTP GET или POST, когда пользователь нажимает на элементы интерфейса для выполнения различных действий). Его основная функция — вызывать и координировать действие необходимых ресурсов и объектов, нужных для выполнения действий, задаваемых пользователем.