„Záróvizsga kvíz - Sznikák” változatai közötti eltérés
a kérdések hozzáadása |
kérdések hozzáadása |
||
| 2. sor: | 2. sor: | ||
|cím=ZVSznikák|pontozás=- | |cím=ZVSznikák|pontozás=- | ||
}} | }} | ||
== Az alábbiak közül mely állítások igazak? (2023 jun) == | |||
{{Kvízkérdés|típus=több|válasz=1,2}} | |||
# Az érettség a szoftvertermékre vonatozó nemfunkcionális követelmény | |||
# A Model-View-Controller interaktív rendszerek tervezésekor használható architektúra stílus | |||
# Az ekvivalencia particionálás fehérdoboz tesztelési technika | |||
# A SPICE lépcsős érettségi modell | |||
== Adottak az alábbi állítások a C# property, delegate és attribute vonatkozásában. Jelölje meg, mely állítások igazak. FIGYELEM, akárhány helyes válasz létezhet! (2023 jun) == | |||
(A feladat csak akkor ér pontot, ha minden helyes választ -- és csakis ezeket -- megjelöl.) | |||
{{Kvízkérdés|típus=több|válasz=4}} | |||
# C# nyelven nincs lehetőség arra, hogy egy delegate objektumot függvényeknek paraméterként adjunk át. | |||
# Egy C# property (tulajdonság) bevezetésekor a beállító szakasz megírása során a set kulcsszót kell használni, és a set kulcsszót követően "(" ")" zárójelek között be kell vezetni egy paramétert, melyben a tulajdonság új értékét megkapjuk. | |||
# C# nyelven a readonly kulcsszó alkalmazásával van lehetőségünk csak olvasható tulajdonságok (property-k) bevezetésére. | |||
# A C# eseményekről leiratkozás a -= operátorral lehetséges. | |||
== A feladat egy DocumentRepository (dokumentum tár) osztály elkészítése C# nyelven, mely egy eseménnyel jelzi, ha a egy dokumentumot töröltek belőle, és az esemény paramétereiben megadja a törölt dokumentum nevét (docName, string típusú)! Adja meg, mely sorok alkalmazásával oldható meg az esemény megvalósítása és biztonságos elsütése! (2023 jun) == | |||
(A feladat csak akkor ér pontot, ha minden helyes választ -- és csakis ezeket -- megjelöl.) | |||
{{Kvízkérdés|típus=több|válasz=2,5,6,9}} | |||
# public DocumentDeletedHandler DocumentDeleted; | |||
# DocumentDeleted(docName); | |||
# public DocumentDeletedHandler DocumentDeleted(string docName); | |||
# event void DocumentDeleted(string docName); | |||
# delegate void DocumentDeletedHandler(string docName); | |||
# if (DocumentDeleted != null) | |||
# DocumentDeletedHandler(docName); | |||
# public event DocumentDeletedHandler DocumentDeleted(string docName); | |||
# public event DocumentDeletedHandler DocumentDeleted; | |||
# public delegate DocumentDeletedHandler DocumentDeleted; | |||
# if (DocumentDeletedHandler != null) | |||
== Az alábbi állítások a .NET Framework platformra vonatkoznak! Jelölje meg, mely állítások igazak! FIGYELEM, akárhány helyes válasz létezhet! (2023 jun) == | |||
(A feladat csak akkor ér pontot, ha minden helyes választ -- és csakis ezeket -- megjelöl.) | |||
{{Kvízkérdés|típus=több|válasz=2,5,6,9}} | |||
# Amikor egy .NET alapú projektet - speciálisabb beállítások alkalmazása nélkül - lefordítunk (pl. Visual Studioban), olyan .NET szerelvény (exe, dll) születik, mely natív utasításokat tartalmaz | |||
# .NET környezetben az objektumok azonnal felszabadulnak, amint az utolsó hivatkozás is megszűnik rájuk | |||
# A C# JIT compiler feladata, hogy a C# kódot köztes kódra fordítsa le | |||
# A .NET futtatókörnyezet rövid neve: CLR (Common Language Runtime) | |||
== Jelölje meg, mely állítások igazak .NET környezetben szálkezelés vonatkozásában! FIGYELEM, akárhány helyes válasz létezhet! (2023 jun) == | |||
(A feladat csak akkor ér pontot, ha minden helyes választ -- és csakis ezeket -- megjelöl.) | |||
{{Kvízkérdés|típus=több|válasz=1,2}} | |||
# A .NET szál létrehozásakor egy szálfüggvényt kell a Thread osztály konstruktorának megadni (egy delegate formájában). | |||
# A Thread osztály Join műveletével lehet egy szál futásának a végét bevárni. | |||
# Amikor egy .NET AutoResetEvent objektum jelzett állapotba kerül, minden rá várakozó szál tovább futhat. | |||
== Adottak az alábbi állítások a Factory Method tervezési mintával kapcsolatban! Jelölje meg, mely állítások igazak. FIGYELEM, akárhány helyes válasz létezhet! (2023 jun) == | |||
{{Kvízkérdés|típus=több|válasz=1,2}} | |||
# A Factory Method tervezési minta megvalósításában egy osztály a leszármazott osztályára bízza egy másik osztály egy objektumának létrehozását. | |||
# A Factory Method tervezési minta segítségével egy osztály akkor is létre tudja hozni egy másik osztály egy példányát, ha annak típusát nem ismeri. | |||
== Jelölje meg, mely állítások igazak! (A feladat csak akkor ér pontot, ha minden helyes választ -- és csakis ezeket -- megjelöl.) (2023 jun) == | |||
{{Kvízkérdés|típus=több|válasz=1,2}} | |||
# A háromrétegű architektúra egyik rétege az üzleti logikai réteg (Business Logic Layer). | |||
# A Document-View architektúra az Observer tervezési minta elveire épül. | |||
== A Composite tervezési minta fontosabb osztályai a következők: Client, Component, Composite (összetett) és Leaf (levél). Jelölje meg a helyes választ! (2023 jun) == | |||
{{Kvízkérdés|típus=egy|válasz=2}} | |||
# A Component osztálynak van egy közös gyűjteménye Composite és Leaf objektumokból. | |||
# A Composite osztálynak van egy művelete, mely egy ciklusban meghívja a tartalmazott objektumok ugyanolyan nevű műveletetét. | |||
# A Composite osztálynak van egy gyűjteménye Component, valamint egy másik gyűjteménye Leaf objektumokból. | |||
# A Client osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból. | |||
# A Component osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból. | |||
== Adott az alábbi osztály: (2023 jun) == | |||
<pre> | |||
class DataProcessor | |||
{ | |||
static object syncRoot = new object(); // *1 | |||
bool exit = false; // *2 | |||
List<int> data = new List<int>(); // *3 | |||
public void AddData(int n) | |||
{ | |||
data.Add(n); // *4 | |||
} | |||
public void SignalExit() | |||
{ | |||
lock (syncRoot) | |||
{ | |||
exit = true; // *5 | |||
} | |||
} | |||
public void ProcessData() | |||
{ | |||
while (!exit) | |||
{ | |||
lock (syncRoot) // *6 | |||
{ | |||
if (data.Count > 0) // *7 | |||
{ | |||
int n = data[0]; | |||
data.RemoveAt(0); | |||
Console.WriteLine(n); | |||
} | |||
} | |||
Thread.Sleep(10); | |||
} | |||
} | |||
} | |||
</pre> | |||
Jelölje meg mely állítások igazak a kódrészlet vonatkozásában többszálú környezetben! Célunk, hogy a DataProcessor osztály szálbiztos | |||
(thread-safe) legyen. | |||
FIGYELEM, akárhány helyes válasz létezhet! | |||
{{Kvízkérdés|típus=több|válasz=1,2,3}} | |||
# A SignalExit() függvényben a *5 sor körüli lock utasítás eltávolítható. | |||
# A *1 sor elejéről a static kulcsszó eltávolítható, és célszerű is eltávolítani. | |||
# A helyes működés érdekében a *4 sor köré egy lock blokkot kell tenni. | |||
# A DataProcessor osztály jelen formájában szálbiztos (thread safe). | |||
== Adottak az alábbi állítások a Proxy tervezési minta vonatkozásában! Jelölje meg, mely állítások igazak. FIGYELEM, akárhány helyes válasz létezhet! (2023 jun) == | |||
{{Kvízkérdés|típus=több|válasz=1,2,3}} | |||
# A Proxy mintában van egy interfész/ősosztály, mely elrejti a kliens számára, hogy nem az eredeti, hanem egy proxy objektummal kommunikál. | |||
# A Proxy tervezési minta lehetővé teheti, hogy egy objektumhoz más objektumok szabályozott módon férhessenek hozzá. | |||
# A Proxy mintában a kliens objektum kéréseit az alkalmazás futása közben egy proxy objektum fogadja (vagyis a kliens egy proxy objektummal van közvetlen kapcsolatban). | |||
# A Proxy tervezési minta lehetővé teszi objektumok fastruktúrába szervezését. | |||
== Adottak az alábbi állítások a Proxy tervezési minta vonatkozásában! Jelölje meg, mely állítások igazak. FIGYELEM, akárhány helyes válasz létezhet! (2022 jan) == | == Adottak az alábbi állítások a Proxy tervezési minta vonatkozásában! Jelölje meg, mely állítások igazak. FIGYELEM, akárhány helyes válasz létezhet! (2022 jan) == | ||