„Sznikák vizsga kikérdező” változatai közötti eltérés
a Új kérdések hozzáadása. |
a Duplikáció törlése, typo javítása, megjelenítés, javítása. |
||
| 4. sor: | 4. sor: | ||
{{Kvízoldal | {{Kvízoldal | ||
|cím=ZH felkészítő kikérdező}} | |cím=ZH felkészítő kikérdező}} | ||
== Egy Windows Forms alapú alkalmazásban a célunk egy teljesen egyedi és újrafelhasználható vezérlő bevezetése, mely minden kattintásra egyel nagyobb értéket jelenít meg. Mit használna ehhez? == | == Egy Windows Forms alapú alkalmazásban a célunk egy teljesen egyedi és újrafelhasználható vezérlő bevezetése, mely minden kattintásra egyel nagyobb értéket jelenít meg. Mit használna ehhez? == | ||
| 27. sor: | 17. sor: | ||
== Egy Windows Forms alapú alkalmazásban a célunk egy olyan testreszabott, újrafelhasználható checkbox (jelölőnégyzet) vezérlő bevezetése, amely minden egyes kattintáskor egy üzenetablakban megkérdezi a felhasználót, biztos-e a döntésében. Mit használna ehhez? == | == Egy Windows Forms alapú alkalmazásban a célunk egy olyan testreszabott, újrafelhasználható checkbox (jelölőnégyzet) vezérlő bevezetése, amely minden egyes kattintáskor egy üzenetablakban megkérdezi a felhasználót, biztos-e a döntésében. Mit használna ehhez? == | ||
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}} | {{kvízkérdés|típus=egy|válasz=2|pontozás=-}} | ||
# Groupbox | # Groupbox | ||
# Checkbox osztályból származtatás | # Checkbox osztályból származtatás | ||
| 100. sor: | 79. sor: | ||
# Hamis | # Hamis | ||
== Egy Windows Forms | == Egy Windows Forms űrlapra egy Panel objektumot helyezünk olyan módon, hogy a Panel és az űrlap szélei között marad szaba hely. Milyen technikával lehet legegyszerűbben elérni, hogy az űrlap magasságának növelésével a Panel magassága is változzon (ugyanannyival). == | ||
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}} | {{kvízkérdés|típus=egy|válasz=2|pontozás=-}} | ||
# Dockolás | # Dockolás | ||
| 189. sor: | 168. sor: | ||
# Using blokk | # Using blokk | ||
# Finalize | # Finalize | ||
# | # Destruktor | ||
== Egy C# eseményre feliratkozni az = operátorral lehet. == | == Egy C# eseményre feliratkozni az = operátorral lehet. == | ||
| 240. sor: | 219. sor: | ||
# Hamis | # Hamis | ||
== Egy Windows Forms alapú alkalmazás esetén egy saját státuszbárt | == Egy Windows Forms alapú alkalmazás esetén egy saját státuszbárt szeretne megvalósítani. Ennek mindig a tartalmazó ablak alján kell elhelyezkednie fix magassággal (státuszbár az alsó/oldalsó élei és a tartalmazó űrlap élei között nem lehet szabad hely/rés). Milyen technikát legcélszerűbb ehhez választani? == | ||
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}} | {{kvízkérdés|típus=egy|válasz=1|pontozás=-}} | ||
# Dockolás | # Dockolás | ||
| 433. sor: | 412. sor: | ||
# Adatnyelő által vezérelt architektúra esetén a szűrő egy ciklusban dolgozza fel a bemenetére érkező adatokat. | # Adatnyelő által vezérelt architektúra esetén a szűrő egy ciklusban dolgozza fel a bemenetére érkező adatokat. | ||
== Adottak az alábbi állítások a Document-View (Dokumentum-Nézet) architektúra vonatkozásában. Jelölje meg, mely állítások igazak | == Adottak az alábbi állítások a Document-View (Dokumentum-Nézet) architektúra vonatkozásában. Jelölje meg, mely állítások igazak! == | ||
{{kvízkérdés|típus=több|válasz=3,4,5|pontozás=-}} | {{kvízkérdés|típus=több|válasz=3,4,5|pontozás=-}} | ||
# A Document-View architektúrában a Controller osztály feladata a felhasználói interakciók kezelése. | # A Document-View architektúrában a Controller osztály feladata a felhasználói interakciók kezelése. | ||
| 442. sor: | 420. sor: | ||
# A dokumentumnak van egy listája a beregisztrált nézeteire. | # A dokumentumnak van egy listája a beregisztrált nézeteire. | ||
== Adott az alábbi Pipes and filters architektúra, filter megvalósítás pszeudokód. | == Adott az alábbi Pipes and filters architektúra, filter megvalósítás pszeudokód. Melyik forgatókönyv felel meg a lenti kódnak? <br><p style = "font-family:consolas">void Run(){ <br> Data data; <br> while(data = inputPipe.Read()){ <br> Data processedData = ProcessedData(data); <br> outputPipe.Write(processedData);}}}</p> == | ||
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}} | {{kvízkérdés|típus=egy|válasz=4|pontozás=-}} | ||
# Csővezeték által vezérelt. | # Csővezeték által vezérelt. | ||
| 464. sor: | 441. sor: | ||
# A .NET futtatókörnyezet rövid neve: CLR. | # A .NET futtatókörnyezet rövid neve: CLR. | ||
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet. <code><br>class Counter{<br>int counter = 0; // *1<br>object syncRoot = new object(); // *2<br>public int GetValue() // *3<br>{<br>lock (syncRoot)<br>{ return counter; }<br>}<br>public void IncreaseCounter(int delta) // *4<br>{<br>lock (syncRoot)<br>{ counter += delta; } | == Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet. <code><br>class Counter{<br>int counter = 0; // *1<br>object syncRoot = new object(); // *2<br>public int GetValue() // *3<br>{<br>lock (syncRoot)<br>{ return counter; }<br>}<br>public void IncreaseCounter(int delta) // *4<br>{<br>lock (syncRoot)<br>{ counter += delta; }}}</code> == | ||
{{kvízkérdés|típus=több|válasz=1,3|pontozás=-}} | |||
# A *2 sor elejére nem kell plusszban beírni a static kulcsszót, anélkül is helyes a működés. | # A *2 sor elejére nem kell plusszban beírni a static kulcsszót, anélkül is helyes a működés. | ||
# | # A kód nem működne megfelelően, ha a *2 sorban a syncRoot típusát int-re cserélnénk. | ||
# | # A *3 GetValue() függvényben a lock utasítás eltávolítható (ha legalább 32 bites környezetről van szó). | ||
# A *4 IncreaseCounter() függvényben a lock utasítás eltávolítható | # A *4 IncreaseCounter() függvényben a lock utasítás eltávolítható. | ||
# | # A *4 IncreaseCounter() függvényben a lock utasítás eltávolítható, de akkor ki kell írni a függvény elé a synchronized kulcsszót. | ||
== A feladat egy Car osztály elkészítése C# nyelven, mely egy eseménnyel jelzi, ha az autó sebessége meghalad egy adott sebességkorlátot! | == A feladat egy Car osztály elkészítése C# nyelven, mely egy eseménnyel jelzi, ha az autó sebessége meghalad egy adott sebességkorlátot! Adja meg, mely sorok alkalmazására van szükség a megoldásban, ha nem használhatja a ?. operátort! == | ||
Adja meg, mely sorok alkalmazására van szükség a megoldásban, ha nem használhatja a ?. operátort! == | |||
{{kvízkérdés|típus=több|válasz=2,4,9,12|pontozás=-}} | {{kvízkérdés|típus=több|válasz=2,4,9,12|pontozás=-}} | ||
# event void SpeedLimitExceededDelegate(int speed, double percent); | # event void SpeedLimitExceededDelegate(int speed, double percent); | ||
| 488. sor: | 465. sor: | ||
== Adottak az alábbi állítások különböző tervezési mintákkal kapcsolatban! Jelölje meg, mely állítások igazak. FIGYELEM, akárhány helyes válasz létezhet! == | == Adottak az alábbi állítások különböző tervezési mintákkal kapcsolatban! Jelölje meg, mely állítások igazak. FIGYELEM, akárhány helyes válasz létezhet! == | ||
{{kvízkérdés|típus=több|válasz= | {{kvízkérdés|típus=több|válasz=2,4,5,6,7|pontozás=-}} | ||
# Az Adapter tervezési mintában a Client osztálynak van egy Target típusú mutatója vagy hivatkozása az Adapter osztály egy példányára. | # Az Adapter tervezési mintában a Client osztálynak van egy Target típusú mutatója vagy hivatkozása az Adapter osztály egy példányára. | ||
# Az Adapter tervezési mintában az Adapter osztály a Target osztályból származik (vagy a Target interfészt implementálja). | # Az Adapter tervezési mintában az Adapter osztály a Target osztályból származik (vagy a Target interfészt implementálja). | ||
| 610. sor: | 587. sor: | ||
# Az x=10 művelet .NET környezetben atomi (és így szálbiztos), ha az x típusa int (32 bites). | # Az x=10 művelet .NET környezetben atomi (és így szálbiztos), ha az x típusa int (32 bites). | ||
== Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:<br> | == Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:<br><code>void Write(Data data){<br>Data processedData = ProcessData(data);<br>nextFilter.Write(processedData);<br>}</code> == | ||
<code> | |||
void Write(Data data) | |||
{<br> | |||
Data processedData = ProcessData(data);<br> | |||
nextFilter.Write(processedData);<br> | |||
}</code> == | |||
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}} | {{kvízkérdés|típus=egy|válasz=1|pontozás=-}} | ||
# Adatforrás által vezérelt. | # Adatforrás által vezérelt. | ||
| 624. sor: | 595. sor: | ||
# Passzív szűrő által vezérelt. | # Passzív szűrő által vezérelt. | ||
== Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:<br> | == Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:<br><code>Data Read(){<br>Data data = prevFilter.Read();<br>Data processedData = ProcessedData(data);return processedData; }</code> == | ||
<code> | |||
Data Read() | |||
{<br> | |||
Data data = prevFilter.Read();<br> | |||
Data processedData = ProcessedData(data); | |||
return processedData; | |||
}</code> == | |||
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}} | {{kvízkérdés|típus=egy|válasz=2|pontozás=-}} | ||
# Adatforrás által vezérelt. | # Adatforrás által vezérelt. | ||
| 709. sor: | 673. sor: | ||
# A Client osztálynak van egy gyűjteménye Composite, 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. | ||
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, melyben a .NET beépített List<T> osztályát használjuk (és nem lehet helyette más osztályt használni).<br><code> | == Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, melyben a .NET beépített List<T> osztályát használjuk (és nem lehet helyette más osztályt használni).<br><code>class DataProcessor{<br>List<int> items = new List<int>();<br>static object syncObject = new object();<br>public int GetItem(int index) {<br>lock (syncObject) { return items[index]; }}<br>public void AddItem(int n) {<br>lock (syncObject) { items.Add(n); }}} </code>== | ||
class DataProcessor | |||
{<br> | |||
List<int> items = new List<int>();<br> | |||
static object syncObject = new object();<br> | |||
public int GetItem(int index) {<br> | |||
lock (syncObject) { return items[index]; } | |||
}<br> | |||
public void AddItem(int n) {<br> | |||
lock (syncObject) { items.Add(n); } | |||
} | |||
} </code>== | |||
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}} | {{kvízkérdés|típus=egy|válasz=3|pontozás=-}} | ||
# A megoldás jelen formájában nem szálbiztos (thread safe), de azzá tehető, ha a syncObject tagváltozó elől a static kulcsszót eltávolítjuk. | # A megoldás jelen formájában nem szálbiztos (thread safe), de azzá tehető, ha a syncObject tagváltozó elől a static kulcsszót eltávolítjuk. | ||
| 727. sor: | 680. sor: | ||
# A megoldás szálbiztos (thread safe), de a lock utasítások eltávolításával hatékonyabbá tehető. | # A megoldás szálbiztos (thread safe), de a lock utasítások eltávolításával hatékonyabbá tehető. | ||
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, mely egymásba ágyazott zárakat tartalmaz. | == Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, mely egymásba ágyazott zárakat tartalmaz.<code><br>class Program{<br>static object syncObject = new object();<br>static void Main(string[] args){<br>lock (syncObject) {<br>f();}}<br>static void f(){<br>lock (syncObject) {<br>Console.WriteLine("Hello!");}}}</code> == | ||
<code><br> | |||
class Program | |||
{<br> | |||
static object syncObject = new object();<br> | |||
static void Main(string[] args) | |||
{<br> | |||
lock (syncObject) {<br> | |||
f(); | |||
} | |||
}<br> | |||
static void f() | |||
{<br> | |||
lock (syncObject) {<br> | |||
Console.WriteLine("Hello!"); | |||
} | |||
} | |||
} | |||
</code> == | |||
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}} | {{kvízkérdés|típus=egy|válasz=1|pontozás=-}} | ||
# Az alkalmazás kiírja a "Hello!" szöveget a konzolra. | # Az alkalmazás kiírja a "Hello!" szöveget a konzolra. | ||
| 815. sor: | 750. sor: | ||
{{kvízkérdés|típus=több|válasz=3,4|pontozás=-}} | {{kvízkérdés|típus=több|válasz=3,4|pontozás=-}} | ||
# A ManualResetEvent szinkronizációs objektumot tipikusan kölcsönös kizárás megvalósítására alkalmazzuk. | # A ManualResetEvent szinkronizációs objektumot tipikusan kölcsönös kizárás megvalósítására alkalmazzuk. | ||
# A ManualResetEvent objektum | # A ManualResetEvent objektum set művelete lezárja az objektumot, így a többi szál várakozni kényszerül. | ||
# Arra várakozni, hogy ManualResetEvent objektum jelzett állapotba kerüljön, az objketum WaitOne műveletével lehet. | # Arra várakozni, hogy ManualResetEvent objektum jelzett állapotba kerüljön, az objketum WaitOne műveletével lehet. | ||
# ManualResetEvent és AutoResetEvent típusú objektumokra ugyanúgy kell várakozni. | # ManualResetEvent és AutoResetEvent típusú objektumokra ugyanúgy kell várakozni. | ||
| 865. sor: | 800. sor: | ||
# Az observer implementációknak van egy általános subject listájuk, mellyel egységesen hivatkoznak a különböző típusú subject-ekre. | # Az observer implementációknak van egy általános subject listájuk, mellyel egységesen hivatkoznak a különböző típusú subject-ekre. | ||
== Adott az alábbi kódrészlet, mely Oracle típusú kapcsolat és parancs objektumok segítségével Oracle adathozzáférési réteget valósít meg. <code> <br> IConnection conn = new OracleConnection(); <br> | == Adott az alábbi kódrészlet, mely Oracle típusú kapcsolat és parancs objektumok segítségével Oracle adathozzáférési réteget valósít meg. <code> <br> IConnection conn = new OracleConnection(); <br>conn.Open(); <br>ICommand cmd = new OracleCommand("SELECT * FROM Orders"); <br>cmd.ExecuteReader(); </code> <br> T.f.h. hasonló kódrészletek az adathozzáférési réteg több osztályában előfordulnak. Melyik tervezési minta alkalmazásával lenne legpraktikusabb az adathozzáférési réteg kódját úgy általánosítani, hogy tetszőleges adatkezelő (nem csak Oracle) rendszer esetén működőképes legyen? Jelölje meg a helyes választ!== | ||
conn.Open(); <br> | |||
ICommand cmd = new OracleCommand("SELECT * FROM Orders"); <br> | |||
cmd.ExecuteReader(); </code> <br> T.f.h. hasonló kódrészletek az adathozzáférési réteg több osztályában előfordulnak.Melyik tervezési minta alkalmazásával lenne legpraktikusabb az adathozzáférési réteg kódját úgy általánosítani, hogy tetszőleges adatkezelő (nem csak Oracle) rendszer esetén működőképes legyen? Jelölje meg a helyes választ!== | |||
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}} | {{kvízkérdés|típus=egy|válasz=2|pontozás=-}} | ||
# Proxy | # Proxy | ||
| 916. sor: | 848. sor: | ||
# A könyvtárat priváttá tehetjük azáltal, hogy egy kulcspár titkos kulcsával titkosítjuk. | # A könyvtárat priváttá tehetjük azáltal, hogy egy kulcspár titkos kulcsával titkosítjuk. | ||
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet. | == Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet.<code><br>class ClassA<br>{<br>int counter = 0;<br>List<int> values = new List<int>();<br>public void SetValue (int n) { counter = n; }<br>public void ResetIfGreaterThanZero() { if(counter > 0) counter = 0; }<br>public void Subtract(int n) { counter -= n; }<br>public void AddItem(int n) { values.Add(n); }<br>… további kód<br>}<br></code> Jelölje meg mely műveletek esetében kell többszálú környezetben a kölcsönös kizárást megvalósítani! == | ||
<code><br> | |||
class ClassA<br> | |||
{<br> | |||
}<br> Jelölje meg mely műveletek esetében kell többszálú környezetben a kölcsönös kizárást megvalósítani!== | |||
{{kvízkérdés|típus=több|válasz=2,3,4|pontozás=-}} | {{kvízkérdés|típus=több|válasz=2,3,4|pontozás=-}} | ||
# SetValue | # SetValue | ||