„Záróvizsga kvíz - Sznikák” változatai közötti eltérés

a válasz javítása
kérdések hozzáadása
288. sor: 288. sor:
# A nézet ősosztályban van egy UpdateAllViews művelet, mely a többi nézetet is értesíti a változásról.
# A nézet ősosztályban van egy UpdateAllViews művelet, mely a többi nézetet is értesíti a változásról.
# A dokumentumnak minden nézet típusra van egy külön listája, melyben az adott típusú nézeteket tárolja.
# A dokumentumnak minden nézet típusra van egy külön listája, melyben az adott típusú nézeteket tárolja.
== Jelölje meg, mely állitások igazak .NET környezetben szálkezelés vonatkozásában! FIGYELEM, akárhány helyes válasz létezhet! (2022 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=3}}
# .NET környezetben egy folyamat (processz) a kilépéskor bevárja az összes háttérszálat.
# A lock utasítás eltérő folyamatok (processzek) szálai között is használható kölcsönös kizárás megvalósítására.
# Amikor egy ManualResetEvent objektum jelzett állapotba kerül, valamennyi rá várakozó szál tovább futhat.
== Egy alkalmazásban a több helyről is használt UserRepository osztály a publikus műveleteiben relációs adatbázisból olvas fel felhasználókra vonatkozó adatokat a hívó számára. A kliens osztályok a UserRepository-t már egy az általa implementált IUserRepository interfészen keresztül érik el. Mely tervezési minta segítségével tudjuk a UserRepository osztály és a klienseinek módosítása nélkül megoldani, hogy az egyes kérések kiszolgálása nemrég lekérdezett friss adatok esetén cache-ből, egyébként az eredeti módon, az adatbázisból történhessen meg? (2022 jun) ==
{{Kvízkérdés|típus=egy|válasz=10}}
# Singleton
# Observer
# Memento
# Adapter
# Abstract factory
# Factory method
# Adapter factory
# CacheAdapter
# Composite
# Proxy
== 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! (2022 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,3}}
# Egy C# attribútum alkalmazásakor az attribútum nevét [ ] közé kell tenni.
# Feltéve, hogy adott egy Rectangle osztály és annak egy Width tulajdonsága (property), valamint a Rectangle osztály egy rect nevú példánya/objektuma, akkor a tulajdonság beállítása pl. a rect.Width = 10; formában lehetséges.
# C# nyelven delegate típusokat a delegate kulcsszó segítségével lehet definiálni.
# A C# tulajdonságok (property) segítségével deklaratív módon tudunk információt csatolni többek között tagváltozókhoz, metódusokhoz és osztályokhoz.
== Adottak az alábbi állitások a Document-View (Dokumentum-Nézet) architektúra vonatkozásában. Jelölje meg, mely állítások igazak! FIGYELEM, akárhány helyes válasz létezhet! (2022 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,4}}
# Az architektúra az Observer tervezési minta koncepcióira épül.
# A nézetek másolatot tartanak fent a dokumentum adataiból.
# Amikor egy új nézet típust kell bevezetni, akkor szükség van a dokumentum osztály módosítására.
# A nézeteknek nincs közvetlen kapcsolatuk egymással (nincs egymásra hivatkozás)
# Egy nézet több dokumentumhoz is kapcsolódik (ezeket egy dokumentum listában tárolja a nézet).
== A feladat egy KeyboardHandler osztály elkészítése C# nyelven, mely egy eseménnyel jelzi, ha a felhasználó lenyomott egy billentyűt, és az esemény paramétereiben megadja a lenyomott billenytủ ASCII kódját! Adja meg, mely sorok alkalmazásával oldható meg az esemény megvalósítása és biztonságos elsütése! (2022 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,9,10}}
# public KeyPressedDelegate KeyPressed;
# delegate void KeyPressedDelegate(char key);
# event void KeyPressed(char key);
# public delegate KeyPressedDelegate KeyPressed;
# public event KeyPressedDelegate KeyPressed;
# public KeyPressedDelegate KeyPressed(char key);
# public event KeyPressedDelegate KeyPressed(char key);
# if (KeyPressedDelegate != null)
# if (KeyPressed != null)
# KeyPressed(key);
# KeyPressedDelegate(key);
== Egy rendszermonitorozó alkalmazásba TCP/IP kapcsolaton másodpercenként érkeznek különböző mérési adatok. Az alkalmazásban a Monitor osztály feladata ezen adatok értelmezése, és az adatok bizonyos tartományokból való kiesése esetén riasztási értesítések küldése. Az alkalmazásnak különböző riasztási módokat kell támogatnia, pl. SMS és e-mail alapú riasztatást, de könnyen bővíthetőnek kell lennie újabb értesítési módokkal. Egy adott időpontban mindig csak egy riasztási módot lehet beállítani (ez a feltétel a későbbiekben sem változik). A riasztási adatokat auditálni is kell, melyre vonatkozóan a fájlba és relációs adatbázisba való naplózás közül egyet kell tudni beállítani. Melyik tervezési mintát célszerű a megvalósítás során választani? (2022 jun) ==
{{Kvízkérdés|típus=egy|válasz=3}}
# Memento
# Factory method
# Strategy
# Adapter
# Composite
# Proxy
# Abstract factory
# Singleton
# AlertHandler
== Adottak az alábbi állítások a Memento tervezési mintával kapcsolatban! Jelölje meg, mely állítások igazak. FIGYELEM, akárhány helyes válasz letezhet! (2022 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,3}}
# A Memento mintában az Originator osztálynak van olyan múvelete, melynek egy Memento objektumot lehet átadni. Ez a múvelet a Mementoban levő adatok alapján az Originator állapotát állítja.
# A Memento mintában a Memento osztálynak van olyan múvelete, mely egy Originator objektumot ad vissza.
# A Memento mintában az Originator osztálynak van olyan múvelete, mellyel egy Memento objektumot lehet kérni. Ez a Memento objektum az Originator állapotának másolatát tárolja.
# A Memento mintában a Memento osztálynak van olyan múvelete, melynek egy Originator objektumot lehet átadni. Ez a múvelet az Originatorban levő adatok alapján az Memento állapotát állítja.
== Adott az alábbi osztály: (2022 jun) ==
<pre>
class LongValue
{
    long val = 0; // 64 bites érték, *1
    object syncRoot1 = new object() ; // * 2$
    object syncRoot2 = new object() ; // * 3$
    public long GetValue() // *4
    {
        lock (syncRoot1) //*5
          { return val; }
    }
    public void SetValue(long v) // *6
    {
        lock (syncRoot2) // *7
          { val = v; }
    }
}
</pre>
Mely állítás igaz? Csak olyan megoldás fogadható el, mely nem jár az osztály használatakor szükségtelen teljesítményromlással (pl. nagy számú párhuzamos hozzáférés esetén sem).
{{Kvízkérdés|típus=egy|válasz=3}}
# A LongValue osztály jelen formájában is szálbiztos (thread safe).
# A LongValue osztály akkor lesz szálbiztos (thread safe), ha a *2 sorban a syncRoot1 és a *3 sorban a syncRoot2 változót statikussá tesszük.
# A LongValue osztály akkor lesz szálbiztos (thread safe), ha a *7 sorban a syncRoot2-t syncRoot1-re cseréljük.
# A LongValue osztály akkor lesz szálbiztos (thread safe), ha a *7 sorban a syncRoot2-t syncRoot1-re cseréljük, valamint a *2 sorban a syncRoot1 változót statikussá tesszük.
# A LongValue osztály akkor lesz szálbiztos (thread safe), ha *4 és *6 sorokban a public kulcsszó után kiírjuk a synchronized kulcsszót.
== Az alábbi álítások a .NET Framework platformra vonatkoznak! Jelölje meg, mely állitások igazak! FIGYELEM, akárhány helyes válasz létezhet! (2022 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,3,4}}
# A .NET szerelvények (exe, dll) natív gépi kódú utasításokat tartalmaznak
# Egy alkalmazás több szerelvényböl is állhat
# Az IL kódot a JIT compiler fordítja gépi kódra
# Azonosított .NET szerelvényekből lehet két ugyanolyan nevǔ (fájlnév) telepítve egy számítógépre
== Jelölje meg, mely állitások igazak a Pipes and filters (csővezetékek és szürök) architektúra vonatkozásában! (2022 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}}
# Az architektúrában a csővezetékek és a szủrők mellett van egy adatforrás és egy adatnyelő is.
# Előnye, hogy a filterek rugalmasan kombinálhatók és lecserélhetők.
# Egyik előnye az egyszerű hibakezelés.


== 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) ==