linkedin-skill-assessments-quizzes

Об’єктно-орієнтоване програмування (ООП)

Q1. Що є прикладом динамічного зв’язування?

Q2. Для якого випадку буде доцільним використання статичного атрибута?

Q3. 1 Навіщо створювати абстрактний клас, якщо він не може мати жодних реальних екземплярів?

Q4. 2 Навіщо створювати абстрактний клас, якщо він не може мати жодних реальних екземплярів?

Q5. Коли відбувається статичне зв’язування?

Q6. Що є найкращою причиною для використання шаблону проектування?

Q7. Що таке інкапсуляція?

Q8. Що таке відносини IS-A?

Q9. Вам потрібен метод з поведінкою, подібною до віртуального методу - очікується, що - він має бути перевизначений та не має тіла методу. Він просто має сигнатуру методу. Який метод слід використовувати?

Q10. Який код створює новий об’єкт з класу Employee?

Q11. Який тип конструктора не може мати return?

Q12. 1 Коли виконується конструктор?

Q13. 2 Коли виконується конструктор?

Q14. Якщо локальний клас визначено у функції, що вірно для об’єкта цього класу?

Q15. Які два блоки використовуються для обробки та перевірки помилок?

Q16. Навіщо реалізовувати композицію, використовуючи ідентифікатор замість посилання?

Q17. Який вислів найкраще описує метод наслідування в ООП?

Q18. Який тип наслідування, якщо воно виконується безперервно, подібний до деревовидної структури?

Q19. Яке твердження вірне?

довідка “Конструктори можуть бути викликані явно або неявно. Метод неявного виклику конструктора також називається скороченим методом.”

Q20. Що з наведеного НЕ є перевагою використання геттерів і сеттерів?

Q21. У контексті ООП, що таке асоціація?

Довідка

Q22. Чим User Stories відрізняються від Use Cases?

Q23. Який тип наслідування слід використовувати, щоб результат був гібридним?

Пояснення:

Довідка

Q24. Мова, яка не підтримує поліморфізм, але підтримує класи, вважається якою?

Довідка

Q25. Два класи поєднують private атрибути і надають public методи для доступу та маніпулювання цими даними. Де використовується абстракція?

Пояснення:

Абстракція в об’єктно-орієнтованому програмуванні означає приховування внутрішніх деталей реалізації і надання тільки необхідного інтерфейсу для взаємодії з об’єктом. В цьому випадку, публічні методи, які забезпечують доступ до приватних атрибутів, є прикладом абстракції, оскільки користувачі класу взаємодіють з даними через ці функції, не маючи доступу до деталей реалізації даних.

Q26. Які п’ять патернів створення з книги “Банда чотирьох(Gang of Four)”?

Q27. У багаторівневому наслідуванні один клас наслідує скільки класів?

Q28. Якщо об’єкт передається за посиланням, зміни, зроблені у функції, розповсюджуються _

Q29. Що таке метод?

Q30. Мобільний телефон складається з компонентів, таких як материнська плата, камера і датчики. Материнська плата представляє всі функції телефону, дисплей показує лише зображення, а телефон представлений як єдине ціле. Який з наведених компонентів має найвищий рівень абстракції?

Q31. Який клас має найвищий рівень абстракції у відносинах багаторівневого наслідування з п’ятьма рівнями?

Q32. Який з наступних варіантів НЕ є базовим типом наслідування?

Q33. Чому дублювання коду є таким підступним?

Q34. Коли і як часто викликається статичний конструктор?

Q35. Що демонструє наведених нижче код і чому?

   static void Multiply(int num1, int num2) {};
   static void Multiply(double num1, double num2, double num3) {};
   static void Multiply(float num1, float num2) {};

Q36. Яка мета використання статичного конструктора?

Q37. Що таке картки CRC?

Довідка

Q38. Чим вміст композиції відрізняється від вмісту агрегації?

Q39. Яке з наступних тверджень про композиції та агрегації є правильним?

Q40. Який результат використання більшого рівня абстракції?

Q41. Що є неправильним щодо член-функцій класу?

Q42. Чому при створенні нового класу використовується наслідування?

Q43. Окрім атрибутів і поведінки, яку якість повинен мати клас?

Q44. Який тип функції серед наведених демонструє поліморфізм?

Q45. Які слова з наведеного списку є кандидатами на об’єкти: trumpet, clean, enrage, leaf, tree, collapse, active, і lively?

Q46. Що найкраще описує те, що робить об’єктно-орієнтоване програмування?

Q47. Чи можуть абстрактні класи використовуватися в багаторівневому наслідуванні?

Q48. Який тип наслідування може призвести до проблеми діаманта?

Q49. Який взаємозв’язок між абстракцією та інкапсуляцією?

Q50. Які з цих ключових слів є специфікаторами доступу?

Q51. Що таке посилання на об’єкт?

Q52. Чому модульне тестування є складнішим в ООП порівняно з функціональним програмуванням?

Q53. Яка функція діаграми випадків використання?

Q54. Чим відрізняються поведінка об’єкта та атрибути?

Q55. Принцип відкритості/закритості стверджує, що класи повинні бути відкритими для _ але закритими для _

Q56. Чому можливо перевизначити метод базового класу?

Q57. Що таке конструктор копіювання?

Q58. Який вираз найбільш точно описує блок catch?

Q59. Є п’ять класів. Клас E успадковується від класу D, D від C, C від B, і B від A. Які конструктори класів будуть викликані першими, якщо створюється об’єкт класу E або D?

Q60. У вас є модулі, що залежать один від одного. Якщо ви змінюєте один модуль, потрібно внести зміни у залежні. Який термін використовується для опису цієї проблеми, і яке можливе рішення?

Q61. _ описує агрегацію

Q62. Який тип функції можна використовувати для поліморфізму?

Q63. Яка перевага використання впровадження залежностей?

Q64. Чи потрібно повертати об’єкт, якщо він був переданий за посиланням у функцію, і чому або чому ні?

Q65. Чому потрібне наслідування?

Q66. Який найкращий приклад відношення суперкласу і підкласу?

Q67. Які твердження найкраще описують шаблони проектування Gang of Four(Банди чотирьох) під назвою Memento та Observer?

Q68. Що вказує значення (0.5,0.5,0.5) у специфікації класової діаграми position: Coordinate = (0.5,0.5,0.5)?

Q69. Який найбільш точний приклад принципу заміщення Ліскова?
public class Car{
}
public class FlyingCars extends Car{
   public void fly(){}
}
public class Tesla FlyingCar{}
public class Honda Car{}
public class Car{
   public void fly(){}
}
public class Tesla extends Car{}
public class Honda extends Car{}
public class Car{
public void fly(){}
}
public class Tesla Car{}
public class Honda Car{}
public class Car{
}
public class FlyingCars extends Car{
   public void fly(){}
}
public class Tesla extends FlyingCar{}
public class Honda extends Car{}

Довідка

Q70. Яка різниця між параметром і аргументом?

Q71. Який обсяг видимості має клас, вкладений всередину іншого класу?

Пояснення: Це залежить від специфікатора доступу та типу наслідування, яке використовується з класом, оскільки якщо клас наслідується, то вкладений клас може бути використаний і підкласом, якщо він не є приватним.

Q72. Методи та атрибути, які визначають об’єкт, є своєрідним шаблоном, як його назва?

Q73. Припустимо, що використовується одиночне наслідування з класами A та B, де A є базовим класом. Потім припустимо, що є класи C, D та E, де C є базовим класом, а D наслідується від C, а E наслідується від D. Клас C робиться успадкованим від класу B. Який тип наслідування відображено?

Q74. Яка основна ідея розділення проблем?

Q75. Яка мета блоку finally?

Q76. Який з варіантів не є мовою ООП?

Q77. Яка функція фіналізатора або деструктора?

Q78. Який тип класу не можна створити?

Q79. У контексті ООП, що таке композиція?

Q80. Статичний поліморфізм використовує метод _?

Q81. Чого не має конкретний клас?

Q82. Як динамічне типізування ускладнює усунення несправностей?

Q83. У чому різниця між раннім і пізнім зв’язуванням?

Q84. У чому різниця між інтерфейсом і абстрактним класом?

Q85. Які параметри потрібно передати конструктору класу?

Оскільки тут не вказана конкретна мова програмування, розглянемо всі мови.

Q86. Які чотири принципи об’єктно-орієнтованого програмування?

Q87. З принципів SOLID об’єктно-орієнтованого програмування, яке твердження найкраще описує принцип заміщення Ліскова?

Q88. Окрім відповідальностей, що ще повинно бути вказано на картках класів-відповідальностей-співпраці (CRC)?

Q89. Яка найкраща назва функції, що виправляє це оцінювання?

Q90. Яке відношення найкраще ілюструє відношення абстрактний-конкретний клас?

Q91. Що не може бути використано для поліморфізму?

Q92. Скільки рівнів дозволяє багаторівневе наслідування в програмі?

Q93. Що таке віртуальний метод?

Q94. Що з наведеного не є базовим принципом об’єктно-орієнтованого програмування?

Довідка

Q95. Як відрізняються поведінки і атрибути об’єкта?

Q96. Наскільки тісно повинні бути зв’язані ваші класи і чому?

Q97. Яке твердження найкраще описує клас-друг?

Довідка

Q98. Який з наведених прикладів коду демонструє множинне наслідування?

Q99. Що таке багаторівневе наслідування?

Довідка

Q100. Чи можна мати два класи з однаковим ім’ям в одному проекті?

Q101. Об’єкти передаються за _

Q102. Якщо мова реалізує лише передачу параметрів за значенням у функції, чи можуть об’єкти, передані як параметри, бути встановлені на нові екземпляри всередині функції і їх нове значення повернутися до виклику?

Q103. Що таке інкапсуляція?

Q104. Що таке метод?

Q105. Який найточніший приклад принципу заміщення Ліскова?

Довідка

Q106. Що описує агрегацію?

Q107. Яка вигода від використання ін’єкції залежностей?

Q108. Що не може бути використано для поліморфізму?

Q109. Екземпляр якого типу класу не може бути створений?

Q110. З принципів SOLID об’єктно-орієнтованого програмування, яке твердження найкраще описує принцип заміщення Ліскова?

Q111. Які п’ять шаблонів створення з шаблону “Банди чотирьох (Gang of Four)” ?

Q112. Яка різниця між інтерфейсом і абстрактним класом?

Q113. Який зв’язок найкраще ілюструє відносини абстрактного і конкретного класу?

Q114. Яка перевага використання ін’єкції залежностей?

Q115. _ описує агрегацію

Q116. Який тип функцій можна використовувати для поліморфізму?

Q117. Яка перевага використання ін’єкції залежностей?

Q118. Чи потрібно повернути об’єкт, якщо він був переданий за посиланням у функцію, і чому або чому ні?

Q119. З принципів SOLID об’єктно-орієнтованого програмування, яке твердження найкраще описує принцип заміщення Ліскова?

Q120. Окрім відповідальностей, що ще повинно бути вказано на картках Class-responsability-collaboration (CRC)?

Q121. Яка найкраща назва для функції, що виправляє цю оцінку?

Q122. Хто винайшов ООП?