„Gyakorlas” változatai közötti eltérés

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
(Új oldal, tartalma: „{{kvízoldal|cím=Kikérdező|pontozás=-}} == .JIT köztes kódot fordítja natív gépi kódra. == {{kvízkérdés|típus=egy|válasz=1|pontozás=-}} # Igaz # Hamis…”)
 
1. sor: 1. sor:
 
{{kvízoldal|cím=Kikérdező|pontozás=-}}
 
{{kvízoldal|cím=Kikérdező|pontozás=-}}
  
 +
== .NET környezetben egy kiszolgáló alkalmazást készítünk, melynek egyidőben nagyon sok klienst kell tudni kiszolgálnia. Adja meg annak a .NET fogalomnak/osztálynak a nevét maximum egy-két szóval, amit ilyen esetben a legcélszerűbb használni a klisensek hatékony párhuzamos kiszolgálása érdekében. ==
 +
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}
 +
# Deadlock
 +
# Lock
 +
# Thread-pool
 +
# Control.Invoke
  
== .JIT köztes kódot fordítja natív gépi kódra. ==
+
== .NET környezetben egy munkaszálból szeretnénk egy a fő szálból létrehozott TextBox Text tulajdonságát lekérdezni. Adja meg milyen mechanizmust/műveletet kell ehhez használni? ==
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}
# Igaz
+
# Deadlock
# Hamis
+
# Lock
 
+
# Thread-pool
== .NET Framework alapú konzol alkalmazások Linuxon is futnak. ==
+
# Control.Invoke
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
 
# Igaz
 
# Hamis
 
--
 
 
 
== .NET NuGet csomagok formájában lehet kiegészítő könyvtárakat letölteni. ==
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
 
# Igaz
 
# Hamis
 
 
 
== .NET beépített osztályok legtöbbje szálbiztos. ==
 
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
 
# Igaz
 
# Hamis
 
 
 
== .NET környezetben 2 folyamat között kölcsönös kizárás a lock utasítással megvalósítható. ==
 
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
 
# Igaz
 
# Hamis
 
 
 
== .NET környezetben egy folyamat a kilépéskor bevárja az összes előtér szálat. ==
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
 
# Igaz
 
# Hamis
 
--
 
  
== .NET több nyelvet is támogat. ==
+
== .NET környezetben egy objektumot gyakran olvasunk, de ritkán írunk. Mit használna a kölcsönös kizárás megvalósítására? ==
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}
# Igaz
+
# WriterLock
# Hamis
+
# ReaderLock
 +
# ReaderWriterLock
 +
# ExecuterLock
  
== A .NET Core csak Windowson fut. ==
+
== .NET környezetben egy szálban hatékonyan kell várakozni arra, hogy egy másik szál valamilyen adatot előkészítse a számára. Milyen szinkronizációs konstrukciót a legcélszerűbb erre használni? ==
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}
# Igaz
+
# Lock
# Hamis
+
# Synchronized
--
+
# Mutex
 +
# ManualResetEvet
 +
# ReaderWriterLock
 +
# Semaphore
  
== A .NET alkalmazásban a .NET "megkerülésével", közvetlenül a Win32 API használatával erőforrásokat foglalunk egy osztályba (pl. Fájlt nyitunk meg). Ez esetben az osztályunkban írunk Dispose műveletet, mert az lehetővé teszi ezen erőforrások mielőbbi felszabadítását.(?) ==
+
== .NET környezetben egy többszálú alkalmazást készítünk, melyben az egyik szál lock utasítással zárat szerez előbb X, majd Y objektum paraméterekkel. Egy másik szál előbb az Y, majd az X paraméterekkel szerez zárat. Adja meg egy szóval, minek a veszélye áll fent egy ilyen forgatókönyv esetén? ==
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
# Igaz
+
# Deadlock
# Hamis
+
# Lock
 
+
# Thread-pool
== A .NET nem támogatja a (managed) C++ nyelvet. ==
 
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
 
# Igaz
 
# Hamis
 
  
== A .NET szerelvények (exe, dll) natív gépi kódú utasításokat tartalmaznak. ==
+
== A .NET Windows Forms bizonyos osztályai a beépített Component osztályból származnak. Mi ennek a következménye? ==
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
 
# Igaz
 
# Hamis
 
 
 
== A .NET több programozási nyelvet is támogat. ==
 
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
# Igaz
+
# Lehetőség van a Visual Studio designerében felparaméterezni.
# Hamis
+
# Natív ablakot csomagol be.
 +
# Szülő-gyerek viszonyban állíthatók egymással.
 +
# Örökli a vezérlőkre közös tulajdonságokat, mint pl. A helye, mérete, stb.
  
== A C# delegate objektumok a C függvénypointerek modern megfelelői, ugyanakkor több függvényre is tudnak mutatni/hivatkozni. ==
+
== A feladat egy Pipes and filters (csővezeték) architektúrájú alkalmazás elkészítése, melynek során célunk egy több CPU magos hardver környezet lehető legjobb kihasználása. Melyik megközelítést választaná ehhez? ==
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}
# Igaz
+
# Passzív szűrő által vezérelt
# Hamis
+
# Csővezeték által vezérelt
 +
# Adatnyelő által vezérelt
 +
# Adatforrás által vezérelt
 +
# Aktív szűrő által vezérelt
  
== A C# kódból a fordítás során - amikor a szerelvény létrejön - köztes kód keletkezik, vagyis a szerelvények köztes (IL) kódot tartalmaznak. ==
+
== A feladatunk egy ablakozós keretrendszer kifejlesztése. A keretrendszerben bevezetünk egy absztrakt Window osztályt, melyből a keretrendszerre épülő alkalmazások fejlesztésekor le kell származtatni és meg kell valósítani az alkalmazásspecifikus ablak viselkedését. A keretrendszerben egy WindowManager osztályt is megvalósítunk, melynek felelőssége bizonyos feltételek esetén a Window leszármazott objektumok létrehozása, tárolása és menedzselése. A felületelemek vonatkozásában (pl. Button, Dropdown, stb.) az alkalmazásfejlesztőknek nem kell a keretrendszer osztályaiból leszármaztatni. Mely tervezési mintát a legcélszerűbb választani a Window leszármaztatott osztály keretrendszeren belüli létrehozására? Olyan megoldást válasszon, mely a legkevesebb új osztály bevezetésével jár. ==
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=7|pontozás=-}}
# Igaz
+
# Composite
# Hamis
+
# Memento
 +
# Observer
 +
# Strategy
 +
# Singleton
 +
# Proxy
 +
# Factory method
 +
# Adapter
 +
# Abstract factory
  
== A DLL hell probléma elkerülésének egyik módja, ha az alkalmazás által használt dll-eket nem egy központi helyre, hanem az alkalmazás mappájába telepítjük (privát telepítés). ==
+
== A feladatunk egy alkalmazás elkészítése egy gyártósor által előállított termék különböző modelljeinek a teszteléséhez. A különböző modellekhez mindig ugyanazon alkatrészkategóriákból (pl. Hangszóró, csatlakozó, vezérlőegység stb.) van szükség egy-egy alkatrészre, de az egyes modellekhez az egyes alkatrészkategóriákból más-más modellspecifikus alkatrész beépítésére van szükség (pl. Más típusú hangszóró, csatlakozó stb.) tartozik a Galaxy S20 és Galaxy A20 modellekhez), melyekhez az alkalmazásunkban különböző tesztelést végző osztálybeli objektumra van szükség. Mely tervezési minta alkalmazása a legcélszerűbb az alábbiak közül? ==
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=9|pontozás=-}}
# Igaz
+
# Composite
# Hamis
+
# Memento
 +
# Observer
 +
# Strategy
 +
# Singleton
 +
# Proxy
 +
# Factory method
 +
# Adapter
 +
# Abstract factory
  
== A Dependency Injection tervezési minta lényege, hogy az osztály a függőségeit konstruktor vagy művelet paraméterekben kapja meg (interfész típusonként). ==
+
== A feladatunk egy keretrendszer megtervezése. A keretrendszerben létre kell hozni egy adott típusú objektumot, de annak típusát nem ismerjük, mert az csak a keretrendszerre épülő alkalmazás esetén dől el. Mely tervezési mintát használná a probléma megoldására? ==
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
# Igaz
+
# Factory method
# Hamis
+
# Abstract method
 
+
# Composite
== A JIT fordító a C# kódot fordítja IL kódra. ==
+
# Proxy
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
+
# Observer
# Igaz
+
# Adapter
# Hamis
+
# Singleton
 +
# Strategy
  
== A JIT fordító a köztes kódot fordítja natív gépi kódra. ==
+
== A szoftverarchitektúra jelentőségét szokás egy kiegyensúlyozott mérleggel is ábrázolni. Mire vonatkozik ez? ==
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
# Igaz
+
# A szoftvernek jól kell működnie (funkcionalitás), de ugyanilyen fontos, hogy legyen jól struktúrált.
# Hamis
+
# Az architektúra különböző aspektusainak, úgymint szerkezet, karbantarthatóság, tesztelhetőség egyensúlyban kell lennie.
 +
# A szoftvert magas szinten alapvetően azonos léptékű modulokra célszerű bontani.
 +
# Az architektúra/kód struktúrálás kihat a teljesítményre (pl. Túl sok modul/réteg csökkenti a teljesítményt), ennek vonatkozásában meg kell találni az egyensúlyt.
  
== A Pipes and Filters architektúrában aktív szűrők esetében az adatok feldolgozása jellemzően egy ciklusban történik. ==
+
== 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> ==
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
# Igaz
+
# Az alkalmazás kiírja a "Hello!" szöveget a konzolra.
# Hamis
+
# Az alkalmazás soha nem fejezi be a futását, mert az f() függvényben a lock utasításnál már egy a Main függvényben zárolt objektumra próbál zárolni (holtpont alakul ki).
 +
# Az f() függvényben a lock utasítás kivételt dob annak érdekében, hogy ne alakuljon ki holtpont.
  
== A Singleton minta globális hozzáférést biztosít egy osztály egyetlen objektumához, és ezt az objektumot egy globális változóban tárolja. ==
+
== 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> ==
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}
# Igaz
+
# 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.
# Hamis
+
# A megoldás szálbiztos (thread safe) és nem tehető triviális módon hatékonyabbá.
 +
# A megoldás szálbiztos (thread safe), de a syncObject tagváltozó előtti a static kulcsszó 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ő.
  
== A Singleton tervezési minta célja mindösszesen az, hogy egy adott osztályból egyetlen példányt lehessen létrehozni. ==
+
== 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> ==
 
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
# Igaz
+
# Adatforrás által vezérelt.
# Hamis
+
# Adatnyelő által vezérelt.
 +
# Csővezeték által vezérelt.
 +
# Aktív szűrő által vezérelt.
 +
# Passzív szűrő által vezérelt.
  
== A Template method mintában az ősosztály működése a belőle való leszármaztatással és bizonyos absztrakt/virtuális műveleteinek felülírásával terjeszthető ki. ==
+
== 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> ==
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
# Igaz
+
# Adatforrás által vezérelt.
# Hamis
+
# Adatnyelő által vezérelt.
 +
# Csővezeték által vezérelt.
 +
# Aktív szűrő által vezérelt.
 +
# Passzív szűrő által vezérelt.
  
== A Win32 API függvények számos programozói környezetből, pl. .NET alól is elérhetők. ==
+
== 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=1|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}
# Igaz
+
# Csővezeték által vezérelt.
# Hamis
+
# Passzív szűrő által vezérelt.
 +
# Adatnyelő által vezérelt.
 +
# Aktív szűrő által vezérelt.
 +
# Adatforrás által vezérelt.
  
== A Win32 API-t jellemzően C# nyelven programozzuk. ==
+
== 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! ==
 
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
# Igaz
+
# Proxy
# Hamis
+
# Abstract Factory
 +
# Factory Method
 +
# Adapter
 +
# Strategy
  
== A Windows Forms alkalmazásokban van lehetőség a rajz, pl. Szöveg 2 dimenziós térben történő elforgatására. ==
+
== Adott az alábbi állítás: C# nyelven a nem statikus tagváltozókat nem statikus lock objektummal kell védeni, mert statikus lock objektum alkalmazása esetén nem teljesülne a kölcsönös kizárás (inkonzisztens állapotba kerülhetne a védett objektum). Jelölje meg a helyes választ! ==
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
# Igaz
+
# Csak az első tagmondat igaz (+ -)
# Hamis
+
# Csak a második tagmondat igaz (- +)
 +
# Mindkét tagmondat igaz, de a következtetés hamis (+ + -)
 +
# Mindkét tagmondat igaz és a következtetés is helyes (+ + +)
 +
# Egyik tagmondat sem igaz (- -)
  
== A Windows Forms alkalmazásokban van lehetőség a rajz, pl. Szöveg 3 dimenziós térben történő elforgatására. ==
+
== Adott egy osztály. Az objektumainak állapotát úgy szeretnénk elmenteni és visszaállítani egy másik osztályból, hogy nem tesszük publikussá a tagváltozóit. Mely tervezési mintát célszerű használni a megoldás során? ==
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}
# Igaz
+
# Proxy
# Hamis
+
# Repository
--
+
# Strategy
 +
# Command Processor
 +
# Snapshot
 +
# Memento
 +
# Command
  
== A közös dll-ek egy központi mappába történő telepítésének egyik előnye, hogy így minden esetben elkerülhető dll hell probléma. ==
+
== Az alábbiak közül mely adatok teszik egyedivé az erős névvel ellátott (azonosított) .NET szerelvényeket? 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=-}}
# Igaz
+
# Név, fejlesztő cég privát kulcsa, verzió, opcionális kultúra információ
# Hamis
+
# Név, fejlesztő cég nyilvános kulcsa, verzió, opcionális kultúra információ
 +
# Név, verzió, pcionális kultúra információ
 +
# Név, fejlesztő cég nyilvános kulcsa, verzió, digitális aláírás, opcionális kultúra információ
  
== A privát .NET szerelvények telepítése egyszerű, csak fel kell másolni a számítógépre. ==
+
== Az egyik tervezési minta azt javasolja, hogy a származtatás/komplex hierarchia helyett az osztály viselkedésének különböző aspektusait kompozícióval tegyük paraméterezhetővé. Melyzik ez a tervezési minta? ==
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}
# Igaz
+
# Composite
# Hamis
+
# Memento
--
+
# Observer
 +
# Strategy
 +
# Singleton
 +
# Proxy
 +
# Factory method
 +
# Adapter
 +
# Abstract factory
  
== Amikor egy AutoResetEvent objektum jelzett lesz, a rá várakozó szálak közül csak 1 futhat tovább. ==
+
== C# nyelvű kódunkban egy olyan objektumot hozunk létre, mely nem felügyelt erőforrást használ/csomagol be. Milyen C# konstrukciót használunk ilyen esetben ha biztosítani szeretnénk a nem felügyelt erőforrás mielőbbi felszabadítását, miután befejeztük a használatát? ==
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}
# Igaz
+
# Destroy
# Hamis
+
# Discard
 +
# Using blokk
 +
# Finalize
 +
# Destuktor
  
== Amikor egy szál egy lock blokkon belül van, akkor más szál nem tartózkodhat olyan lock blokkon belül, melynek ugyanaz a szinkronizációs objektum a paramétere.(?) ==
+
== C# nyelvű kódunkban egy olyan objektumot hozunk létre, mely nem felügyelt erőforrást használ/csomagol be. Milyen C# konstrukciót használunk ilyen esetben, ha biztosítani szeretnénk a nem felügyelt erőforrás mielőbbi felszabadítását, miután befejeztük a használatát? ==
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}
# Igaz
+
# Destroy
# Hamis
+
# Dispose
 +
# Using blokk
 +
# Finalize
 +
# Destruktor
  
== Az Adapter tervezési mintában (legalábbis annak object adapter változatában) az Adapter (adaptáló) osztály - amennyiben lehetősége van rá - továbbítja (delegálja) a kéréseket az Adaptee (adaptálandó) osztálynak. ==
+
== 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! ==
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
# Igaz
+
# A Composite osztálynak van egy Component gyűjteménye.
# Hamis
+
# A Component osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból.
 +
# A Component osztálynak van egy közös gyűjteménye (heterogén kollekció) Composite és Leaf objektumokból.
 +
# 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.
  
== Az AutoResetEvent osztályt jellemzően arra használjuk, hogy hatékonyan tudjunk várakozni más szál jelzésére. ==
+
== Egy Windows Forms alapú alkalmazás esetén egy saját státuszbárt (? Státuszsáv) 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=-}}
# Igaz
+
# Dockolás
# Hamis
+
# Anchor
--
+
# FillPanel
 +
# SplitContainer
 +
# Splitter
 +
# Sticky container
 +
# Grid panel
  
== Azonosított .NET szerelvényekből lehet két ugyanolyan nevű telepítve egy számítógépre. ==
+
== 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=-}}
# Igaz
+
# Dockolás
# Hamis
+
# Anchor
 +
# FillPanel
 +
# SplitContainer
 +
# Splitter
 +
# Sticky container
 +
# Grid panel
  
== C# nyelven a statikus tagváltozókat statikus lock objektummal kell védeni (a lock paraméterében statikus tagváltozót használni), mert nem statikus lock objektum alkalmazása esetén nem teljesülne a kölcsönös kizárás. ==
+
== 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=1|pontozás=-}}
 
# Igaz
 
# Hamis
 
 
 
== C# nyelven az "@attribútumnév" szintaktikával lehet deklaratívan annotációkat osztályokhoz fűzni. ==
 
 
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
# Igaz
+
# Groupbox
# Hamis
+
# Checkbox osztályból származtatás
 +
# Form
 +
# Component
 +
# CostumControl leszármaztatás
 +
# UserControl
 +
# Control leszármaztatás
  
== C# nyelven egy eseményre kötelező legalább egy előfizetőt beregisztrálni. ==
+
== 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? ==
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}
# Igaz
+
# Groupbox
# Hamis
+
# Checkbox osztályból származtatás
--
+
# Form
 +
# Component
 +
# CostumControl leszármaztatás
 +
# UserControl
 +
# Control leszármaztatás
  
== Egy .NET osztályunk konstruktorában nagyméretű .NET string tömböt foglalunk. Ez esetben írunk az osztályunkban destruktort és Dispose függvényt, melyben gondoskodunk a tömb felszabadításáról. ==
+
== Egy Windows Forms alapú alkalmazásban a célunk egy összetett (több vezérlőből álló) újrafelhasználható vezérlő kialakítása. 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=6|pontozás=-}}
# Igaz
+
# Groupbox
# Hamis
+
# Checkbox osztályból származtatás
 +
# Form
 +
# Component
 +
# CostumControl leszármaztatás
 +
# UserControl
 +
# Control leszármaztatás
  
== Egy 32 bites számmal történő egyszerű értékadás .NET környezetben mindig atomi. ==
+
== Egy Windows Forms alapú alkalmazásban a célunk egy összetett (több vezérlőből álló), újrafelhasználható vezérlő kialakítása. Mit használna ehhez? ==
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}
# Igaz
+
# Groupbox
# Hamis
+
# Checkbox osztályból származtatás
 +
# Form
 +
# Component
 +
# CostumControl leszármaztatás
 +
# UserControl
 +
# Control leszármaztatás
  
== Egy C# eseményre feliratkozni az = operátorral lehet. ==
+
== 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=-}}
# Igaz
+
# Dockolás
# Hamis
+
# Anchor
 +
# FillPanel
 +
# Splitter
 +
# Sticky container
  
== Egy Win32 CALLBACK függvény olyan függvény, amit az operációs rendszer valósít meg és mi hívunk az alkalmazás fejlesztése során. ==
+
== Egy Windows Forms űrlapra egy Panel objektumot helyezünk olyan módon, hogy a Panel és az űrlap szélei között marad szabad 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=-}}
# Igaz
+
# Dockolás
# Hamis
+
# Anchor
 +
# FillPanel
 +
# Splitter
 +
# Sticky container
  
== Egy Win32 üzenet billentyűlenyomás esetén tartalmazza a lenyomott billentyű kódját. ==
+
== Egy alkalmazásban a CommHandler osztály felelős egy külső rendszer adott szolgáltatásainak eléréséért. A CommHandler osztályt a felhasználói/kliensei egy interfész típusként (ICommHandler) kapják meg és használják. Egy új, jogosultság hozzáférést ellenőrző objektumot szeretnénk beékelni az osztály és a felhasználói közé olyan módon, hogy az osztályt és a felhasználóit a lehető legkevésbé érintse a változtatás. Mely tervezési mintát a legcélszerűbb választani a probléma megoldására? ==
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}
# Igaz
+
# Factory method
# Hamis
+
# Abstract method
--
+
# Composite
 +
# Proxy
 +
# Observer
 +
# Adapter
 +
# Singleton
 +
# Strategy
  
== Egy alkalmazáson belül a Windows üzenetek feldolgozása párhuzamos. ==
+
== Egy alkalmazásban a több helyről is használt SecurityService osztály biztonsági szempontból érzékeny műveleteket végez. A kliens osztályok a SecurityService-t már egy az általa implementált ISecurityService interfészen keresztül érik el. Mely tervezési minta segítségével tudjuk az osztály és a klienseinek módosítása nélkül megoldani, hogy az egyes kérések kiszolgálása csak bizonyos jogosultsági körrel rendelkező kliens kód esetében történjen meg? ==
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}
# Igaz
+
# Composite
# Hamis
+
# Memento
--
+
# Observer
 +
# Strategy
 +
# Singleton
 +
# Proxy
 +
# Factory method
 +
# Adapter
 +
# Abstract factory
  
== Egy nem statikus változót célszerű statikus lockkal (osztályszintű zárral) védeni, mert ez hatékonyabb megoldást jelent. ==
+
== Egy kilens objektum egy nagy erőforrásigényű objektumot használ (pl. Egy szövegszerkesztő nagyméretű képeket), a nagy erőforrásigényű objektumra, azonban nincs mindig szükség, igény esetén tölthető be. A betöltés előtt is szükség van azonban a nagy erőforrásigényű objektum bizonyos paramétereire. Mely tervezési mintát használná a probléma megoldására? ==
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}
# Igaz
+
# Factory method
# Hamis
+
# Abstract method
--
+
# Composite
 +
# Proxy
 +
# Observer
 +
# Adapter
 +
# Singleton
 +
# Strategy
  
== Egy változó növelése .NET környezetben atomi. ==
+
== Egy kiszolgáló alkalmazás esetében praktikusabb külön szálakat indítani az egyes kérések kiszolgálásához, mert a thread-pool szálak elfogyhatnak. 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=-}}
# Igaz
+
# Csak az első tagmondat igaz (+ -)
# Hamis
+
# Csak a második tagmondat igaz (- +)
--
+
# Mindkét tagmondat igaz, de a következtetés hamis (+ + -)
 +
# Mindkét tagmondat igaz és a következtetés is helyes (+ + +)
 +
# Egyik tagmondat sem igaz (- -)
  
== Ha adott két objektum és ezekre a lock utasítással eltérő sorrendben szerez zárat két szál, nem alakulhat ki holtpont. ==
+
== Egy online bolt alkalmazásban a feladata egy a bevásárlókosár lezárását (szállítási cím kezelése, megerősítés, fizetés) kezelő osztály megvalósítása. Az osztálynak több fizetési módot (pl. Bankkártya, átutalás) kell támogatnia, és könnyen kiterjeszthetőnek kell lennie újabb fizetési módokkal. Mely tervezési mintát alkalmazná a megvalósítás során? ==
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}
# Igaz
+
# Composite
# Hamis
+
# Memento
 +
# Observer
 +
# Strategy
 +
# Singleton
 +
# Proxy
 +
# Factory method
 +
# Adapter
 +
# Abstract factory
  
== Ha egy osztályban egy költséges, nem felügyelt erőforrást foglalunk (pl. Win32 API hívással) a konstruktorban és ezt az osztályban eltároljuk, akkor destruktort írunk az osztályba, mert az biztosítja az erőforrás mielőbbi felszabadítását, amint az osztály objektumát nem használjuk.(?) ==
+
== Feladatunk egy olyan alkalmazás megtervezése, mely szervezetek osztályainak hierarchiáját képes egy diagramon megjeleníteni. Egy szervezeten belül lehetnek osztályok és személyek, az osztályokon belül további osztályok és személyek, tetszőleges mélységben. Mely tervezési mintát a legcélszerűbb választani a probléma modellezésére? ==
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=8|pontozás=-}}
# Igaz
+
# Prototype
# Hamis
+
# Memento
 +
# Observer
 +
# Strategy
 +
# Singleton
 +
# Proxy
 +
# Factory method
 +
# Composite
 +
# Abstract factory
  
== IL-t könnyű visszafejteni. ==
+
== Jelölje meg a helyes választ! ==
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
# Igaz
+
# A Proxy tervezési mintában a Proxy objektum egy transzparens csomagoló az eredeti objektum körül, mely szabályozza az eredeti objektumhoz való hozzáférést.
# Hamis
+
# A Proxy tervezési minta adatok cache-elésére használt a web-en, a kérések gyorsabb kiszolgálása érdekében.
--
+
# A Proxy tervezési minta adatok cache-elésére használt bármilyen kontextusban, a kérések gyorsabb kiszolgálása érdekében.
 +
# A Proxy tervezési mintában a kliens objektum az eredeti kiszolgáló helyett egy proxy objektumra mutat, és amikor szükséges, a mutatót az eredeti kiszolgáló objektumra állítjuk, hogy az szolgálja ki a kliens kéréseit
 +
# A Proxy tervezési minta lehetővé teszi az egymással nem kompatibilis objektumok együttműködését.
  
== ReaderWriterLock osztály lehetővé teszi, hogy egy erőforrást több szál is írjon egyszerre. ==
+
== Mi a Composite tervezési minta elsődleges célja? ==
 
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
# Igaz
+
# Lehetővé teszi objektumok tetszőleges mélységben való egymásba ágyazását, és támogatja ezen objektumok fastruktúrába szervezését.
# Hamis
+
# Lehetővé teszi, hogy bizonyos műveletek tekintetében ne kelljen az elemi és összetett objektumokat megkülönböztetni, és támogatja ezen objektumok fastruktúrába szervezését.
 +
# Lehetővé teszi, hogy összetett objektumokat úgy kezeljünk, hogy könnyű legyen új összetett objektumtípust bevezetni (a meglevőket ne legyen szükséges módosítani), valamint támogatja az objektumok fastruktúrába szervezését.
 +
# Lehetővé teszi elemi és összetett objektumok közös heterogén kollekcióban való tárolását, valamint támogatja ezen objektumok fastruktúrába szervezését.
  
== Windows Forms nem modális dialógusablak a DialogResult-ban tudja jelezni, hogy a felhasználó Ok vagy Cancel gombbal zárta be a dialógus ablakot. ==
+
== Mi a tervezési minták egyik elsődleges célja? ==
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
 
# Igaz
 
# Hamis
 
 
 
== Windows Forms nem támogat lineáris transzformációkat. ==
 
 
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
 
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}
# Igaz
+
# Adott funckionalitás legkevesebb kóddal történő megvalósítása.
# Hamis
+
# A kód újrafelhasználhatóságának elősegítése.
 +
# Adott üzleti problémák jól érthető modellezése.
 +
# Jobb teljesítményű kód írása.
 +
# A valóság minél érthetőbb modellezése.
  
== Windows Forms vezérlők (Control) között lehetőség van a szülő/gyerek és birtokos/birtokolt viszony kialakítására. ==
+
== Mi az Observer tervezési minta elsődleges célja? Jelölje meg a helyes választ! ==
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}
# Igaz
+
# Lehetővé teszi a felhasználói eseményekre való reagálást.
# Hamis
+
# Lehetővé teszi, hogy egy dokumentum nézetei értesüljenek a dokumentum változásáról.
 +
# Lehetővé teszi objektumok könnyű megfigyelését az objektumok becsomagolásával.
 +
# Lehetővé teszi, hogy objektumok (közvetve) úgy értesítsék egymást állapotuk megváltozásáról, hogy nem tudnak egymásról.
 +
# Lehetővé teszi algoritmusok folyamatának (progress) monitorozását.
  
== Windows Forms vezérlők (Control) között lehetőség van szülő/gyerek viszony kialakítására. ==
+
== Ön egy alkalmazást fejleszt .NET platformra. Az alkalmazást a felhasználók a saját gépeiken több példányban is mepróbálhatják elindítani (akár teljesen egyidőben). Az ön feladata annak megoldása, hogy az alkalmazás csak egy példányban fusson: vagyis, ha az alkalmazásból úgy indít új példányt a felhasználó, hogy már fut, akkor az újabb példány ezt detektálja, és azonnal lépjen ki (fejezze be a futását). Mit használna az alábbiak közül ennek megvalósításához? ==
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
+
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}
# Igaz
+
# Lock
# Hamis
+
# Synchronized
 
+
# StartCoordinator
== Windows Forms űrlapok (Form) között lehetőség van birtokos/birtokolt viszony kialakítására. ==
+
# AutoResetEvent
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}
+
# Mutex
# Igaz
+
# Singleton
# Hamis
+
# ThreadPool

A lap 2023. június 11., 18:56-kori változata

Kikérdező
Statisztika
Átlagteljesítmény
-
Eddigi kérdések
0
Kapott pontok
0
Alapbeállított pontozás
(-)
-
Beállítások
Minden kérdés látszik
-
Véletlenszerű sorrend
-
-


Tartalomjegyzék

.NET környezetben egy kiszolgáló alkalmazást készítünk, melynek egyidőben nagyon sok klienst kell tudni kiszolgálnia. Adja meg annak a .NET fogalomnak/osztálynak a nevét maximum egy-két szóval, amit ilyen esetben a legcélszerűbb használni a klisensek hatékony párhuzamos kiszolgálása érdekében.

Típus: egy. Válasz: 3. Pontozás: -.

  1. Deadlock
  2. Lock
  3. Thread-pool
  4. Control.Invoke

.NET környezetben egy munkaszálból szeretnénk egy a fő szálból létrehozott TextBox Text tulajdonságát lekérdezni. Adja meg milyen mechanizmust/műveletet kell ehhez használni?

Típus: egy. Válasz: 4. Pontozás: -.

  1. Deadlock
  2. Lock
  3. Thread-pool
  4. Control.Invoke

.NET környezetben egy objektumot gyakran olvasunk, de ritkán írunk. Mit használna a kölcsönös kizárás megvalósítására?

Típus: egy. Válasz: 3. Pontozás: -.

  1. WriterLock
  2. ReaderLock
  3. ReaderWriterLock
  4. ExecuterLock

.NET környezetben egy szálban hatékonyan kell várakozni arra, hogy egy másik szál valamilyen adatot előkészítse a számára. Milyen szinkronizációs konstrukciót a legcélszerűbb erre használni?

Típus: egy. Válasz: 4. Pontozás: -.

  1. Lock
  2. Synchronized
  3. Mutex
  4. ManualResetEvet
  5. ReaderWriterLock
  6. Semaphore

.NET környezetben egy többszálú alkalmazást készítünk, melyben az egyik szál lock utasítással zárat szerez előbb X, majd Y objektum paraméterekkel. Egy másik szál előbb az Y, majd az X paraméterekkel szerez zárat. Adja meg egy szóval, minek a veszélye áll fent egy ilyen forgatókönyv esetén?

Típus: egy. Válasz: 1. Pontozás: -.

  1. Deadlock
  2. Lock
  3. Thread-pool

A .NET Windows Forms bizonyos osztályai a beépített Component osztályból származnak. Mi ennek a következménye?

Típus: egy. Válasz: 1. Pontozás: -.

  1. Lehetőség van a Visual Studio designerében felparaméterezni.
  2. Natív ablakot csomagol be.
  3. Szülő-gyerek viszonyban állíthatók egymással.
  4. Örökli a vezérlőkre közös tulajdonságokat, mint pl. A helye, mérete, stb.

A feladat egy Pipes and filters (csővezeték) architektúrájú alkalmazás elkészítése, melynek során célunk egy több CPU magos hardver környezet lehető legjobb kihasználása. Melyik megközelítést választaná ehhez?

Típus: egy. Válasz: 5. Pontozás: -.

  1. Passzív szűrő által vezérelt
  2. Csővezeték által vezérelt
  3. Adatnyelő által vezérelt
  4. Adatforrás által vezérelt
  5. Aktív szűrő által vezérelt

A feladatunk egy ablakozós keretrendszer kifejlesztése. A keretrendszerben bevezetünk egy absztrakt Window osztályt, melyből a keretrendszerre épülő alkalmazások fejlesztésekor le kell származtatni és meg kell valósítani az alkalmazásspecifikus ablak viselkedését. A keretrendszerben egy WindowManager osztályt is megvalósítunk, melynek felelőssége bizonyos feltételek esetén a Window leszármazott objektumok létrehozása, tárolása és menedzselése. A felületelemek vonatkozásában (pl. Button, Dropdown, stb.) az alkalmazásfejlesztőknek nem kell a keretrendszer osztályaiból leszármaztatni. Mely tervezési mintát a legcélszerűbb választani a Window leszármaztatott osztály keretrendszeren belüli létrehozására? Olyan megoldást válasszon, mely a legkevesebb új osztály bevezetésével jár.

Típus: egy. Válasz: 7. Pontozás: -.

  1. Composite
  2. Memento
  3. Observer
  4. Strategy
  5. Singleton
  6. Proxy
  7. Factory method
  8. Adapter
  9. Abstract factory

A feladatunk egy alkalmazás elkészítése egy gyártósor által előállított termék különböző modelljeinek a teszteléséhez. A különböző modellekhez mindig ugyanazon alkatrészkategóriákból (pl. Hangszóró, csatlakozó, vezérlőegység stb.) van szükség egy-egy alkatrészre, de az egyes modellekhez az egyes alkatrészkategóriákból más-más modellspecifikus alkatrész beépítésére van szükség (pl. Más típusú hangszóró, csatlakozó stb.) tartozik a Galaxy S20 és Galaxy A20 modellekhez), melyekhez az alkalmazásunkban különböző tesztelést végző osztálybeli objektumra van szükség. Mely tervezési minta alkalmazása a legcélszerűbb az alábbiak közül?

Típus: egy. Válasz: 9. Pontozás: -.

  1. Composite
  2. Memento
  3. Observer
  4. Strategy
  5. Singleton
  6. Proxy
  7. Factory method
  8. Adapter
  9. Abstract factory

A feladatunk egy keretrendszer megtervezése. A keretrendszerben létre kell hozni egy adott típusú objektumot, de annak típusát nem ismerjük, mert az csak a keretrendszerre épülő alkalmazás esetén dől el. Mely tervezési mintát használná a probléma megoldására?

Típus: egy. Válasz: 1. Pontozás: -.

  1. Factory method
  2. Abstract method
  3. Composite
  4. Proxy
  5. Observer
  6. Adapter
  7. Singleton
  8. Strategy

A szoftverarchitektúra jelentőségét szokás egy kiegyensúlyozott mérleggel is ábrázolni. Mire vonatkozik ez?

Típus: egy. Válasz: 1. Pontozás: -.

  1. A szoftvernek jól kell működnie (funkcionalitás), de ugyanilyen fontos, hogy legyen jól struktúrált.
  2. Az architektúra különböző aspektusainak, úgymint szerkezet, karbantarthatóság, tesztelhetőség egyensúlyban kell lennie.
  3. A szoftvert magas szinten alapvetően azonos léptékű modulokra célszerű bontani.
  4. Az architektúra/kód struktúrálás kihat a teljesítményre (pl. Túl sok modul/réteg csökkenti a teljesítményt), ennek vonatkozásában meg kell találni az egyensúlyt.

Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, mely egymásba ágyazott zárakat tartalmaz.
class Program{
static object syncObject = new object();
static void Main(string[] args){
lock (syncObject) {
f();}}
static void f(){
lock (syncObject) {
Console.WriteLine("Hello!");}}}

Típus: egy. Válasz: 1. Pontozás: -.

  1. Az alkalmazás kiírja a "Hello!" szöveget a konzolra.
  2. Az alkalmazás soha nem fejezi be a futását, mert az f() függvényben a lock utasításnál már egy a Main függvényben zárolt objektumra próbál zárolni (holtpont alakul ki).
  3. Az f() függvényben a lock utasítás kivételt dob annak érdekében, hogy ne alakuljon ki holtpont.

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).
class DataProcessor{
List<int> items = new List<int>();
static object syncObject = new object();
public int GetItem(int index) {
lock (syncObject) { return items[index]; }}
public void AddItem(int n) {
lock (syncObject) { items.Add(n); }}}

Típus: egy. Válasz: 3. Pontozás: -.

  1. 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.
  2. A megoldás szálbiztos (thread safe) és nem tehető triviális módon hatékonyabbá.
  3. A megoldás szálbiztos (thread safe), de a syncObject tagváltozó előtti a static kulcsszó eltávolításával hatékonyabbá tehető.
  4. 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 Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:
Data Read(){
Data data = prevFilter.Read();
Data processedData = ProcessedData(data);return processedData; }

Típus: egy. Válasz: 2. Pontozás: -.

  1. Adatforrás által vezérelt.
  2. Adatnyelő által vezérelt.
  3. Csővezeték által vezérelt.
  4. Aktív szűrő által vezérelt.
  5. 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:
void Write(Data data){
Data processedData ProcessData(data);
nextFilter.Write(processedData);
}

Típus: egy. Válasz: 1. Pontozás: -.

  1. Adatforrás által vezérelt.
  2. Adatnyelő által vezérelt.
  3. Csővezeték által vezérelt.
  4. Aktív szűrő által vezérelt.
  5. Passzív szűrő által vezérelt.

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?

void Run(){
Data data;
while(data = inputPipe.Read()){
Data processedData = ProcessedData(data);
outputPipe.Write(processedData);}}}

Típus: egy. Válasz: 4. Pontozás: -.

  1. Csővezeték által vezérelt.
  2. Passzív szűrő által vezérelt.
  3. Adatnyelő által vezérelt.
  4. Aktív szűrő által vezérelt.
  5. Adatforrás által vezérelt.

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.
IConnection conn = new OracleConnection();
conn.Open();
ICommand cmd = new OracleCommand("SELECT * FROM Orders");
cmd.ExecuteReader();

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!

Típus: egy. Válasz: 2. Pontozás: -.

  1. Proxy
  2. Abstract Factory
  3. Factory Method
  4. Adapter
  5. Strategy

Adott az alábbi állítás: C# nyelven a nem statikus tagváltozókat nem statikus lock objektummal kell védeni, mert statikus lock objektum alkalmazása esetén nem teljesülne a kölcsönös kizárás (inkonzisztens állapotba kerülhetne a védett objektum). Jelölje meg a helyes választ!

Típus: egy. Válasz: 1. Pontozás: -.

  1. Csak az első tagmondat igaz (+ -)
  2. Csak a második tagmondat igaz (- +)
  3. Mindkét tagmondat igaz, de a következtetés hamis (+ + -)
  4. Mindkét tagmondat igaz és a következtetés is helyes (+ + +)
  5. Egyik tagmondat sem igaz (- -)

Adott egy osztály. Az objektumainak állapotát úgy szeretnénk elmenteni és visszaállítani egy másik osztályból, hogy nem tesszük publikussá a tagváltozóit. Mely tervezési mintát célszerű használni a megoldás során?

Típus: egy. Válasz: 6. Pontozás: -.

  1. Proxy
  2. Repository
  3. Strategy
  4. Command Processor
  5. Snapshot
  6. Memento
  7. Command

Az alábbiak közül mely adatok teszik egyedivé az erős névvel ellátott (azonosított) .NET szerelvényeket? Jelölje meg a helyes választ!

Típus: egy. Válasz: 2. Pontozás: -.

  1. Név, fejlesztő cég privát kulcsa, verzió, opcionális kultúra információ
  2. Név, fejlesztő cég nyilvános kulcsa, verzió, opcionális kultúra információ
  3. Név, verzió, pcionális kultúra információ
  4. Név, fejlesztő cég nyilvános kulcsa, verzió, digitális aláírás, opcionális kultúra információ

Az egyik tervezési minta azt javasolja, hogy a származtatás/komplex hierarchia helyett az osztály viselkedésének különböző aspektusait kompozícióval tegyük paraméterezhetővé. Melyzik ez a tervezési minta?

Típus: egy. Válasz: 4. Pontozás: -.

  1. Composite
  2. Memento
  3. Observer
  4. Strategy
  5. Singleton
  6. Proxy
  7. Factory method
  8. Adapter
  9. Abstract factory

C# nyelvű kódunkban egy olyan objektumot hozunk létre, mely nem felügyelt erőforrást használ/csomagol be. Milyen C# konstrukciót használunk ilyen esetben ha biztosítani szeretnénk a nem felügyelt erőforrás mielőbbi felszabadítását, miután befejeztük a használatát?

Típus: egy. Válasz: 5. Pontozás: -.

  1. Destroy
  2. Discard
  3. Using blokk
  4. Finalize
  5. Destuktor

C# nyelvű kódunkban egy olyan objektumot hozunk létre, mely nem felügyelt erőforrást használ/csomagol be. Milyen C# konstrukciót használunk ilyen esetben, ha biztosítani szeretnénk a nem felügyelt erőforrás mielőbbi felszabadítását, miután befejeztük a használatát?

Típus: egy. Válasz: 5. Pontozás: -.

  1. Destroy
  2. Dispose
  3. Using blokk
  4. Finalize
  5. Destruktor

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!

Típus: egy. Válasz: 1. Pontozás: -.

  1. A Composite osztálynak van egy Component gyűjteménye.
  2. A Component osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból.
  3. A Component osztálynak van egy közös gyűjteménye (heterogén kollekció) Composite és Leaf objektumokból.
  4. A Composite osztálynak van egy gyűjteménye Component, valamint egy másik gyűjteménye Leaf objektumokból.
  5. A Client osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból.

Egy Windows Forms alapú alkalmazás esetén egy saját státuszbárt (? Státuszsáv) 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?

Típus: egy. Válasz: 1. Pontozás: -.

  1. Dockolás
  2. Anchor
  3. FillPanel
  4. SplitContainer
  5. Splitter
  6. Sticky container
  7. Grid panel

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?

Típus: egy. Válasz: 1. Pontozás: -.

  1. Dockolás
  2. Anchor
  3. FillPanel
  4. SplitContainer
  5. Splitter
  6. Sticky container
  7. Grid panel

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?

Típus: egy. Válasz: 2. Pontozás: -.

  1. Groupbox
  2. Checkbox osztályból származtatás
  3. Form
  4. Component
  5. CostumControl leszármaztatás
  6. UserControl
  7. Control leszármaztatás

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?

Típus: egy. Válasz: 6. Pontozás: -.

  1. Groupbox
  2. Checkbox osztályból származtatás
  3. Form
  4. Component
  5. CostumControl leszármaztatás
  6. UserControl
  7. Control leszármaztatás

Egy Windows Forms alapú alkalmazásban a célunk egy összetett (több vezérlőből álló) újrafelhasználható vezérlő kialakítása. Mit használna ehhez?

Típus: egy. Válasz: 6. Pontozás: -.

  1. Groupbox
  2. Checkbox osztályból származtatás
  3. Form
  4. Component
  5. CostumControl leszármaztatás
  6. UserControl
  7. Control leszármaztatás

Egy Windows Forms alapú alkalmazásban a célunk egy összetett (több vezérlőből álló), újrafelhasználható vezérlő kialakítása. Mit használna ehhez?

Típus: egy. Válasz: 6. Pontozás: -.

  1. Groupbox
  2. Checkbox osztályból származtatás
  3. Form
  4. Component
  5. CostumControl leszármaztatás
  6. UserControl
  7. Control leszármaztatás

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

Típus: egy. Válasz: 2. Pontozás: -.

  1. Dockolás
  2. Anchor
  3. FillPanel
  4. Splitter
  5. Sticky container

Egy Windows Forms űrlapra egy Panel objektumot helyezünk olyan módon, hogy a Panel és az űrlap szélei között marad szabad 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).

Típus: egy. Válasz: 2. Pontozás: -.

  1. Dockolás
  2. Anchor
  3. FillPanel
  4. Splitter
  5. Sticky container

Egy alkalmazásban a CommHandler osztály felelős egy külső rendszer adott szolgáltatásainak eléréséért. A CommHandler osztályt a felhasználói/kliensei egy interfész típusként (ICommHandler) kapják meg és használják. Egy új, jogosultság hozzáférést ellenőrző objektumot szeretnénk beékelni az osztály és a felhasználói közé olyan módon, hogy az osztályt és a felhasználóit a lehető legkevésbé érintse a változtatás. Mely tervezési mintát a legcélszerűbb választani a probléma megoldására?

Típus: egy. Válasz: 4. Pontozás: -.

  1. Factory method
  2. Abstract method
  3. Composite
  4. Proxy
  5. Observer
  6. Adapter
  7. Singleton
  8. Strategy

Egy alkalmazásban a több helyről is használt SecurityService osztály biztonsági szempontból érzékeny műveleteket végez. A kliens osztályok a SecurityService-t már egy az általa implementált ISecurityService interfészen keresztül érik el. Mely tervezési minta segítségével tudjuk az osztály és a klienseinek módosítása nélkül megoldani, hogy az egyes kérések kiszolgálása csak bizonyos jogosultsági körrel rendelkező kliens kód esetében történjen meg?

Típus: egy. Válasz: 6. Pontozás: -.

  1. Composite
  2. Memento
  3. Observer
  4. Strategy
  5. Singleton
  6. Proxy
  7. Factory method
  8. Adapter
  9. Abstract factory

Egy kilens objektum egy nagy erőforrásigényű objektumot használ (pl. Egy szövegszerkesztő nagyméretű képeket), a nagy erőforrásigényű objektumra, azonban nincs mindig szükség, igény esetén tölthető be. A betöltés előtt is szükség van azonban a nagy erőforrásigényű objektum bizonyos paramétereire. Mely tervezési mintát használná a probléma megoldására?

Típus: egy. Válasz: 4. Pontozás: -.

  1. Factory method
  2. Abstract method
  3. Composite
  4. Proxy
  5. Observer
  6. Adapter
  7. Singleton
  8. Strategy

Egy kiszolgáló alkalmazás esetében praktikusabb külön szálakat indítani az egyes kérések kiszolgálásához, mert a thread-pool szálak elfogyhatnak. Jelölje meg a helyes választ!

Típus: egy. Válasz: 2. Pontozás: -.

  1. Csak az első tagmondat igaz (+ -)
  2. Csak a második tagmondat igaz (- +)
  3. Mindkét tagmondat igaz, de a következtetés hamis (+ + -)
  4. Mindkét tagmondat igaz és a következtetés is helyes (+ + +)
  5. Egyik tagmondat sem igaz (- -)

Egy online bolt alkalmazásban a feladata egy a bevásárlókosár lezárását (szállítási cím kezelése, megerősítés, fizetés) kezelő osztály megvalósítása. Az osztálynak több fizetési módot (pl. Bankkártya, átutalás) kell támogatnia, és könnyen kiterjeszthetőnek kell lennie újabb fizetési módokkal. Mely tervezési mintát alkalmazná a megvalósítás során?

Típus: egy. Válasz: 4. Pontozás: -.

  1. Composite
  2. Memento
  3. Observer
  4. Strategy
  5. Singleton
  6. Proxy
  7. Factory method
  8. Adapter
  9. Abstract factory

Feladatunk egy olyan alkalmazás megtervezése, mely szervezetek osztályainak hierarchiáját képes egy diagramon megjeleníteni. Egy szervezeten belül lehetnek osztályok és személyek, az osztályokon belül további osztályok és személyek, tetszőleges mélységben. Mely tervezési mintát a legcélszerűbb választani a probléma modellezésére?

Típus: egy. Válasz: 8. Pontozás: -.

  1. Prototype
  2. Memento
  3. Observer
  4. Strategy
  5. Singleton
  6. Proxy
  7. Factory method
  8. Composite
  9. Abstract factory

Jelölje meg a helyes választ!

Típus: egy. Válasz: 1. Pontozás: -.

  1. A Proxy tervezési mintában a Proxy objektum egy transzparens csomagoló az eredeti objektum körül, mely szabályozza az eredeti objektumhoz való hozzáférést.
  2. A Proxy tervezési minta adatok cache-elésére használt a web-en, a kérések gyorsabb kiszolgálása érdekében.
  3. A Proxy tervezési minta adatok cache-elésére használt bármilyen kontextusban, a kérések gyorsabb kiszolgálása érdekében.
  4. A Proxy tervezési mintában a kliens objektum az eredeti kiszolgáló helyett egy proxy objektumra mutat, és amikor szükséges, a mutatót az eredeti kiszolgáló objektumra állítjuk, hogy az szolgálja ki a kliens kéréseit
  5. A Proxy tervezési minta lehetővé teszi az egymással nem kompatibilis objektumok együttműködését.

Mi a Composite tervezési minta elsődleges célja?

Típus: egy. Válasz: 2. Pontozás: -.

  1. Lehetővé teszi objektumok tetszőleges mélységben való egymásba ágyazását, és támogatja ezen objektumok fastruktúrába szervezését.
  2. Lehetővé teszi, hogy bizonyos műveletek tekintetében ne kelljen az elemi és összetett objektumokat megkülönböztetni, és támogatja ezen objektumok fastruktúrába szervezését.
  3. Lehetővé teszi, hogy összetett objektumokat úgy kezeljünk, hogy könnyű legyen új összetett objektumtípust bevezetni (a meglevőket ne legyen szükséges módosítani), valamint támogatja az objektumok fastruktúrába szervezését.
  4. Lehetővé teszi elemi és összetett objektumok közös heterogén kollekcióban való tárolását, valamint támogatja ezen objektumok fastruktúrába szervezését.

Mi a tervezési minták egyik elsődleges célja?

Típus: egy. Válasz: 2. Pontozás: -.

  1. Adott funckionalitás legkevesebb kóddal történő megvalósítása.
  2. A kód újrafelhasználhatóságának elősegítése.
  3. Adott üzleti problémák jól érthető modellezése.
  4. Jobb teljesítményű kód írása.
  5. A valóság minél érthetőbb modellezése.

Mi az Observer tervezési minta elsődleges célja? Jelölje meg a helyes választ!

Típus: egy. Válasz: 4. Pontozás: -.

  1. Lehetővé teszi a felhasználói eseményekre való reagálást.
  2. Lehetővé teszi, hogy egy dokumentum nézetei értesüljenek a dokumentum változásáról.
  3. Lehetővé teszi objektumok könnyű megfigyelését az objektumok becsomagolásával.
  4. Lehetővé teszi, hogy objektumok (közvetve) úgy értesítsék egymást állapotuk megváltozásáról, hogy nem tudnak egymásról.
  5. Lehetővé teszi algoritmusok folyamatának (progress) monitorozását.

Ön egy alkalmazást fejleszt .NET platformra. Az alkalmazást a felhasználók a saját gépeiken több példányban is mepróbálhatják elindítani (akár teljesen egyidőben). Az ön feladata annak megoldása, hogy az alkalmazás csak egy példányban fusson: vagyis, ha az alkalmazásból úgy indít új példányt a felhasználó, hogy már fut, akkor az újabb példány ezt detektálja, és azonnal lépjen ki (fejezze be a futását). Mit használna az alábbiak közül ennek megvalósításához?

Típus: egy. Válasz: 5. Pontozás: -.

  1. Lock
  2. Synchronized
  3. StartCoordinator
  4. AutoResetEvent
  5. Mutex
  6. Singleton
  7. ThreadPool