Тест по строкам Java
Тест на строки Java для проверки ваших знаний о классе строк. Существует 21 вопрос, связанный со строковыми концепциями и фрагментами кода для тестирования строкового программирования.
- Автор записи
Добро пожаловать в Java String Quiz. Строка-один из самых важных классов в Java. Если вы занимались каким-либо программированием на java, вы, должно быть, использовали его. Строка очень популярна, когда дело доходит до вопросов для интервью на java или викторины. Итак, я собрал несколько замечательных и сложных вопросов викторины по строкам java, которые вам следует попробовать.
Тест по строкам Java
В этом тесте есть 21 вопрос. Если вы можете правильно ответить на 15 или более вопросов, то считайте, что вы действительно хороши в строковых концепциях. Вы можете проверить ответ и подробное объяснение, нажав на кнопку ” Раскрыть ответ ” после каждого вопроса. Давайте начнем викторину по струнам и желаем удачи.
1. Каковы будут результаты приведенных ниже утверждений?
A. Преобразует “Z” в int 90 и выводит “90” B. Исключение во время выполнения C. Выводит “z” D. Выводит “Z”
Нажмите, чтобы открыть ответ
Правильный ответ: B Это вызовет исключение времени выполнения. Исключение в потоке «основной» java.lang.Исключение StringIndexOutOfBoundsException: Строковый индекс вне диапазона: 16 Это потому, что значение индекса начинается с 0.
2. Каковы будут результаты приведенных ниже утверждений?
A. Выводит “Str” B. Исключение во время выполнения C. Исключение времени выполнения IndexOutOfBoundsException D. Ошибка компиляции StringIndexOutOfBoundsException
Нажмите, чтобы открыть ответ
Правильный ответ: B Это вызовет исключение runtimeexception с сообщением об ошибке как Исключение в потоке «main» java.lang.Исключение StringIndexOutOfBoundsException: начало 5, конец 3, длина 16 . Это потому, что конечный индекс меньше начального индекса.
3. Выберите все допустимые методы класса String.
А. трим() Б. стажер() С. тоЛауэр() Д. сплит()
Нажмите, чтобы открыть ответ
Правильный ответ: A, B Допустимыми методами класса String являются – trim(), intern(), toLowerCase () и split(регулярное выражение строки).
4. Каковы будут результаты приведенных ниже утверждений?
A. истинная ложь B. истинная ложь C. ложная ложь D. ложная ложь
Нажмите, чтобы открыть ответ
Правильный ответ: A Когда мы используем двойные кавычки для создания строки, она сначала ищет строку с тем же значением в пуле строк. Если он найден, то он возвращает ссылку, иначе он создает новую строку в пуле, а затем возвращает ссылку. Однако, используя оператор new, мы заставляем класс String создавать новый объект String в пространстве кучи. Таким образом, s1 и s2 будут ссылаться на одну и ту же строку в пуле, тогда как s3 будет другим объектом вне пула, следовательно, вывод.
5. Какие из следующих утверждений верны для строки в случае переключателя?
A. Строка разрешена в случае переключения для версий Java 1.5 или выше. B. Строка разрешена в случае переключения для Java 1.7 или более поздних версий. C. Метод equals() используется реализацией случая переключения, поэтому добавьте проверку null, чтобы избежать исключения NullPointerException.
Нажмите, чтобы открыть ответ
Правильный ответ: B, C Подробнее читайте в строка регистра переключателя java
6. Какие из следующих утверждений верны для StringBuffer и StringBuilder?
A. StringBuilder не потокобезопасен. B. StringBuffer потокобезопасен, потому что его методы синхронизированы. C. StringBuilder был представлен в Java 1.4 D. StringBuffer и StringBuilder неизменяемы.
Нажмите, чтобы открыть ответ
Правильный ответ: Объект A, B StringBuffer потокобезопасен, поскольку его методы синхронизированы. Но в большинстве случаев это накладные расходы, поэтому StringBuilder был представлен в Java 1.5. StringBuilder не является потокобезопасным. StringBuffer и StringBuilder являются изменяемыми классами. Подробнее читайте в String vs StringBuffer vs StringBuilder .
7. Реализация строки следует какому из приведенных ниже шаблонов проектирования?
A. Модель конструкции с летным весом B. Заводская модель C. Одноэлементная модель D. Ничего из вышеперечисленного
Нажмите, чтобы открыть ответ
Правильный ответ: Реализация пула строк соответствует шаблону проектирования flyweight .
8. Каковы будут результаты приведенных ниже утверждений?
A. 0 B. истинно C. -3 D. ложно
Нажмите, чтобы открыть ответ
Правильный ответ: C Из документации по методу сравнения строк (): Метод сравнения сравнивает две строки лексикографически. Сравнение основано на значении Юникода каждого символа в строках. Последовательность символов, представленная этим строковым объектом, лексикографически сравнивается с последовательностью символов, представленной строкой аргумента. Результатом является отрицательное целое число, если этот строковый объект лексикографически предшествует строке аргумента. Результатом является положительное целое число, если этот строковый объект лексикографически следует за строкой аргумента. Результат равен нулю, если строки равны; compareTo возвращает 0 ровно тогда, когда метод equals(объект) вернет значение true. Это определение лексикографического упорядочения. Если две строки разные, то либо они имеют разные символы в некотором индексе, который является допустимым индексом для обеих строк, либо их длины различны, либо и то, и другое. Если они имеют разные символы в одной или нескольких позициях индекса, пусть k-наименьшее такое
9. Каков будет результат приведенной ниже программы?
A. abc B. abcabc C. ноль
Нажмите, чтобы открыть ответ
Правильный ответ: x.concat(y) создаст новую строку, но она не назначена x, поэтому значение x не изменяется.
10. Каков будет результат приведенной ниже программы?
A. ложно B. s1 является:истинно C. s1 является:ложно D. истинно
Нажмите, чтобы открыть ответ
Правильный ответ: A Вывод данных операторов будет “ложным”, потому что в java + приоритет оператора больше, чем. Таким образом, данное выражение будет оценено как “s1 is:abc”, т. е. ложно.
11. Каковы будут результаты приведенных ниже утверждений?
A. Java3Quiz7 B. Java12Quiz7 C. Java12Quiz34 D. Java3Quiz34
Нажмите, чтобы открыть ответ
Правильный ответ: B Прежде всего, выполняется выражение в скобках. Тогда это все операторы+, поэтому они выполняются слева направо. Мы получаем строку с каждой конкатенацией, следовательно, вывод получается, как показано ниже. “Java”+1+2+”Викторина”+””+(3+4) = “Ява”+1+2+”Викторина”+””+7 = “Java1″+2+”Викторина”+””+7 = “Java12″+”Викторина”+””+7 = “Java12Quiz”+””+7 = “Java12Quiz”+7 = “Java12Quiz7”
12. Сколько строковых объектов создано в приведенных ниже операторах?
A. 1 B. 2 C. 3 D. 4
Нажмите, чтобы открыть ответ
Правильный ответ: C В операторе 1 “abc” создается в пуле строк. В операторе 2 сначала в пуле строк создается “abcd”. Затем он передается в качестве аргумента оператору String new, и в памяти кучи создается другая строка. Таким образом, создается в общей сложности 3 строковых объекта.
13. Каковы будут результаты приведенных ниже утверждений?
A. ложь B. ложь C. истина D. истина
Нажмите, чтобы открыть ответ
Правильный ответ: A s1 находится в пуле строк, тогда как s2 создается в памяти кучи. Следовательно, вернет значение false. Когда вызывается метод s2.intern () , он проверяет, есть ли в пуле какая-либо строка со значением “abc”. Таким образом, он возвращает ссылку на s1. Таким образом, и s1, и s2 теперь указывают на один и тот же экземпляр строки. Следовательно.intern() вернет значение true.
14. Выберите все интерфейсы, реализованные классом String.
A. Сериализуемый B. Сопоставимый C. Констебль D. Клонируемый
Нажмите, чтобы открыть ответ
Правильный ответ: Строка A, B, C сериализуема и сопоставима. Констебль-это новый интерфейс из выпуска Java 12.
15. Выберите все причины, которые делают Строку идеальным кандидатом на ключ карты?
A. Строка является неизменяемой B. Строка является окончательной C. Строка правильно реализует метод хэш-кода() и равна() C. Хэш-код строки кэшируется
Нажмите, чтобы открыть ответ
Правильный ответ: A, B, C Правильная реализация метода hashCode() и equals() является обязательной для ключа карты. Поскольку строка является окончательной и неизменяемой, нет никаких шансов на повреждение ключевых данных.
16. Каков будет результат приведенного ниже фрагмента кода?
A. JAVA B.java C. истинно D. ложно
Нажмите, чтобы открыть ответ
Правильный ответ: A Он напечатает “JAVA”, потому что аргумент внутри метода println() является назначением. Таким образом, он будет рассматриваться как System.out.println(«JAVA») .
17. Каковы будут результаты приведенных ниже утверждений?
A. ложь B. истина C. Исключение ClassCastException во время выполнения D. Ошибка во время компиляции
Нажмите, чтобы открыть ответ
Правильный ответ: A Он выведет значение false, поскольку s2 не относится к типу String. Если вы посмотрите на реализацию метода String equals (), вы найдете проверку с использованием оператора instanceof , чтобы проверить, является ли тип передаваемого объекта строковым? Если нет, то верните значение false.
18. Каков будет результат приведенного ниже фрагмента кода?
A. ложь B. истина C. ноль
Нажмите, чтобы открыть ответ
Правильный ответ: A Это сложный вопрос, и вывод будет ложным. Мы знаем, что метод intern() вернет ссылку на строковый объект из пула строк, но поскольку мы не назначили его обратно s2, в s2 нет никаких изменений. Следовательно, и s1, и s2 имеют разные ссылки. Если мы изменим код в строке 3 на s2.intern (); , то вывод будет истинным.
19. Выберите все классы, расширяющие класс String.
A. Строковый буферчик B. Строковый конструктор C. Строковый писатель D. Нет
Нажмите, чтобы открыть ответ
Правильный ответ: D Это сложный вопрос. Строка является конечным классом, поэтому вы не можете ее расширить.
20. Какие из следующих утверждений верны относительно строки в java?
A. Мы можем расширить класс строк, как это делает StringBuffer. B. Класс строк определен в пакете java.util. C. Строка неизменяема в Java. D. Строка потокобезопасна в Java. E. Строка чувствительна к регистру в Java.
Нажмите, чтобы открыть ответ
Правильный ответ: C, D, E Мы не можем расширить класс строк, потому что он окончательный. StringBuffer не расширяет его. Класс String определен в java.lang пакете.Строка является неизменяемой и, следовательно, потокобезопасной в java. Строка чувствительна к регистру, поэтому “abc” не равно “ABC”.
21. Каковы будут результаты приведенных ниже утверждений?
A. nullnull B. null, за которым следует исключение NullPointerException C. Исключение NullPointerException
Нажмите, чтобы открыть ответ
Правильный ответ: B Строка 2 выведет null , потому что print метод имеет проверку на нуль следующим образом: если (ы) <;>| Строка 3 вызовет исключение NullPointerException, потому что мы пытаемся вызвать функцию toString() при нуле.
Вывод
Я попытался осветить большинство важных моментов, связанных со строкой, в этом тесте. Если вы считаете, что была упущена какая-то интересная концепция, пожалуйста, дайте мне знать через комментарии. Если вам понравилась викторина, поделитесь ею и с другими.
Name already in use
JavaExercises / TestTasks / geekbrains.ru / java2a.test
- Go to file T
- Go to line L
- Copy path
- Copy permalink
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Тестовые задания по java: ТОП 20 тестовых заданий на интервью для Java разработчика
Как выполнять тестовые задания для java- джуниоров/стажеров, чтобы попасть на собеседование
Недавно в силу своей работы, мне довелось отбирать стажеров в нашу компанию. Все кто еще помнит как это — быть стажером/джуном, должны помнить как сложно без опыта воткнуться в более-менее нормальное место, где будут тратить ресурсы на твое обучение. Из-за того, что поток начинающих разработчиков очень большой, у работодателя есть возможность выбирать из этого потока если и не самых лучших, то как минимум толковых, перспективных ребят, на которых стоить потратить время на обучение, чтобы потом их у себя трудоустроить.
У каждой компании своя методика поиска таких кандидатов. Мы, на сегодняшний день, придерживаемся следующей: даем небольшое тестовое задание (около часа работы, для опытного разработчика), для выполнения которого достаточно знаний java-core и просим выложить его на гитхаб. По времени выполнения не ограничиваем. Затем, качественно выполнивших задание соискателей приглашаем на собеседование.
Задание обычно содержит реализацию CRUD методов в файл через консольное меню с одной-двумя сущностями плюс валидацию некоторых полей. В качестве примера приведу классическую ситуацию с пользователем, которому нужно реализовать валидацию email и телефона, по заданному шаблону и к этому иметь возможность ввести от 1 до 3 телефонов. Откликов приходит очень много, а мест очень мало — соответственно отбор достаточно жесткий.
Начав проверять все задания подряд, выяснилось, что на проверку работоспособности с запуском и фидбеком каждого задания уходит около 30 минут, пришлось пересмотреть методику проверки и вывести критерии для быстрого отсеивания недостаточно качественного кода. К примеру, открыв решение на гитхабе я вижу, что весь код сконцентрирован в нескольких классах да еще и наваленных в одном package — быстрый отказ (как же принципы ООП?).
Многие могут счесть такой подход несправедливым, сказать что задача же решена, код работает, однако жизнь стажера и джуниора сурова и беспощадна.
В связи с этим, предлагаю свой список рекомендаций к выполнению тестового задания
-
Ваше решение должно работать в соответствии с ТЗ
Досконально выполняйте требования изложенные в условиях к решению задачи. Не додумывайте своих полей у сущностей, не меняйте условия валидации и тд. и тп. Это показывает насколько вы внимательны к деталям, что для разработчика очень важно.
Резюме
Решение задачи без ошибок присылает большая половина соискателей, а добротный код — единицы, которые и проходят естественный отбор и попадают в следующий тур. Все исполнители получают фидбек. Те кто написал добротный код, который дошел до запуска — персональный фидбек, те, что прислали спагетти, написанное на коленке — более обобщенный.
P.S.: Надеюсь мои советы помогут вам, уважаемые соискатели лучше выполнять ваши тестовые задания, а проверяющим реже плакать кровавыми слезами. Удачи вам в поисках и хорошего стартового места работы!
Тест с ответами: «Java» | Образовательный портал
1. Какое утверждение относительно класса java.lang.Object верно:
а) у этого класса нет полей +
б) нельзя явно переопределять методы этого класса
в) нельзя явно наследовать этот класс
2. Какое утверждение относительно класса java.lang.Object верно:
а) нельзя явно переопределять методы этого класса
б) у этого класса нет суперкласса +
в) нельзя явно наследовать этот класс
3. Какое утверждение относительно модуля компиляции верно:
а) в модуле компиляции может быть больше одного объявления пакета
б) объявления верхнего уровня позволяют обращаться к типам из других пакетов по их простым именам
в) если объявление пакета отсутствует, то модуль компиляции будет принадлежать безымянному пакету +
4. Какое утверждение относительно модуля компиляции верно:
а) import-выражения необязательны +
б) в модуле компиляции может быть больше одного объявления пакета
в) хранится в текстовом .class-файле
5. Какой из следующих адресов относится к подсети класса B:
а) 224.0.0.10
б) 194.80.20.1
в) 172.16.0.1 +
6. Какой из следующих адресов относится к подсети класса B:
а) 224.0.0.10
б) 140.150.160.1 +
в) 194.80.20.1
7. Какое утверждение относительно java.util.Random корректно:
а) void nextBytes(byte[] arr) — заполняет массив arr нулями
б) последовательный запуск приложения, генерирующего последовательность псевдослучайных чисел, никогда не вернет одинаковых последовательностей
в) используется для получения последовательности псевдослучайных чисел +
8. Какое утверждение относительно java.util.Random корректно:
а) double nextGaussian()— возвращает случайное число в диапазоне от 0.0 до 1.0 распределенное по нормальному закону +
б) void nextBytes(byte[] arr) — заполняет массив arr нулями
в) последовательный запуск приложения, генерирующего последовательность псевдослучайных чисел, никогда не вернет одинаковых последовательностей
9. Одно из ключевых слов языка Java:
а) false
б) null
в) default +
10. Одно из ключевых слов языка Java:
а) null
б) protected +
в) false
11. Какой из следующих адресов относится к подсети класса С:
а) 219.40.80.33 +
б) 184.80.20.1
в) 14.80.22.5
12. Какой из следующих адресов относится к подсети класса С:
а) 184.80.20.1
б) 194.15.40.6 +
в) 14.80.22.5
13. Сколько объектов порождается при инициализации массива new int[3][]:
а) 1 +
б) 3
в) 2
14. Какое утверждение относительно класса String верно:
а) является абстрактным
б) содержит только статические методы
в) обладает свойством неизменяемости +
15. Какое значение может принимать переменная булева типа:
а) true +
б) 0
в) 1
16. Какое значение может принимать переменная булева типа:
а) null
б) false +
в) 1
17. Отметьте верное утверждение относительно языков Java и JavaScript:
а) JavaScript является синонимом Java
б) их спецификации являются закрытыми
в) оба языка кроссплатформенны +
18. Если вызвать write(0x02468101) у экземпляра OutputStream, то в каком порядке и какие байты будут записаны в выходной поток:
а) 0x01,0x81,0x46,0x02
б) только 0x01 +
в) 0x02,0x46,0x81,0x01
19. Вы создали класс Animal в пакете ru.animal. Где будет хранится исходный код класса в файловой системе:
а) ru\animal\Animal.class
б) ru\Animal.java
в) ru\animal\Animal.java +
20. Может ли массив основываться на абстрактных классах? Интерфейсах:
а) да, нет
б) да, да +
в) нет, да
21. Что такое приоритет потока:
а) качественная характеристика, обеспечивающая распределение процессорного времени между потоками: чем выше приоритет, тем в среднем чаще будет выделяться процессорное время для такого потока +
б) процессор сначала выполняет все задачи с более высоким приоритетом, затем – с менее высоким
в) порядковый номер потока в очереди на исполнение
22. Какое преимущество предоставляет интерфейс Runnable по сравнению с классом Thread:
а) позволяет более гибко работать с приоритетами потоков
б) позволяет классу, содержащему логику работы, наследоваться от других классов +
в) позволяет обойтись без класса Thread
23. Какая кодировка используется классом OutputStreamWriter по умолчанию:
а) UTF-8 независимо от системы, где запущена Java-машина
б) UTF-16 независимо от системы, где запущена Java-машина
в) используемая кодировка зависит от системы, где запущена Java-машина +
24. Какое утверждение относительно методов класса верно:
а) к методу, объявленному с модификаторами public final, нельзя обратиться из класса-наследника
б) метод, объявленный с модификатором native, должен быть написан на другом языке программирования +
в) методы не могут иметь модификатор доступа default
25. Какое утверждение относительно методов класса верно:
а) идентификатор метода при объявлении становится составным именем метода
б) к методу, объявленному с модификаторами public final, нельзя обратиться из класса-наследника
в) метод, объявленный с модификатором final, не может быть переопределен в классе-наследнике +
26. Каким образом на однопроцессорной машине исполняются многопоточные приложения:
а) количество процессоров для многопоточной архитектуры не имеет значения
б) рабочее время процессора разбивается на небольшие интервалы, в течение которых выполняется одна задача, после чего происходит переключение на следующую задачу +
в) на однопроцессорном компьютере многопоточные приложения не исполняются
27. Какой из перечисленных ниже классов имеет наибольшее сходство с классомVector:
а) ArrayList +
б) LinkedList
в) AbstractCollection
28. Какой класс соответствует классу CharArrayReader, но работает только с байтовыми данными:
а) FilterInputStream
б) BufferedInputStream
в) ByteArrayInputStream +
29. Какой метод нужно переопределить, чтобы реализовать отрисовку внешнего вида компонента:
а) paint +
б) repaint
в) show
30. От какого класса наследуются InputStream иOutputStream:
а) AbstractStream
б) Object +
в) IOWriter
Тестовое задание Crossover Java — urvanov.ru
Обычно я не делаю тестовых заданий, так как это зачастую просто пустая трата времени. Но тот один человек уговорил, хотя описание компании и вакансии было какое-то мутное. Я бы отсеял.
Assignment
Your objective is to perform a set of tasks described below. Please try to complete as much as possible within given time-frame, even if you do not finish the assignment.
Tools and Technologies
Problem Description
Create the back-end for Sales Order Application which contains:
- Product: The Inventory products that organization sell.
- Customer: The buyers of products from organization.
- Sales Order: The process of selling product to customer. Each sales order consist of one or more order lines.
- Order Lines: The actual products and quantities that a customer need to buy.
The back end will validate the following information with each sales order
- Quantities that have been requested are less than or equal current inventory balance.
- Total price of sales order is less than or equal (Customer Credit Limit — Customer Current Credit).
If Sales Order is valid, your back end will reduce Inventory Quantities and increase current credit.
Your back end should also handle delete and update of sales order
Requirements
- All Project(s) you will create will be under maven control.
- You will use web services to implement communication between your backend & our front-end .
- You will use tomcat as your web container.
- You will use hibernate as an ORM implementation.
- You will use MySQL as your database.
How to integrate your code:
- Your code will replace marker //TODO by the candidate (You can list them by opening Markers view in eclipse then expand Java Task it should be 15 Item)
- Every Marker has a comment of what should you do.
- Don’t waste your time in improve or refactor the front end code
Build, Deployment and Testing
- Provide full details of how to build, deploy and run the application (this should be in howto file).
- Create JUnit for all basic operations (e.g. validations, sales order CRUD operations ..).
- Application should be built using a single command.
- Execute unit tests should be done using a single command.
To be evaluated
- Functionalities and output.
- Database design.
- Code quality (style, documentation and performance).
- Fulfilment of running and deployment Instructions.
Readme Document
Create a txt file with the following information
Instructions to install and configure prerequisites or dependencies, if any
Instructions to create and initialize the database
Assumptions you have made — it is good to explain your thought process and the assumptions you have made
Requirements that you have not covered in your submission, if any
Instructions to configure and prepare the source code to build and run properly
Issues you have faced while completing the assignment, if any
Constructive feedback for improving the assignment
Design Document
Create a design document containing the following
High level requirement analysis
High level presentation of the data model
Architecture diagrams describing the composition and working of the system, explaining the component interaction and process, control and data flows.
Explain the breakdown of the system into components with technical implementation details of each component along with the design patterns involved and with reasons that justify your choices.
Present the UI screens and how they are connected through user interactions with those screens
Use both visual elements (diagrams) and text descriptions to maximise the amount of information conveyed while keeping the document as compact as possible
Delivery / What to submit
Please, read and follow this section carefully.Any delivery that does not follow this section will score much less or simply won’t be evaluated.
Delivery for this assignment should consist of:
Archive named <your_name — Java Engineer>.zip containing the following:
- README.txt -> containing report about work done.
- Design.doc -> contains your design implementation.
- Wink Folder -> Wink video shows you application running, and perform required functionality.
- Code Folder -> contains your solution and frontend project after modification.
- SQL Folder -> All SQL scripts.
- Deployment -> all artifacts and detailed instructions to deploy your solution.
So the resulting structure of your delivery should be:
- <your_name — Java Engineer>.zip
- <your_name — Java Engineer>.zip \ README.txt
- <your_name — Java Engineer>.zip \ Design.doc
- <your_name — Java Engineer>.zip \Code\
- <your_name — Java Engineer>.zip \SQL\
- <your_name — Java Engineer>.zip \Deployment\
- <your_name — Java Engineer>.zip \Wink\
- моки что PointOfSale делегирует вызовы сессии. моки что сессия делегирует сумирование магазину с подстановкой продукта
… tbd - базовые кейсы, которые были предложены клиентом для GroceryStore или какие посчитаем нужными, лучше price и дискоунт мокать, с тем расчетом что в реалии они идут из персистетного хранилища.
… tbd - Интеграционные тесты
- Программирование
- Java
- Операторы присваивания в Java
- В этой статье мы изучим компоненты J2EE и подход к ручному тестированию для приложения J2EE.
- Во втором мы рассмотрим подход к автоматическому тестированию для тестирования приложений J2EE, а
- В третьем мы рассмотрим исчерпывающий список инструментов, доступных для тестирования приложений J2EE.
- Клиент / браузер запрашивает веб-адрес с URL.
- JSP (Java Server Pages) — JSP — это серверная технология, предназначенная для представления данных пользователю. Он поддерживает отображение динамического содержимого с помощью специальных тегов, называемых тегами JSP, которые помогают вставлять код Java в страницы HTML. [Статический HTML всегда отображает одно и то же содержимое]. Во время выполнения JSP преобразуется в сервлет. Бизнес-логика здесь обычно не пишется.
- JSF (Java Server Faces) — JSF — это структура компонентов представления для эффективного проектирования пользовательского интерфейса.
- Javascript / JQuery — — это языки сценариев, используемые для проверки на стороне клиента представления / экрана.
- Сервлет — Сервлет проверяет данные, полученные от входа, выбирает соответствующий код бизнес-логики и передает значения коду Бина.
- Enterprise Java Bean (EJB) — Здесь обычно пишется и обрабатывается вся бизнес-логика. Затем компонент вызывает код для чтения, записи или обновления базы данных.После завершения операций с базой данных ответ передается обратно сервлету, который, в свою очередь, выбирает соответствующий JSP для отображения результатов.
- WebServices — Webservices — это компоненты приложения, которые работают на отдельном сервере и обмениваются данными по протоколу HTTP.
- База данных — хранит все данные приложения.
- Экран входа в систему
- Экран отображения сотрудников, на котором перечислены все сотрудники в организации
- Экран изменения / добавления / удаления сотрудников.
- Проверить любые исключения, включая исключение указателя NULL
- Проверить, не разрешены ли NULL для имени пользователя и пароля
- Проверить, если имя пользователя / пароль имеет правильный формат
- Проверьте, не разрешены ли числа для имени пользователя
- Проверьте, не разрешены ли специальные символы в имени пользователя
- Убедитесь, что введена правильная комбинация имени пользователя и пароля, затем приложение перейдет к следующему экрану, я.е. Экран информации о сотруднике
- Проверить правильность длины введенного имени пользователя
- Проверить, допускает ли текстовое поле имени пользователя только максимальное количество символов, указанное для этого поля
- Проверить, отображается ли поле пароля, если оно указано в требованиях, как * while ввод
- Проверить, чувствительны ли пароли к регистру
- Проверить, не чувствит ли имя пользователя к регистру
- Проверить, не запоминает ли страница входа имя пользователя или пароль, даже после выхода
- Проверьте, работают ли кнопки «Отправить» и «Отмена» в соответствии с требованиями
- При первом использовании приложения проверьте, есть ли у имени пользователя разрешение на вход в приложение
- Удалите комбинацию имени пользователя и пароля из базы данных и проверьте, не может ли эта комбинация повторно войти в систему
- Для всех вышеуказанных случаев проверьте, отображаются соответствующие сообщения об ошибках проверки
- Убедитесь, что метки и кнопки находятся в нужном месте на экран и правильность отображения текста
- Проверьте, соответствует ли внешний вид экрана требованиям
- Проверьте, обрабатываются ли исключения
- Проверьте, ведется ли ведение журнала для требуемых действий
- Проверьте, совпадают ли вход в систему и сеанс на всех других новых интегрированных экранах.
- Проверьте, не обновляются ли / удаляются другие модули. / вставка любой записи в базу данных не требуется
- Пусть будет поле статуса сотрудника, в котором написано «Новый» при добавлении, «Обновлен» при изменении и «Удален» при удалении.Хотя два или три экрана могут использовать одно и то же поле состояния, важно убедиться, что это поле не обновляется неправильно.
- Проверить, соответствуют ли заголовок, нижний колонтитул, размер экрана и внешний вид требованиям после интеграции
- Убедитесь, что при нажатии на кнопку «Отправить» управление передается на следующий экран
- Убедитесь, что при нажатии на кнопку «Отмена» выполняется действие отменено
- Проверить поток данных, объектных, XML или сеансовых, от конца до конца.Проверить правильность.
- Проверьте, правильно ли управляет сеанс каждым из модулей
- Если задействованы внешние приложения (веб-службы), проверьте, может ли ваше приложение выполнять вызовы и получать данные обратно из приложения
- Обеспечение правильности потока данных и контроля от конца до конца
- Обеспечение безопасности данных транзакций
- Обеспечение соответствия приложения всем бизнес-функциям
- Убедитесь, что приложение хорошо работает как конечный продукт — проверьте неработающие ссылки, управление сеансом, файлы cookie, ведение журнала, обработку ошибок, обработку исключений, проверку и поток транзакций.
- Если несколько пользователей входят в систему одновременно, проверьте, что приложения не зависают / не завершаются
- Если в базе данных доступен большой объем данных — проверьте, что экран поиска сеткам не требуется много времени для выполнения запросов до тайм-аута сеанса
- В многопоточной среде проверьте, что приложение способно хорошо обрабатывать все потоки
- В приложениях, где создается большое количество объектов, проверьте, достаточно ли выделено памяти , выполняется сборка мусора и отсутствуют исключения из-за нехватки памяти
ATTENTION! YOUR APPLICATION WILL BE REJECTED IF IT:
— Does not compile
— Does not contain unit tests
— Unit tests are failing
Выполнение
В общем задание требует порядочно времени, которое вы потратите впустую:). Можно нормально сделать, только если вы будете все три дня полный рабочий день заниматься этим.
У меня получилось следующее:
Я воссоздал обычную структуры Spring приложения. Возможно, стоило воспользоваться Spring Roo и сэкономить немного времени, но я в принципе и без него довольно быстро создаю структуру. Общается клиентская и серверная часть с помощью Spring HTTP Invoker. Используется Hibernate, MySQL и т. д.
Они там запрашивают видео работы, документацию и прочее. У меня особо времени создавать документацию и видео не осталось, поэтому не столь подробное было. Но было.
Особо здесь расписывать не буду.
Архив, который я им отправил:
(Название файла было не таким, как здесь. Всё было в соответствии с их правилами, но на этот сайт я стараюсь не выкладывать файлы с различным регистром букв, пробелами и прочими вещами. Таков мой стандарт.)
Их ответ
Dear Urvanov,
Thank you for taking the time to apply for the Java Software Engineer position at Crossover.
The application process has been extremely competitive, and we greatly appreciate your contribution to that competition. After carefully considering your application, we are sorry to inform you that your Project Evaluation did not score high enough to proceed. You can see our evaluator’s comments at the end of this email.
Although we are unable to continue with your application, we want to thank your for your interest in Crossover and for the valuable time and effort you have invested in this process.
We wish you the best in your professional endeavors!
Here are some good points in your submission:
— Readme with instructions
— Demo show all features
— Script for database creation
— Application compiles and run without problems
— Code well organized with good separation between server and client code
— Minimal static code analisys issues
— Good modularity
— Application layered
— Have dependency injection
— All unit tests passing (with mocks and average coverage)
— Some level of patterns usage
— Good level of code abstractions usageWe have found some issues with your application:
— Important requirement missing: Web service integration
— Design document missing information about architecture and high-level decisions
— Design document with few diagrams
— Demo without voice
— Poor exception handling
— Minimal code comments/docs
— Server validation incompleteThese have affected negatively your overall score.
Thank you,
The Crossover Team
В начале пара стандартных абзацев, из шаблона письма, видимо. Потом плюсы и минусы. Большая часть получена анализатором кода, похоже. В принципе, я знаю, что у меня мало документации и описания. Времени просто не хватило. Были и другие дела, однако. А вот с отсутствием веб-сервиса я не согласен. Spring HTTP Invoker — это тоже веб-сервис. Или в их понимании веб-сервисом можно назвать только SOAP и REST?
Результат тестового задания: куча потерянного времени и никаких плюсов, однако.
Сама фирма мне не очень нравилась с самого начала. Слишком мутное описание вакансии. Я обычно такие отфильтровывал. А судя по отзывам в интернете они заставляют устанавливать на свой компьютер специальное приложение для слежения, которое в любой момент может использовать камеру, записывать нажатия клавиш, движения мышки и делать скриншоты. Это означает, что для работы с ними вам нужен будет отдельный физический компьютер и отдельный уголок комнаты, чтобы в их данные не попали ваши фотографии в труселях и без, пароли от банков, соцсетей, блогов, хостингов и почты. Источники: раз, два. Люди там пишут, что в туалет лучше лишний раз не ходить. Да и вакансии как спам по всем сайтам появляются. Странно это.
Тестовое задание на Java Junior
Подготовительный этап перед «Full Stack: Angular and Spring Boot».
В скобочках указаны номера лекций в разделе.
Вступление (обзор и установка ПО) (1,2,3)
Инверсия управления (4)
Внедрение зависимостей (5)
Область видимости и цикл жизни бина (6)
Конфигурация с помощью аннотаций и Java кода (7,8,9,10)
Spring MVC (11,12,13,14,15,16,17)
Создание приложения с базой данных (28,29,30,31,32,33)
Аспектно-оринтированное программирование (34,35,36,37,38,39,40,41,42,43,44,45)
Spring Security (47,48,49,50,51,52,53,54,55,69)
Spring REST (56,57,58,59,60,61,62)
Spring RESR CRUD Database Real-Time Projec (63,64,65,66,67,68)
Spring BOOT (70,71,72,73,74,75,76,77,78,79,80,81)
Тестовое задание на java по написанию юнит тестов. Нужно ревью — java
Классное задание, где такие дают?
Имхо, сдесь видно несколько компонентов.
Сервер — Склад-Магазин, назовем его GroceryStore
Клиент — PointOfSaleTerminal
GroceryStore, хранит состояние, но т.к. персистентность не нужна, то он по факту хранит только цены и бесконечное число товаров.
PointOfSaleTeminal общается с GroceryStore, путем атомарных операций самого API, scan(x) и calculateTotal()… что должно делать setPricing — не понятно. Для атомарного взаимодействия создадим Session, в перспективе чекаут товаров сессии еще и проверяет наличие товара в самом магазине. (хотя с учетом что это гросери, врядли имея на руках товар скажут “извините этот товар закончился”)
В принципе у GroceryStore может быть несколько терминалов. (иметь магазин с одной кассой не очень удобно)
дальше пишем тесты (ну или наоборот TDD, ATDD все дела):
P.S. Я не понял зачем вы конвертируете дабл в стринг, это может быть не безопасно и под некоторыми локалями ваш тест просто упадет.
P.P.S Пересмотрел ответ, прошу прощение за scala (jvm быстрее мне на нем на бросать), все мэпится на чистую java. Для облегчения чтения val — константы; типизация есть — просто не нужно явно везде писать; object — это встроенная нотация для синглтона; return неявно есть везде, возвращает последнее выражаение. Тесты по факту создают абстрактные классы, и вызов происходи в “конструкторе” (частый прием для скалы).
Где я могу найти java-задания / проекты для проверки знаний
Переполнение стека
Общественные вопросы и ответы
Переполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегами
Вакансии
Программирование и связанные с ним технические возможности карьерного роста
Талант
Нанимайте технических специалистов и создавайте свой бренд работодателя
Реклама
Обратитесь к разработчикам и технологам со всего мира
на Java — манекены
Оператор присваивания в Java использует оператор присваивания (=) для выражение в переменную. В простейшей форме вы кодируете это так:
Оператор составного присваивания — это оператор, который одновременно выполняет вычисление и присваивание.Все бинарные арифметические операторы Java (то есть те, которые работают с двумя операндами) имеют эквивалентные составные операторы присваивания:
| Оператор | Описание |
|---|---|
| + = | Дополнение и переуступка |
| — = | Вычитание и присвоение |
| * = | Умножение и присваивание |
| / = | Отдел и назначение |
| % = | Остаток и уступка |
Технически присваивание — это выражение, а не инструкция.Таким образом, a = 5 — это выражение присваивания, а не оператор присваивания. Он становится оператором присваивания только тогда, когда вы добавляете точку с запятой в конце.
Выражение присваивания имеет возвращаемое значение, как и любое другое выражение; возвращаемое значение — это значение, присвоенное переменной. Например, возвращаемое значение выражения a = 5 равно 5. Это позволяет вам создавать некоторые интересные, но нецелесообразные выражения, используя выражения присваивания в середине других выражений.Например:
Использование операторов присваивания в середине выражения может затруднить понимание выражения, поэтому не рекомендуется.
Об авторе книги
Дуг Лоу начал писать книги по программированию еще до того, как была изобретена Java. Он является автором бестселлеров более 30 книг для чайников, в том числе Java All-in-One For Dummies .
Как тестировать приложения JAVA (с примерами тестовых случаев для различных типов тестирования)
В этом руководстве мы изучим компоненты, задействованные в приложении Java, и различные типы тестирования, которые необходимо провести для обеспечения высокого качества, безошибочное приложение.
Это серия из трех частей серии по тестированию приложений JAVA.
Давайте начнем с обзора приложений J2EE
Веб-приложение Java состоит из нескольких компонентов, каждый из которых служит важной цели. MVC, что означает Model View Controller, является наиболее популярным и часто используемым шаблоном архитектурного проектирования.
Прежде чем научиться тестировать, давайте кратко рассмотрим различные компоненты приложения J2EE.
Обратите внимание, что не все веб-приложения следуют JSP -> Сервлет -> EJB -> Модель базы данных .Большинство приложений J2EE в настоящее время написано с использованием таких фреймворков, как Struts, Spring или Hibernate. Дизайн приложений варьируется для каждого требования в зависимости от размера приложения, стоимости, времени разработки, ресурсов и размера команды.
Тестирование приложения JAVA / J2EE
Теперь перейдем к тестированию всего приложения J2EE. Это делается в несколько этапов. Например, предположим, что у нас есть трех экранов:
Пользовательский интерфейс (пользовательский интерфейс) для этих трех экранов разработан с помощью JSP / HTML, а проверки выполняются с помощью JavaScript. Поскольку это пример приложения, логика находится в сервлете и DAO (объекте доступа к данным). DAO — это класс для подключения к базе данных.
Ниже приведены примеры экранов:
Ручное тестирование приложений Java:
Во время ручного тестирования JAVA тестировщик готовит тестовые примеры из подробного проектного документа и пытается охватить каждый сценарий и фрагмент кода возможное.
# 1) ТЕСТИРОВАНИЕ БЛОКА JAVA
Модульное тестирование — это тип тестирования, при котором пользователю необходимо проверить наименьший из фрагментов кода на точность, правильность и соответствие требованиям.
Давайте рассмотрим пример экрана входа в систему. Экран входа в систему имеет два текстовых поля: имя пользователя и пароль, а также две кнопки: отправить и отменить.
Тестовые примеры должны охватывать все циклы и условные операторы. Тестовые примеры должны отображать ожидаемые результаты и тестовые данные.Ниже приведены некоторые из общих тестовых примеров, которые пользователь может выполнить вручную на экране входа в систему. Затем результаты записываются в документ тестового примера.
Ниже приведен пример формата тестового примера для экрана входа в систему.
В то время как в таблице перечислены некоторые из тестовых случаев, ниже представлен полный список:
После прохождения тестовых примеров вы можете понять, что вы в основном имеете дело с тестированием полей, кнопок, функциональности и проверкой конкретного экрана.Это верно, поскольку модульное тестирование очень внимательно относится к тестированию каждого небольшого фрагмента кода и компонента. Для всех экранов необходимо проводить тестирование одного и того же типа.
Обратите внимание, что приведенное выше является только примерами, а тестовые примеры подготовлены на основе детального проектного документа для конкретного проекта.
Читайте также => Образцы готовых к использованию тестовых случаев и тестовых сценариев для тестирования веб-приложений.
# 2) ТЕСТИРОВАНИЕ ИНТЕГРАЦИИ
При тестировании интеграции отдельные модули интегрируются и тестируются вместе на правильность.
Пусть каждый из трех экранов в приведенном выше примере разрабатывается тремя разными членами команды. Теперь, когда они закончили модульное тестирование, пришло время собрать весь код вместе и проверить, хорошо ли они работают вместе. Интеграционное тестирование выполняется, чтобы убедиться, что данные или управление правильно передаются с одного экрана на другой.
Вот несколько примеров тестовых случаев интеграции для примера приложения Employee:
Кроме того, общие тестовые примеры интеграции для приложения J2EE могут быть такими:
# 3) СИСТЕМА ТЕСТИРОВАНИЕ
При тестировании системы все приложение проверяется на функциональность и полноту в соответствии с требованиями. Вероятно, было бы проще спросить, когда выполняется модульное тестирование каждого компонента, а компоненты кода также объединяются и тестируются вместе во время интеграционного тестирования, что может отличаться в тестировании системы? Не будет ошибкой сказать, что идея системного тестирования состоит в том, чтобы сломать приложение
Сценарий № 1: Вы разрабатываете новое приложение для сотрудников с помощью фреймворка; например, Struts.Есть также несколько других приложений, работающих на разных серверах в вашей организации. Однако все они вызывают одну и ту же существующую веб-службу для получения адреса и номера телефона любого конкретного человека.
Во время интеграционного тестирования вы бы проверили, может ли ваше приложение выполнять вызов веб-службы и получать ли вы ответ. Но что, если проблема связана с самой веб-службой? Или веб-сервис не реагирует на некоторые редкие входные данные? Веб-служба в нашем случае может принимать только номер сотрудника длиной не более 6 символов.Или веб-служба выдает исключения для определенных форматов адреса при возврате. Это внешнее, но также часть системного тестирования.
Сценарий № 2 : Ваше заявление сотрудника заполнено. Вы добавляете сотрудника, и он генерирует номер сотрудника # 1001. Вы изменяете, удаляете, обновляете, добавляете, изменяете, удаляете, добавляете, добавляете, добавляете, изменяете, удаляете и, наконец, добавляете еще один. Что делать, если номер нового сотрудника снова # 1001?
Сценарий № 3 : Предположим, что два пользователя используют приложение одновременно.Оба они начинают работать с одним и тем же сотрудником, один удаляет. Что, если другой пользователь сможет продолжить изменение тех же сотрудников, которые хранятся в сеансе?
Ниже приведены некоторые важные аспекты тестирования системы:
# 4) ТЕСТИРОВАНИЕ ПРОИЗВОДИТЕЛЬНОСТИ
Этот тип тестирования выполняется, когда большое количество пользователей будет использовать приложение или большой объем данных в базе данных, или и то, и другое. Ниже приведены некоторые из случаев:
Заключение
В этой статье мы рассмотрели обзор приложения J2EE.Мы также увидели, как вручную выполнить модульное, интеграционное, функциональное и системное тестирование для каждого из компонентов приложения на примере.
В следующей статье мы увидим, как автоматическое тестирование может быть полезно для больших приложений J2EE.
Об авторе: Это гостевая статья Падмавати С. Обладая более чем 7-летним опытом тестирования программного обеспечения, она имеет обширный опыт тестирования Java, J2EE, MVC и фреймворка Struts.
Сообщите нам, если вы работаете над тестированием приложений JAVA. Поделитесь своим опытом и вопросами в комментариях ниже.
PREV Tutorial | СЛЕДУЮЩИЙ Учебник
— Как протестировать метод печати в Java с помощью Junit
Переполнение стека
Общественные вопросы и ответы
Переполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегами
Вакансии
Программирование и связанные с ним технические возможности карьерного роста
Талант
Нанимайте технических специалистов и создавайте свой бренд работодателя
Программирование на Java
Сертификат появляется в профиле ресурса INTUIT, и Вы можете заказать его бумажную версию на сайте INTUIT.

Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!
Что означает термин «строгая типизация»?
переменная связывается с типом в момент присваивания значения, а не в момент объявления переменной
переменная связывается с типом в момент объявления и тип не может быть изменён позже
тип переменной может изменяться в процессе работы программы
переменная имеет тип, известный уже на момент компиляции
ничего из перечисленного
Какое утверждение относительно языка Java верно?
он является только компилируемым
он является только интерпретируемым
он является и компилируемым, и интерпретируемым
ни одно из перечисленных
Какие утверждения относительно языка Java верны:
язык Java является объектно-ориентированным
Java является расширением HTML
язык Java является кроссплатформенным
синтаксис языка Java не похож на синтаксис языка C
язык Java имеет открытую спецификацию
Отметьте верное утверждение относительно языков Java и JavaScript:
оба языка кроссплатформенны
их спецификации являются закрытыми
JavaScript является синонимом Java
Какое из следующих утверждений верно?
в Java можно использовать множественное наследование реализаций
в Java можно создавать многопоточные приложения
в Java можно вручную освобождать память, выделенную под объекты
ничего из перечисленного
Какие из следующих утверждений верны?
в Java существует всего 8 типов данных, которые не являются объектами
в Java все типы данных являются объектами
простые типы могут быть объектами
ссылочные типы могут быть объектами
примитивные типы являются аналогом ссылочных типов
Какие из следующих утверждений верны?
язык Java обладает встроенной и прозрачной моделью безопасности
язык Java не является объектно-ориентированным
язык Java прост в освоении
язык Java ориентирован на сетевые распределенные приложения
язык Java не является переносимым
Виртуальная машина Java (Java Virtual Machine) это —
специальная операционная система
единая среда исполнения для Java-приложений, которая пишется специально для каждой реальной платформы
библиотека, предоставляющая единый API для разных платформ
ничего из перечисленного
Какие утверждения относительно виртуальной машины Java (Java Virtual Machine) верны?
позволяет отсекать опасный код на каждом этапе работы
периодически запускает сборщик мусора
для запуска приложения на языке Java на какой-либо операционной системе, для нее должна быть создана виртуальная машина
поддерживает запуск приложений из файлов с расширением .java
Какие утверждения относительно компилятора JIT (Just in Time) верны?
он транслирует байт-код программы в «родной» код операционной системы
увеличивает время запуска
замедляет выполнение программы
может быть отключен
Какие утверждения относительно Java Development Kit (JDK) и Java Runtime Environment (JRE) верны?
JRE включает в себя средства разработки
JDK включает в себя компилятор
JDK не позволяет запускать программы
JRE является минимальной реализацией виртуальной машины
JRE включает в себя JDK
Что означает выражение deprecated?
используемые функции устарели, но поддерживаются в целях совместимости
используемые функции работают неэффективно
используемые функции не поддерживаются
используемые функции работают неправильно
Какие из перечисленных свойств являются общими для программ, написанных на C++ и Java?
поддерживают обращения к физической памяти
компилируются в машинные коды
имеют схожий синтаксис
являются процедурными
На какие направления разделяется платформа Java 2?
Standard Edition
Extended Edition
Enterprise Edition
Micro Edition
Minimal Edition
Какие меры позволяют Java обеспечивать безопасность?
правила работы с памятью
наличие виртуальной машины-интерпретатора
наличие JIT-компилятора
сертификаты для приложений, загружаемых по сети
Какие меры позволяют Java обеспечивать безопасность?
наличие сборщика мусора
сертификаты для приложений, загружаемых по сети
наличие JIT-компилятора
политики (policy) и разрешения (permission)
встроенные ограничения в стандартных библиотеках
Какие меры позволяют Java обеспечивать безопасность?
наличие выражения deprecated
сертификаты для приложений, загружаемых по сети
политики (policy) и разрешения (permission)
наличие JIT-компилятора
Какое утверждение относительно автоматического сборщика мусора (garbage collector) верно?
позволяет управлять выделением памяти
является отдельным приложением
удаляет объекты, когда не остается ни одной ссылки на них
ничего из перечисленного
Автоматический сборщик мусора (garbage collector) в Java – это механизм, который:
удаляет объекты, когда заканчивается доступная оперативная память
удаляет объекты, когда не остается ни одной ссылки на них
удаляет объекты, которые давно не используются
удаляет объекты, которые программист помечает для удаления
Какие утверждения относительно автоматического сборщика мусора (garbage collector) верны?
это отдельное приложение, запускаемое виртуальной машиной
это процесс, периодически запускаемый виртуальной машиной
можно напрямую влиять на алгоритм сборки мусора из программы
можно инициировать проход сборщика мусора из программы
Что из перечисленного является преимуществом ООП?
обеспечение возможности модификации отдельных компонентов программного обеспечения без изменения остальных его компонентов
обеспечение возможности создавать не зависящие от платформы программы
повышение скорости выполнения программ
обеспечение возможности повторного использования отдельных компонентов программного обеспечения
Почему объектно-ориентированное программирование пришло на смену процедурному программированию?
программы, написанные с использованием ООП, выполняются на компьютере быстрее
использование ООП позволяет создавать не зависящие от платформы программы
ООП позволяет уменьшить сложность создания ПО
ООП позволяет увеличить надежность создаваемого ПО
Что из перечисленного является недостатком ООП?
неэффективность в смысле распределения памяти
унификация программ за счет стандартных компонентов
излишняя универсальность
неэффективность в смысле модификации отдельных компонентов
Какая из приведенных ниже UML-диаграмм является правильной диаграммой наследования?
Какие утверждения относительно поведения объекта верны?
это то, что отличает объект от других объектов
это действия и реакции объекта
не влияет на состояние объекта
это видимая извне и воспроизводимая активность объекта
Что такое класс?
семантическая и синтаксическая конструкция в коде программы, используемая для специфицирования услуг, предоставляемых объектом
конструкция , позволяющая содержать в себе набор переменных различных типов
некоторая сущность в виртуальном пространстве, обладающая определённым состоянием и поведением
шаблон поведения объектов определенного типа с заданными параметрами, определяющими состояние
Какие утверждения относительно объектов верны?
объект — это понятие, абстракция или любой предмет с четко очерченными границами
объекты могут быть неуникальными
объект имеет определенное время жизни
объект имеет состояние
объекты можно создавать, но нельзя уничтожить
Какие утверждения относительно состояния объекта верны?
состояние объекта всегда постоянно
это совокупный результат поведения объекта
в любой момент времени включает в себя значения свойств объекта
не зависит от свойств объекта
Что используется для описания поведения объекта?
Зачем нужен полиморфизм?
полиморфизм используется для написания общего кода, который будет одинаково работать с разными типами данных (объектами разных классов), при условии, что классы, от которых созданы эти объекты, имеют общего предка
полиморфизм позволяет создавать в одном классе несколько переменных с одинаковыми именами, но с разным типами данных
полиморфизм необходим в любой программе, использующей ООП. Без него невозможно написать программу на объектно-ориентированном языке программирования
без полиморфизма нельзя реализовать инкапсуляцию
Какое утверждение относительно полиморфизма верно?
позволяет скрывать реализацию класса
используется для написания общего кода, который будет одинаково работать с разными типами данных (объектами разных классов), при условии, что классы, от которых созданы эти объекты, имеют общего предка
позволяет отделять внутреннее представление класса от внешнего
Что такое агрегация?
отношение между классами типа «реализует»
отношение между классами типа «наследует»
отношение между классами типа «содержит»
отношение между классами типа «является»
Какие возможны отношения между классами?
агрегация
Какие отношения невозможны между классами?
Какие утверждения относительно наследования верны?
позволяет отделять внутреннее представление класса от внешнего
позволяет скрывать реализацию класса
может быть множественным
способствует уменьшению количества кода, созданного для описания схожих сущностей
Множественным наследованием называют:
ситуацию, когда у некоторого класса есть более чем один непосредственный наследник
наследование, в котором участвует множество классов (более двух)
отношение наследования, когда некоторый класс наследует свойства и методы сразу нескольких классов
отношение наследования, когда класс-наследник также имеет наследников
Наследование это:
сокрытие реализации класса и отделение его внутреннего представления от внешнего (интерфейса)
отношение между классами, при котором класс использует структуру или поведение другого класса
возможность объектов с одинаковой спецификацией иметь различную реализацию
ничего из перечисленного
Какие преимущества дает обеспечение доступа к свойствам класса только через его методы?
можно контролировать корректные значения полей класса
способствует уменьшению количества кода, созданного для описания схожих сущностей
можно изменить способ хранения данных
программный код, написанный с использованием данного принципа, легче отлаживать
облегчает реализацию полиморфизма
Какие утверждения относительно инкапсуляции верны?
позволяет контролировать корректные значения полей класса
способствует уменьшению количества кода, созданного для описания схожих сущностей
позволяет скрывать реализацию класса
позволяет изменять способ хранения данных
позволяет объектам с одинаковой спецификацией иметь различную реализацию
Инкапсуляция это:
объединение данных и обрабатывающего их программного кода в одной логической структуре (классе)
сокрытие реализации класса и отделение его внутреннего представления от внешнего
одно из базовых понятий ООП, которое позволяет расширять функциональность программы, не расширяя объектную модель этой программы
возможность объектов с одинаковой спецификацией иметь различную реализацию
отделение внутреннего представления класса от внешнего
Метакласс это:
базовый класс в дереве наследования. Все потомки этого класса расширяют или замещают его функциональность
некоторый шаблон, который описывает свойства и поведение класса, подобно тому, как класс описывает свойства и поведение объекта
класс, от которого наследуются все классы в дереве наследования. Любой из классов в программе обязательно является наследником этого класса (пример java.lang.Object)
некоторый шаблон, который описывает поведение класса, но не описывает его свойства
Какие утверждения относительно метакласса верны?
можно создавать собственные метаклассы
это шаблон, задающий различные классы
в Java есть метакласс Class
в Java есть метакласс Meta
без метакласса нельзя реализовать наследование
Какой класс в Java является метаклассом?
Meta
Class
Metaclass
Super
в Java нет метакласса
Сколько комментариев в следующем примере кода:
int x = 0; /* text // text /*
int y=1; // text */ // text */
1 блочный, 0 строчных
1 блочный, 1 строчный
1 блочный, 2 строчных
2 блочных, 3 строчных
Как записать в Java-программе символ с кодом546 (код символа десятичный)?
Какие утверждения относительно кодировки Unicode верны?
представляет символы кодом из 2 байт
является синонимом кодировки ASCII
представляет символы кодом из 1 байта
значение \u1B05 является допустимым значением Unicode
значение ‘ub105’ является допустимым значением Unicode
Какой из вариантов является блочным комментарием?
// комментарий
/* комментарий */
/** комментарий */
//* комментарий
/* коментарий 1
коментарий 2 */
Какие из вариантов являются строчными комментариями?
/* комментарий
//* комментарий */
// комментарий
/** комментарий */
Какой из вариантов является строчным комментарием?
// комментарий
/* комментарий
/* комментарий */
/** комментарий */
ни один из перечисленных
Укажите варианты кода, которые будут скомпилированы без ошибок
circle.get/*комментарий*/Radius();
circle./*комментарий*/getRadius();
int/*комментарий*/x=1;
in/*комментарий*/t x=1;
int x/*комментарий*/=1;
Сколько комментариев в следующем примере кода:
int x = 0; /* комментарий // комментарий */
String s = «text/*комментарий*/»;
1 блочный, 0 строчных
1 блочный, 1 строчный
1 блочный, 2 строчных
2 блочных, 0 строчных
2 блочных, 1 строчный
Сколько комментариев в следующем примере кода:
int x = 0; /* комментарий // комментарий /*
int y = 1; // комментарий */ // комментарий */
1 блочный, 0 строчных
1 блочный, 1 строчный
1 блочный, 2 строчных
2 блочных, 3 строчных
2 блочных, 1 строчный
Отметьте символьные литералы языка Java:
Отметьте дробные литералы языка Java:
Отметьте целочисленные литералы языка Java:
Отметьте строковые литералы языка Java:
Какие операторы есть в языке Java:
Какие операторы есть в языке Java:
Какие из перечисленных идентификаторов являются корректными?
_
3
const
temp
_do
Какие из перечисленных идентификаторов являются корректными?
Какие из перечисленных идентификаторов являются корректными?
Какой вариант кода выведет на экран значение true?
int x=0;
System.out.println(++x==++x);
int x=0;
System.out.println(++x==x);
int x=0;
System.out.println(x==x++);
int x=0;
System.out.println(x++==x++);
int x=0;
System.out.println(x++==++x);
Каким будет результат следующих действий?
System.out.println(1/0);
System.out.println(/0);
System.out.println(1/0.);
System.out.println(/0.);
System.out.println(‘\n’+’\r’);
все 4 операции деления вызовут ошибку деления на 0, сложение даст «\n\r»
результатом всех 4 операций деления будетPOSITIVE_INFINITY, сложение даст ‘\n\r’
операция 1/0 приведет к арифметической ошибке;следующие 3 операции будут иметь результат POSITIVE_INFINITYпоследнее сложение даст 23
операция 1/0 приведет к арифметической ошибке;следующие 3 операции будут иметь результат POSITIVE_INFINITYпоследнее сложение даст ‘\n\r’
Какие варианты объявления дробной переменной верны (никакие переменные предварительно не объявлены)?
float a;
float a = «4»;
float a = 5, b = a;
float a = b = 5;
Какие варианты объявления целочисленной переменной верны (никакие переменные предварительно не объявлены)?
int a = b
int a;
int a = 5;
int a = b = 5;
int a = 5, b = a;
Какие варианты объявления булевой переменной верны (никакие переменные предварительно не объявлены)?
boolean a;
boolean a = ‘5’;
boolean a = true;
boolean a = 5;
boolean a = (5==6);
Укажите результат выполнения следующего фрагмента кода:
int a = 5;
int b = 6;
++a = b++;
System.out.println(a);
5
6
7
будет выдано сообщение об ошибке
ничего из перечисленного
Укажите результат выполнения следующего фрагмента кода:
int a = 5, b = 6;
a = b++;
System.out.println(a);
5
6
7
будет выдано сообщение об ошибке
ничего из перечисленного
Укажите результат выполнения следующего фрагмента кода:
int a = 5, b = 6;
a = b++;
System.out.println(++a == b++);
true
false
будет выдано сообщение об ошибке
ничего из перечисленного
Дан следующий класс:
class abc.Point <
abc.Point(int a, int b) <
x = a;
y = b;
>
int x, y;
.
>
Укажите результат выполнения следующего фрагмента кода:
abc.Point p = new abc.Point(5,3), p1 = p;
System.out.println(p1 == p);
true
false
будет выдано сообщение об ошибке
ничего из перечисленного
Дан следующий класс:
class abc.Point <
abc.Point(int a, int b) <
x = a;
y = b;
>
int x, y;
.
>
Укажите результат выполнения следующего фрагмента кода:
abc.Point p = new abc.Point(5,3), p1;
System.out.println(p1 == p);
true
false
будет выдано сообщение об ошибке
ничего из перечисленного
Дан следующий класс:
class abc.Point <
abc.Point(int a, int b) <
x = a;
y = b;
>
int x, y;
.
>
Укажите результат выполнения следующего фрагмента кода:
abc.Point p = new abc.Point(5,3), p1 = p;
p.x = 4;
System.out.println(px);
3
4
5
будет выдано сообщение об ошибке
ничего из перечисленного
Какие существуют примитивные целочисленные типы?
byte
float
char
short
boolean
Какие значения может принимать переменная булева типа?
Какие существуют примитивные дробные типы?
Какой тип должна иметь переменная d в следующем фрагменте:
int a = 1;
short b = 1;
long c = 1;
? d = a + b;
Какой тип должна иметь переменная d в следующем фрагменте:
int a = 1;
short b = 1;
long c = 1;
? d = a + b + c;
Какой тип должна иметь переменная d в следующем фрагменте:
int a = 1;
short b = 1;
long c = 1;
c = (d = a + c) ? a : b;
Дан следующий класс:
class abc.Point <
abc.Point(int a, int b) <
x = a;
y = b;
>
int x, y;
.
>
Укажите результат выполнения следующего фрагмента кода:
abc.Point p = new abc.Point(5,3), p1;
p1 = p;
p = null;
System.out.println(p.x);
3
4
5
будет выдано сообщение об ошибке
ничего из перечисленного
Дан следующий класс:
class abc.Point <
abc.Point(int a, int b) <
x = a;
y = b;
>
int x, y;
.
>
Укажите результат выполнения следующего фрагмента кода:
abc.Point p = new abc.Point(5,3), p1;
p1 = p;
p = null;
System.out.println(px);
3
4
5
будет выдано сообщение об ошибке
ничего из перечисленного
Дан следующий класс:
class abc.Point <
abc.Point(int a, int b) <
x = a;
y = b;
>
int x, y;
.
>
Каков будет результат следующего примера?
abc.Point p1 = new abc.Point(3, 4);
abc.Point p2 = p1;
px = 5;
p1 = new abc.Point(4, 4);
System.out.print(px — px);
-1
0
1
будет выдано сообщение об ошибке
ничего из перечисленного
Даны следующие классы:
class abc.SomeClass <>
class abc.SomeClass2 extends abc.SomeClass <>
Что будет выведено на экран в следующем фрагменте кода:
abc.SomeClass x1 = new abc.SomeClass();
abc.SomeClass2 x2 = new abc.SomeClass2();
System.out.println((x1 instanceof abc.SomeClass) + » » + (x2 instanceof abc.SomeClass));
false false
true false
true true
false true
Даны следующие классы:
class SomeClass <>
class SomeClass2 extends abc.SomeClass <>
Что будет выведено на экран в следующем фрагменте кода:
SomeClass x1 = new SomeClass();
SomeClass2 x2 = new SomeClass2();
System.out.println((x1 instanceof SomeClass2) + » » + (x2 instanceof SomeClass2));
false false
true false
true true
false true
Даны следующие классы:
class abc.SomeClass <>
class abc.SomeClass2 extends abc.SomeClass <>
Что будет выведено на экран в следующем фрагменте кода:
abc.SomeClass x1 = new abc.SomeClass();
abc.SomeClass2 x2 = new abc.SomeClass2();
System.out.println((x1 instanceof abc.SomeClass) + » » + (x2 instanceof abc.SomeClass2));
false false
true true
true false
false true
Какие утверждения относительно метода public boolean equals(Object obj) класса java.lang.Object верны
не может быть переопределен
в классе java.lang.Object метод public boolean equals(Object obj) возвращает результат сравнения по ссылке
может быть переопределен для сравнения по значению
всегда возвращает результат сравнения по ссылке
Какие утверждения относительно класса java.lang.String верны
породив объект, содержащий некое значение-строку, мы можем изменить данное значение
строковый литерал имеет примитивный тип
экземпляры только этого класса можно создавать без использования ключевого слова new
это единственный класс, который не наследует классу java.lang.Object
каждый строковый литерал порождает экземпляр java.lang.String
Какие утверждения относительно класса java.lang.Object верны
у этого класса нет суперкласса
нельзя явно наследовать этот класс
у этого класса нет полей
любой класс напрямую, или через своих родителей, является наследником Object
нельзя явно переопределять методы этого класса
Какое из перечисленных ниже имен является простым?
Какое из перечисленных ниже имен является составным?
Какое из перечисленных ниже имен является простым?
MyClass
MyClass.name
MyClass.name.toString()
MyClass.name.toString().hashCode()
ни один из перечисленных
Какие утверждения относительно пакетов в Java верны?
разные пакеты могут разделять одно пространство имен
пакет может содержать интерфейс и класс с одинаковыми именами
пакеты, вложенные в один и тот же пакет, не имеют никаких дополнительных связей между собой
пакеты, вложенные в один и тот же пакет, имеют дополнительные связи между собой
Какие утверждения относительно пакетов в Java верны?
элементами пакета являются вложенные пакеты и типы
пакет может включать вложенные пакеты
пакет, содержащий класс, не может содержать вложенные пакеты
пакет, содержащий вложенный пакет, не может содержать интерфейсы
каждый пакет имеет свое пространство имен
Какие утверждения относительно пакетов в Java верны?
каждый пакет может включать вложенные пакеты
пакет, содержащий вложенный пакет, не может содержать классы
пакеты могут содержать классы и интерфейсы
каждый пакет имеет свое пространство имен
разные пакеты могут разделять одно пространство имен
Вы создали класс Animal в пакете ru.animal. Где будет хранится бинарный код класса в файловой системе?
Вы создали класс Animal в пакете ru.animal. Где будет храниться исходный код класса в файловой системе?
Вы создали класс Animal в пакете ru.animal. Где будет хранится исходный код класса в файловой системе?
Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!
Какие утверждения относительно модуля компиляции верны?
в модуле компиляции должно быть хотя бы одно import-выражение
объявления верхнего уровня содержат объявления одного или нескольких типов
объявление пакета записывается с помощью ключевого слова package
если в модуле компиляции есть объявление пакета и import-выражения — import-выражения будут идти после объявления пакета
Какие утверждения относительно модуля компиляции верны?
хранится в текстовом .java-файле
отсутствие объявления пакета в модуле компиляции вызовет ошибку компиляции
объявления верхнего уровня содержат объявление только одного типа
если в модуле компиляции есть объявление пакета — оно будет первым выражением
import-выражения позволяют импортировать типы в модуль компиляции и далее обращаться к ним по простым именам
Какие утверждения относительно модуля компиляции верны?
import-выражения необязательны
если объявление пакета отсутствует, то модуль компиляции будет принадлежать безымянному пакету
хранится в текстовом .class-файле
в модуле компиляции может быть больше одного объявления пакета
объявления верхнего уровня позволяют обращаться к типам из других пакетов по их простым именам
Какие утверждения относительно импорт-выражений верны?
выражение, позволяющее импортировать пакет целиком имеет вид import <полное имя пакета>;
выражение, импортирующее один тип, записывается с помощью ключевого слова import и простого имени типа
можно импортировать один тип
если тип явно импортирован, то невозможно ни объявление нового типа с таким же именем, ни доступ по простому имени к одноименному типу в текущем пакете
import-выражения не позволяют импортировать типы в модуль компиляции и далее обращаться к ним по простым именам
Какие утверждения относительно импорт-выражений верны?
позволяют импортировать типы в модуль компиляции
можно импортировать один тип
нельзя импортировать пакет целиком
выражение, импортирующее один тип, записывается с помощью ключевого слова import и полного имени типа
import-выражения обязательно всегда является первым в модуле компиляции
Какие утверждения относительно импорт-выражений верны?
если импортируются типы с одинаковыми простыми именами из разных пакетов, то такая ситуация породит ошибку компиляции
нельзя импортировать один тип
объявления верхнего уровня содержат объявление только одного типа
можно импортировать пакет целиком
выражение, позволяющее импортировать пакет целиком имеет вид import <полное имя пакета>.*;
Ниже приведено несколько вариантов записи модуля компиляции. Какой из них корректен, если предполагается описать класс abc.Point из пакета test.demo, причем класс активно использует классы ru.additional.abc.Pointи несколько классов из пакета java.net?
package test.demo;
import java.net.*;
import ru.additional.abc.Point;
package test.demo;
import java.net.*;
import ru.additional.abc.*;
package test.demo;
import ru.additional.abc.Point;
import java.net;
package test.demo.*;
import java.net.*;
import ru.additional.abc.Point;
ни один из перечисленных
Ниже приведено несколько вариантов записи модуля компиляции. Какой из них корректен, если предполагается описать класс abc.Point из пакета test.demo, причем класс активно использует классы ru.additional.abcи несколько классов из пакета java.net?
package test.demo.*;
import java.net.*;
import ru.additional.abc.*;
package test.demo;
import java.net;
import ru.additional.abc.*;
package test.demo;
import java.net.*;
import ru.additional.abc.Point;
package test.demo;
import java.net.*;
import ru.additional.abc.*;
ни один из перечисленных
Ниже приведено несколько вариантов записи модуля компиляции. Какой из них корректен, если предполагается описать класс ABCPoint из пакета test.demo, причем класс активно использует класс Ru.Additional.ABCPointи несколько классов из пакета java.net?
package test.demo;
import ru.additional.abc.Point;
import java.net.*;
import ru.additional.*;
import java.net.*;
package test.demo;
package test.demo;
import java.net;
import ru.additional.abc.Point;
package test.demo.*;
import java.net.*;
import ru.additional.abc.*;
ни один из перечисленных
Корректен ли объявленный ниже класс? Если нет, то как его можно исправить?
class Box <
private int weight=0;
public int getWeight() <
return weight;
>
void setWeight(int weight) <
this.weight=weight;
>
>
пример корректен, ничего исправлять не нужно
пример некорректен, конфликт имен в методе setWeightтребует переименования поля или аргумента
пример корректен, однако конфликт имен в методе setWeightтребует переименования поля или аргумента
пример корректен, однако конфликт имен в методе setWeightтребует переименования поля или аргумента, либо использования ключевого слова this
пример корректен, однако конфликт имен в методе setWeightтребует переименования поля или аргумента, либо использования ключевого слова this или super
Корректен ли объявленный ниже класс? Если нет, то как его можно исправить?
class Box <
private int weight=0;
public int getWeight() <
return weight;
>
void setWeight(int weight) <
weight=weight;
>
>
пример корректен, ничего исправлять не нужно
пример некорректен, конфликт имен в методе setWeightтребует переименования поля или аргумента
пример корректен, однако конфликт имен в методе setWeightтребует переименования поля или аргумента
пример корректен, однако конфликт имен в методе setWeightтребует переименования поля или аргумента, либо использования ключевого слова this
пример корректен, однако конфликт имен в методе setWeightтребует переименования поля или аргумента, либо использования ключевого слова this или super
Что будет выведено на экран в результате выполенения следующего кода?
import java.awt.Point;
public class Obscuring <
static Point Test = new Point(3,2);
public static void main (String s[]) <
System.out.println(Test.x);
>
>
class Test <
static int x = -5;
>
-5
2
3
будет выдано сообщение об ошибке
Какие формальные нарушения соглашений по именованию присутствуют в следующем примере:
public class Flat<
private int floor_number;
private int roomNumber;
public int rooms() <
return roomNumber;
>
public int getFloorNumber() <
return floor_number;
>
>
имя поля roomNumber необходимо заменить на r
класс назван с заглавной буквы, должно быть flat
имя поля floor_numberсодержит два слова, разделенных знаком подчеркивания, должно быть floorNumber
имя метода rooms() необходимо изменить на getRoomNumber()
нет методов, с помощью которых можно изменить значения переменных
Какие формальные нарушения соглашений по именованию присутствуют в следующем примере:
public class flat<
private int floorNumber;
private int roomNumber;
public int rooms() <
return roomNumber;
>
public int GetFloorNumber() <
return floorNumber;
>
>
имя метода rooms() необходимо изменить на getRoomNumber()
имя поля roomNumber необходимо заменить на r
класс назван со строчной буквы, должно быть Flat
нет методов, с помощью которых можно изменить значения переменных
имя метода GetFloorNumber() необходимо изменить на getFloorNumber()
Какие формальные нарушения соглашений по именованию присутствуют в следующем примере:
public class flat<
private int floor_number;
private int r; // количество комнат
public int getR() <
return r;
>
public int getFloorNumber() <
return floor_number;
>
>
класс назван со строчной буквы, должно быть Flat
имя поля floor_numberсодержит два слова, разделенных знаком подчеркивания, должно быть floorNumber
имя поля r состоит из одной буквы, а оно должно быть более понятным, например, rooms или roomsNumber
переменные недостаточно описывают класс
нет методов, с помощью которых можно изменить значения переменных
Какие модификаторы позволяют обращаться к элементу класса из классов-наследников в другом пакете?
Какие модификаторы позволяют обращаться к элементу класса из классов, не являющимися наследниками того же пакета?
Какие модификаторы позволяют обращаться к элементу класса из классов-наследников того же пакета?
Для каких элементов в Java можно указать модификатор доступа?
для конструкторов класса
для элементов ссылочных типов
для пакетов
для типов (классов и интерфейсов) объявления верхнего уровня
Какие модификаторы доступа можно применить для типов объявления верхнего уровня?
Какой модификатор доступа можно применить для пакета?
Какие утверждения относительно заголовка класса верны?
допустимые модификаторы доступа для класса — public или default
класс может быть объявлен как final
допустимо наследовать final-класс
допустима следующая цепочка наследования: A наследует классу B, B наследует классу C, C наследует классу A
если не указан класс-предок класса, то это означает, что класс наследует от java.lang.Object
Какие утверждения относительно полей класса верны?
числовое поле ссылочного типа имеет значение по умолчанию null
идентификатор при объявлении становится составным именем поля
идентификатор поля при объявлении становится простым именем поля
final-поле может быть проинициализировано в конструкторе
поля не могут иметь модификатор доступа protected
Что будет выведено на экран в результате выполнения следующего фрагмента кода:
public class SomeClass <
public static void main(String args[]) <
SomeClass s = new SomeClass();
System.out.println(s.x + «, » + s.y);
>
int getX() <
return x;
>
int y = getX();
int x = 3;
>
3, 3
3, 0
0, 0
сообщение об ошибке компиляции
ничего из перечисленного
Какие утверждения относительно полей класса верны?
допускаются поля с одинаковыми именами, но с разными типами
объявление полей начинается с перечисления модификаторов
поле может быть проинициализировано только в конструкторе
допускается инициализация final полей в конструкторе класса
Укажите правильные варианты объявления метода.
void doSomething(int x, y);
void doSomething(int x, int y);
void doSomething(int x, double y);
void doSomething(int x; double y);
void doSomething(int x; y);
Какие утверждения относительно методов класса верны?
методы не могут иметь модификатор доступа default
к методу, объявленному с модификаторами public final, нельзя обратиться из класса-наследника
метод, объявленный с модификатором native, должен быть написан на другом языке программирования
идентификатор метода при объявлении становится составным именем метода/
метод, объявленный с модификатором final, не может быть переопределен в классе-наследнике
Какие утверждения относительно конструкторов класса верны?
чтобы обратиться к конструктору родительского класса необходимо использовать ключевое слово super
в одном классе допускается любое количество конструкторов, если у них различные сигнатуры
конструктор не может генерировать исключения
выражение super может стоять на любой строке конструктора
если в классе не объявлен ни один конструктор, компилятор добавляет один по умолчанию
Какие утверждения относительно конструкторов класса верны?
конструктор может иметь модификатор доступа final
имя конструктора должно совпадать с названием класса
если конструктор выполнился без ошибок, то объект гарантированно создается
конструктор не может содержать return-выражение
чтобы обратиться к конструктору родительского класса необходимо использовать ключевое слово this
Какие утверждения относительно инициализаторов класса верны?
инициализаторы могут быть унаследованы
если в классе есть несколько инициализаторов, то порядок их вызова не определен
если в классе есть два конструктора и один из них вызывается из второго, то инициализатор будет вызван только один раз
при вызове конструктора сначала выполняется код инициализатора, а потом код конструктора
инициализатор может иметь имя
Какие утверждения относительно инициализаторов класса верны?
инициализаторы не имеют имен
если в классе есть два конструктора и один из них вызывается из второго, то инициализатор будет вызван дважды
при вызове конструктора сначала выполняется код конструктора, а потом код инициализатора
при вызове конструктора сначала выполняется код инициализатора, а потом код конструктора
Укажите правильный вариант объявления метода main — точку входа в программу на языке Java.
public void main(String args[])
public static void main(String args)
public void main(String args)
public static void main(String[] args)
public static void main()
Укажите правильные варианты объявления перегруженных методов.
public int doSomething(int a)
public double doSomething()
public int doSomething(int a)
public double doSomething(int a)
public int doSomething(int a)
private double doSomething(int b)
public int doSomething(int a)
private double doSomething(int a, int b)
Укажите количество преобразований, которые будут сделаны в следующем коде:
long a = 3;
a = 5 + a;
System.out.print(«a a a»;
byte c = (long)50;
Какие из следующих присвоений корректны?
SomeClass c = 1;
Object o = 1;
int i = 1;
String s = 1;
byte b = (byte) 1;
Какие из следующих присвоений корректны?
short s = (short)(2 + 3);
byte b2 = 200;
byte c = (int)150 + ‘a’;
char c = (byte)5 + ‘a’;
byte c = (char)5 + ‘a’;
Вы можете обратится к нам напрямую, через:
По Skype: molodoyberkut
По Telegram: @MolodoyBerkut
По ICQ: 657089516