<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kov%C3%A1cs+Hunor+Lajos</id>
	<title>VIK Wiki - Felhasználó közreműködései [hu]</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kov%C3%A1cs+Hunor+Lajos"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/Speci%C3%A1lis:Szerkeszt%C5%91_k%C3%B6zrem%C5%B1k%C3%B6d%C3%A9sei/Kov%C3%A1cs_Hunor_Lajos"/>
	<updated>2026-04-13T06:00:22Z</updated>
	<subtitle>Felhasználó közreműködései</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=Sznik%C3%A1k_vizsga_kik%C3%A9rdez%C5%91&amp;diff=206523</id>
		<title>Sznikák vizsga kikérdező</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Sznik%C3%A1k_vizsga_kik%C3%A9rdez%C5%91&amp;diff=206523"/>
		<updated>2025-06-01T17:00:07Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: rejtőzködő forms-os kérdés eltávolítása&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vissza|Szoftvertechnikák}}&lt;br /&gt;
&#039;&#039; Megjegyzés: A (?) jelölt kérdésekre a válasz nem 100%-ig helyes, amennyiben tudod rá a helyes választ, írd át a helyes megoldásra vagy épp szedd ki a ?-et a kérdésből, ha alapból jó a válasz, ezzel segítve a többiek, és az én munkámat! :) &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{kvízoldal|cím=vizsga felkészítő kikérdező|pontozás=-}}&lt;br /&gt;
&lt;br /&gt;
== .JIT köztes kódot fordítja natív gépi kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET Framework alapú konzol alkalmazások Linuxon is futnak. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET Framework alapú környezetben egy könyvtárat (dll) készítünk. Jelölje meg, mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# A könyvtár kódja könnyen visszafejthető.&lt;br /&gt;
# Lehetőség van a könyvtár egy kulcspár privát tagjával történő digitális aláírására.&lt;br /&gt;
# A könyvtárat semmilyen feltételek mellett nem célszerű központi helyre telepíteni, mert névütközés veszélye áll fent.&lt;br /&gt;
# A könyvtárat semmilyen feltételek mellett nem célszerű központi helyre telepíteni, mert verzióütközés veszélye áll fent.&lt;br /&gt;
# A könyvtárat priváttá tehetjük azáltal, hogy egy kulcspár titkos kulcsával titkosítjuk.&lt;br /&gt;
&lt;br /&gt;
== .NET NuGet csomagok formájában lehet kiegészítő könyvtárakat letölteni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET beépített osztályok legtöbbje szálbiztos. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET környezetben 2 folyamat között kölcsönös kizárás a lock utasítással megvalósítható. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET környezetben egy folyamat a kilépéskor bevárja az összes előtér szálat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
# Control.Invoke&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# WriterLock&lt;br /&gt;
# ReaderLock&lt;br /&gt;
# ReaderWriterLock&lt;br /&gt;
# ExecuterLock&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Lock&lt;br /&gt;
# Synchronized&lt;br /&gt;
# Mutex&lt;br /&gt;
# ManualResetEvet&lt;br /&gt;
# ReaderWriterLock&lt;br /&gt;
# Semaphore&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
&lt;br /&gt;
== .NET több nyelvet is támogat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET Core csak Windowson fut. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET alkalmazásban a .NET &amp;quot;megkerülésével&amp;quot;, 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET nem támogatja a (managed) C++ nyelvet. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET szerelvények (exe, dll) natív gépi kódú utasításokat tartalmaznak. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET több programozási nyelvet is támogat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A C# delegate objektumok a C függvénypointerek modern megfelelői, ugyanakkor több függvényre is tudnak mutatni/hivatkozni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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). ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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). ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A JIT fordító a C# kódot fordítja IL kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A JIT fordító a köztes kódot fordítja natív gépi kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Singleton tervezési minta célja mindösszesen az, hogy egy adott osztályból egyetlen példányt lehessen létrehozni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Win32 API függvények számos programozói környezetből, pl. .NET alól is elérhetők. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Win32 API-t jellemzően C# nyelven programozzuk. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,4,9,12|pontozás=-}}&lt;br /&gt;
# Event void SpeedLimitExceededDelegate(int speed, double percent);&lt;br /&gt;
# Delegate void SpeedLimitExceededDelegate(int speed, double percent);&lt;br /&gt;
# Public SpeedLimitExceededDelegate SpeedLimitExceeded;&lt;br /&gt;
# Public event SpeedLimitExceededDelegate SpeedLimitExceeded;&lt;br /&gt;
# Public delegate SpeedLimitExceededDelegate SpeedLimitExceeded;&lt;br /&gt;
# Public event SpeedLimitExceededDelegate SpeedLimitExceeded(int speed, double percent);&lt;br /&gt;
# Public SpeedLimitExceededDelegate SpeedLimitExceeded(int speed, double percent);&lt;br /&gt;
# Public delegate SpeedLimitExceededDelegate SpeedLimitExceeded(int speed, double percent);&lt;br /&gt;
# If (SpeedLimitExceeded != null)&lt;br /&gt;
# If (SpeedLimitExceededDelegate != null)&lt;br /&gt;
# SpeedLimitExceededDelegate(speed, percent);&lt;br /&gt;
# SpeedLimitExceeded(speed, percent)&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}&lt;br /&gt;
# Passzív szűrő által vezérelt&lt;br /&gt;
# Csővezeték által vezérelt&lt;br /&gt;
# Adatnyelő által vezérelt&lt;br /&gt;
# Adatforrás által vezérelt&lt;br /&gt;
# Aktív szűrő által vezérelt&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=7|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=9|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Factory method&lt;br /&gt;
# Abstract method&lt;br /&gt;
# Composite&lt;br /&gt;
# Proxy&lt;br /&gt;
# Observer&lt;br /&gt;
# Adapter&lt;br /&gt;
# Singleton&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A privát .NET szerelvények telepítése egyszerű, csak fel kell másolni a számítógépre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A szoftverarchitektúra jelentőségét szokás egy kiegyensúlyozott mérleggel is ábrázolni. Mire vonatkozik ez? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# A szoftvernek jól kell működnie (funkcionalitás), de ugyanilyen fontos, hogy legyen jól struktúrált.&lt;br /&gt;
# Az architektúra különböző aspektusainak, úgymint szerkezet, karbantarthatóság, tesztelhetőség egyensúlyban kell lennie.&lt;br /&gt;
# A szoftvert magas szinten alapvetően azonos léptékű modulokra célszerű bontani.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Adja meg mely állítás igaz a kiszolgáló oldali megvalósításra! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,4,5|pontozás=-}}&lt;br /&gt;
# A kiszolgáló oldali kód általában lefordítható, így a hibák egy része már fordításkor kiderül.&lt;br /&gt;
# Ha szüksége van interakcióra a kliens oldallal, akkor kis adatforgalommal, hatékonyan tud kommunikálni.&lt;br /&gt;
# Gyorsabb, mint a kliens oldali, mert nincs szükség interakcióra a klienssel.&lt;br /&gt;
# A kiszolgáló oldali kóddal általában könnyebb böngésző független megvalósítást készíteni.&lt;br /&gt;
# Az alkalmazás futása gyorsabb a kliens oldalihoz képest.&lt;br /&gt;
&lt;br /&gt;
== Adja meg mely állítás igaz a kliens oldali megvalósításra! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3|pontozás=-}}&lt;br /&gt;
# A kliens oldali kód általában lefordítható, így a hibák egy része már fordításkor kiderül.&lt;br /&gt;
# Ha szüksége van interakcióra a kiszolgálóval, akkor kis adatforgalommal, hatékonyan tud kommunikálni.&lt;br /&gt;
# Gyorsabb, mint a kiszolgáló oldali, mert nincs szükség interakcióra a kiszolgálóval.&lt;br /&gt;
# A kliens oldali kóddal általában könnyebb böngésző független megvalósítást készíteni.&lt;br /&gt;
# Az alkalmazás futása gyorsabb a kiszolgáló oldalihoz képest.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, mely egymásba ágyazott zárakat tartalmaz.&amp;lt;code&amp;gt;&amp;lt;br&amp;gt;class Program{&amp;lt;br&amp;gt;static object syncObject = new object();&amp;lt;br&amp;gt;static void Main(string[] args){&amp;lt;br&amp;gt;lock (syncObject) {&amp;lt;br&amp;gt;f();}}&amp;lt;br&amp;gt;static void f(){&amp;lt;br&amp;gt;lock (syncObject) {&amp;lt;br&amp;gt;Console.WriteLine(&amp;quot;Hello!&amp;quot;);}}}&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Az alkalmazás kiírja a &amp;quot;Hello!&amp;quot; szöveget a konzolra.&lt;br /&gt;
# 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).&lt;br /&gt;
# Az f() függvényben a lock utasítás kivételt dob annak érdekében, hogy ne alakuljon ki holtpont.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, melyben a .NET beépített List&amp;lt;T&amp;gt; osztályát használjuk (és nem lehet helyette más osztályt használni).&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;class DataProcessor{&amp;lt;br&amp;gt;List&amp;lt;int&amp;gt; items = new List&amp;lt;int&amp;gt;();&amp;lt;br&amp;gt;static object syncObject = new object();&amp;lt;br&amp;gt;public int GetItem(int index) {&amp;lt;br&amp;gt;lock (syncObject) { return items[index]; }}&amp;lt;br&amp;gt;public void AddItem(int n) {&amp;lt;br&amp;gt;lock (syncObject) { items.Add(n); }}} &amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# A megoldás szálbiztos (thread safe) és nem tehető triviális módon hatékonyabbá.&lt;br /&gt;
# 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ő.&lt;br /&gt;
# A megoldás szálbiztos (thread safe), de a lock utasítások eltávolításával hatékonyabbá tehető.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet. &amp;lt;code&amp;gt;&amp;lt;br&amp;gt;class Counter{&amp;lt;br&amp;gt;int counter = 0; // *1&amp;lt;br&amp;gt;object syncRoot = new object(); // *2&amp;lt;br&amp;gt;public int GetValue() // *3&amp;lt;br&amp;gt;{&amp;lt;br&amp;gt;lock (syncRoot)&amp;lt;br&amp;gt;{ return counter; }&amp;lt;br&amp;gt;}&amp;lt;br&amp;gt;public void IncreaseCounter(int delta) // *4&amp;lt;br&amp;gt;{&amp;lt;br&amp;gt;lock (syncRoot)&amp;lt;br&amp;gt;{ counter += delta; }}}&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,3|pontozás=-}}&lt;br /&gt;
# A *2 sor elejére nem kell plusszban beírni a static kulcsszót, anélkül is helyes a működés.&lt;br /&gt;
# A kód nem működne megfelelően, ha a *2 sorban a syncRoot típusát int-re cserélnénk.&lt;br /&gt;
# A *3 GetValue() függvényben a lock utasítás eltávolítható (ha legalább 32 bites környezetről van szó).&lt;br /&gt;
# A *4 IncreaseCounter() függvényben a lock utasítás eltávolítható.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet.&amp;lt;code&amp;gt;&amp;lt;br&amp;gt;class ClassA&amp;lt;br&amp;gt;{&amp;lt;br&amp;gt;int counter = 0;&amp;lt;br&amp;gt;List&amp;lt;int&amp;gt; values = new List&amp;lt;int&amp;gt;();&amp;lt;br&amp;gt;public void SetValue (int n) { counter = n; }&amp;lt;br&amp;gt;public void ResetIfGreaterThanZero() { if(counter &amp;gt; 0) counter = 0; }&amp;lt;br&amp;gt;public void Subtract(int n) { counter -= n; }&amp;lt;br&amp;gt;public void AddItem(int n) { values.Add(n); }&amp;lt;br&amp;gt;… további kód&amp;lt;br&amp;gt;}&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt; 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,4|pontozás=-}}&lt;br /&gt;
# SetValue&lt;br /&gt;
# Subtract&lt;br /&gt;
# ResetIfGreaterThanZero&lt;br /&gt;
# AddItem&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Data Read(){&amp;lt;br&amp;gt;Data data = prevFilter.Read();&amp;lt;br&amp;gt;Data processedData = ProcessedData(data);return processedData; }&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Adatforrás által vezérelt.&lt;br /&gt;
# Adatnyelő által vezérelt.&lt;br /&gt;
# Csővezeték által vezérelt.&lt;br /&gt;
# Aktív szűrő által vezérelt.&lt;br /&gt;
# Passzív szűrő által vezérelt.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;void Write(Data data){&amp;lt;br&amp;gt;Data processedData ProcessData(data);&amp;lt;br&amp;gt;nextFilter.Write(processedData);&amp;lt;br&amp;gt;}&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Adatforrás által vezérelt.&lt;br /&gt;
# Adatnyelő által vezérelt.&lt;br /&gt;
# Csővezeték által vezérelt.&lt;br /&gt;
# Aktív szűrő által vezérelt.&lt;br /&gt;
# Passzív szűrő által vezérelt.&lt;br /&gt;
&lt;br /&gt;
== 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? &amp;lt;br&amp;gt;&amp;lt;p style = &amp;quot;font-family:consolas&amp;quot;&amp;gt;void Run(){ &amp;lt;br&amp;gt; Data data; &amp;lt;br&amp;gt; while(data = inputPipe.Read()){ &amp;lt;br&amp;gt; Data processedData = ProcessedData(data); &amp;lt;br&amp;gt; outputPipe.Write(processedData);}}}&amp;lt;/p&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Csővezeték által vezérelt.&lt;br /&gt;
# Passzív szűrő által vezérelt.&lt;br /&gt;
# Adatnyelő által vezérelt.&lt;br /&gt;
# Aktív szűrő által vezérelt.&lt;br /&gt;
# Adatforrás által vezérelt.&lt;br /&gt;
&lt;br /&gt;
== 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. &amp;lt;code&amp;gt; &amp;lt;br&amp;gt; IConnection conn = new OracleConnection(); &amp;lt;br&amp;gt;conn.Open(); &amp;lt;br&amp;gt;ICommand cmd = new OracleCommand(&amp;quot;SELECT * FROM Orders&amp;quot;); &amp;lt;br&amp;gt;cmd.ExecuteReader(); &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Proxy&lt;br /&gt;
# Abstract Factory&lt;br /&gt;
# Factory Method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Csak az első tagmondat igaz (+ -)&lt;br /&gt;
# Csak a második tagmondat igaz (- +)&lt;br /&gt;
# Mindkét tagmondat igaz, de a következtetés hamis (+ + -)&lt;br /&gt;
# Mindkét tagmondat igaz és a következtetés is helyes (+ + +)&lt;br /&gt;
# Egyik tagmondat sem igaz (- -)&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}&lt;br /&gt;
# Proxy&lt;br /&gt;
# Repository&lt;br /&gt;
# Strategy&lt;br /&gt;
# Command Processor&lt;br /&gt;
# Snapshot&lt;br /&gt;
# Memento&lt;br /&gt;
# Command&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások .NET szerelvények (assembly) vonatkozásában. Jelölje meg az igaz állításokat. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4|pontozás=-}}&lt;br /&gt;
# Privát szerelvényekből lehet két azonos nevűt egymás mellé telepíteni.&lt;br /&gt;
# Az azonosított szerelvények titkosítottak a kiadó privát kulcsával.&lt;br /&gt;
# Az azonosított szerelvények digitálisan alá vannak írva a kiadó privát kulcsával.&lt;br /&gt;
# A .NET szerelvényekben a kód IL (Intermediate Language) formátumban van, mely telepítéskor vagy első művelethíváskor fordul le gépi kódra.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a .NET szálkezelés/szinkronizáció vonatkozásában. Jelölje meg a helyes állításokat. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4|pontozás=-}}&lt;br /&gt;
# A ManualResetEvent szinkronizációs objektumot tipikusan kölcsönös kizárás megvalósítására alkalmazzuk.&lt;br /&gt;
# A ManualResetEvent objektum set művelete lezárja az objektumot, így a többi szál várakozni kényszerül.&lt;br /&gt;
# Arra várakozni, hogy ManualResetEvent objektum jelzett állapotba kerüljön, az objektum WaitOne műveletével lehet.&lt;br /&gt;
# ManualResetEvent és AutoResetEvent típusú objektumokra ugyanúgy kell várakozni.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a C# események (event) vonatkozásában. Jelölje meg a helyes állításokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,4|pontozás=-}}&lt;br /&gt;
# A C# delegate-ek állnak a működésük hátterében.&lt;br /&gt;
# Adott eseményre feliratkozni a &amp;quot;++&amp;quot; operátorral lehet.&lt;br /&gt;
# Adott eseményre egyszerre egy előfizető iratkozhat fel.&lt;br /&gt;
# Egy osztály több eseményt is publikálhat.&lt;br /&gt;
# Egy esemény tag osztályban való felvételkor az esemény tagváltozó előtt a delegate kulcsszót kell szerepeltetni.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a C# nyelvi eszközökről (property, delegate, event és attribute). Jelölje meg, hogy mely állítások igazak. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4,6,9,10,11,12,14|pontozás=-}}&lt;br /&gt;
# A C# property-k 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.&lt;br /&gt;
# C# eventre feliratkozni az &amp;quot;=&amp;quot; operátorral lehet.&lt;br /&gt;
# C# event tagváltozóra helyes példa a következő: &amp;lt;code&amp;gt;event int CompareDelegate(object a, object b);&amp;lt;/code&amp;gt;&lt;br /&gt;
# C# event tag értéke null abban az esetben, ha nincs az eseményre feliratkozó.&lt;br /&gt;
# A C# attribútumok definiálásakor egy get és egy set blokkot adunk meg, melyek az attribútum lekérdezésekor, illetve beállításakor hívódnak meg (nem kötelező mindkettőt megadni).&lt;br /&gt;
# C# delegate objektumot át lehet adni függvényparaméterként is.&lt;br /&gt;
# C# delegate típus definícióra szintaktikailag helyes példa a következő: &amp;lt;code&amp;gt;event int CompareDelegate(object a, object b);&amp;lt;/code&amp;gt;&lt;br /&gt;
# C# event események vonatkozásában a -= operátor valamennyi előfizetőt leiratkoztat.&lt;br /&gt;
# Egy delegate objektum/változó több metódusra is hivatkozhat.&lt;br /&gt;
# A C# attribútumok 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.&lt;br /&gt;
# C# eventre feliratkozni a &amp;quot;+=&amp;quot; operátorral lehet.&lt;br /&gt;
# C# delegate típus definícióra szintaktikailag helyes példa a következő: &amp;lt;code&amp;gt;delegate int CompareDelegate(object a, object b);&amp;lt;/code&amp;gt;&lt;br /&gt;
# C# események elsütésekor a beregisztrált eseménykezelő függvények a hatékonyság érdekében külön szálakon hívódnak meg.&lt;br /&gt;
# Egy osztály több eseményt is publikálhat.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4,5|pontozás=-}}&lt;br /&gt;
# A Document-View architektúrában a Controller osztály feladata a felhasználói interakciók kezelése.&lt;br /&gt;
# A Document-View architektúrában a dokumentumban külön tagváltozót vezetünk be minden egyes nézetre.&lt;br /&gt;
# A Document-View architektúrában a dokumentumnak van egy vagy több olyan művelete, mellyel az állapotát a nézetek bármikor le tudják kérdezni.&lt;br /&gt;
# A Document-View architektúrában a nézetnek van egy hivatkozása a dokumentumára.&lt;br /&gt;
# A dokumentumnak van egy listája a beregisztrált nézeteire.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a Memento tervezési mintával kapcsolatban. Jelölje meg a helyes válaszokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,6,7|pontozás=-}}&lt;br /&gt;
# A 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 a Memento állapotát állítja.&lt;br /&gt;
# A 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.&lt;br /&gt;
# A 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.&lt;br /&gt;
# A mintában a CareTaker Originator objektumokat tárol.&lt;br /&gt;
# A mintában az Originator osztályt becsomagoljuk egy Memento objektummal, a Memento tárolja az Originator állapotát.&lt;br /&gt;
# A minta elérhetővé teszi a külvilág számára az objektum belső állapotát az egységbezárás megsértése nélkül (vagyis anélkül, hogy publikussá tennénk az állapotát.)&lt;br /&gt;
# A mintát használhatjuk az Undo funkció megvalósítására.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a Strategy tervezési mintával kapcsolatban. Jelölje meg, mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,5|pontozás=-}}&lt;br /&gt;
# A minta globális függvénypointereket vezet be annak érdekében, hogy a kliens szemszögéből az általa használt algoritmusok szabadon kicserélhetőek legyenek.&lt;br /&gt;
# A minta lehetővé teszi, hogy egy adott osztály viselkedésének különböző aspektusai paraméterezhetőek legyenek. Mindezt elsődlegesen úgy éri el, hogy magából az osztályból számos leszármazottat vezet be (minden viselkedés kombinációhoz egyet).&lt;br /&gt;
# A minta lehetővé teszi, hogy egy adott osztály viselkedésének különböző aspektusai paraméterezhetőek legyenek. Mindezt úgy, hogy minden aspektushoz egy osztályhierarchiát vezet be.&lt;br /&gt;
# A mintában a Context (vagy Client) osztályban van egy vagy több mutató/referencia, mely típusa egy vagy több konkrét algoritmus implementáció.&lt;br /&gt;
# A mintában a Context (vagy Client) osztályban van egy vagy több mutató/referencia, mely típusa egy vagy több algoritmus interfész/absztrakció.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a kétrétegű, valamint a háromrétegű architektúrával kapcsolatban! Jelölje meg, mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4|pontozás=-}}&lt;br /&gt;
# A kétrétegű architektúrát ma már soha nem használjuk a háromrétegű architektúra előnyei miatt.&lt;br /&gt;
# A kétrétegű architektúra lehetővé teszi, hogy adott üzleti logikához egyszerűen készítsünk különböző frontend alkalmazásokat, úgy mint desktop, web, mobil.&lt;br /&gt;
# A háromrétegű architektúra lehetővé teszi, hogy adott üzleti logikához egyszerűen készítsünk különböző frontend alkalmazásokat, úgy mint desktop, web, mobil.&lt;br /&gt;
# A háromrétegű architektúra előnye a kétrétegűvel szemben, hogy az adatbázis sémája a kliensalkalmazástól függetlenül egyszerűbben átszervezhető.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások az Observer tervezési mintával kapcsolatban. Jelölje meg, mely állítások igazak. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# A minta az egyes subject típusoknak bevezet egy ősosztályt, melynek szerepe többek között az, hogy tárolja a beregisztrált observereket.&lt;br /&gt;
# A minta az egyes observer típusoknak bevezet egy ősosztályt (vagy interfészt), melynek szerepe, hogy a subject számára egységessé tegyék az egyes observer típusok kezelését.&lt;br /&gt;
# Az observer implementációkból egy dependency (függőség) kapcsolat mutat a konkrét subject osztály irányába.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások különböző tervezési mintákkal kapcsolatban! Jelölje meg a helyes állításokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# A Proxy tervezési mintában a Proxy objektum egy transzparens csomagoló az eredeti objektum körül, mely szabályozhatja az eredeti objektumhoz való hozzáférést.&lt;br /&gt;
# Az Adapter minta - pontosabban annak Object Adapter változata - az objektum becsomagolásával teszi lehetővé, hogy az objektum interfésze kompatibilis legyen azzal, amit a kliens/környezete elvár.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,4,5,6,7|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# Az Adapter tervezési mintában az Adapter osztály a Target osztályból származik (vagy a Target interfészt implementálja).&lt;br /&gt;
# Az Adapter minta Object Adapter változatában a Adaptee implementálja a Target interfészt (vagy a Target osztályból származik).&lt;br /&gt;
# Az Adapter tervezési mintában (legalábbis annak object adapter változatában) az Adapter (adaptáló) osztály – amennyibe lehetősége van rá – továbbítja (delegálja) a kéréseket az Adaptee (adaptálandó) osztálynak.&lt;br /&gt;
# Bár az Adaptert tervezési mintának tekintik, valójában ez egy idióma, mert csak egy adott programozási nyelv kontextusában (Java) használatos.&lt;br /&gt;
# A minta lehetővé teszi olyan osztályok együttműködését, melyek egyébként az inkompatbilis interfészeik miatt nem tudnának együttműködni.&lt;br /&gt;
# Az Adapter mintában - pontosabban annak Object Adapter változatában - az Adapter osztály tartalmaz egy mutatót vagy referenciát az adaptálandó (Adaptee) osztályra. Az Adapter osztály a műveleteinek megvalósításában felhasználja az adaptálandó (Adaptee) osztály szolgáltasait.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások különböző tervezési mintákkal kapcsolatban. Jelölje meg, mely állítások igazak. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,3,4,5|pontozás=-}}&lt;br /&gt;
# A Document-View architektúra az Observer tervezési minta egy speciális alkalmazása.&lt;br /&gt;
# A Document-View architektúra a Composite tervezési minta egy speciális alkalmazása.&lt;br /&gt;
# Az Adapter minta lehetővé teszi olyan osztályok együttműködését, melyek egyébként az inkompatbilis interfészeik miatt nem tudnának együttműködni.&lt;br /&gt;
# Az Adapter mintában - pontosabban annak Object Adapter változatában - az Adapter osztály tartalmaz egy mutatót vagy referenciát az adaptálandó (Adaptee) osztályra. Az Adapter osztály a műveleteinek megvalósításában felhasználja az adaptálandó (Adaptee) osztály szolgáltatásait.&lt;br /&gt;
# A felhasználói interakciókat a View osztály kezeli.&lt;br /&gt;
# A nézethez tipikusan több dokumentum tartozik.&lt;br /&gt;
&lt;br /&gt;
== Amikor egy AutoResetEvent objektum jelzett lesz, a rá várakozó szálak közül csak 1 futhat tovább. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Az AutoResetEvent osztályt jellemzően arra használjuk, hogy hatékonyan tudjunk várakozni más szál jelzésére. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,3,4,5|pontozás=-}}&lt;br /&gt;
# .NET platformra lehet C++ nyelven is fejleszteni.&lt;br /&gt;
# .NET környezetben az objektumok azonnal felszabadulnak, amint az utolsó hivatkozás is megszűnik rájuk.&lt;br /&gt;
# A .NET futtatókörnyezet rövid neve: CLR.&lt;br /&gt;
# Egy alkalmazás több szerelvényből is állhat.&lt;br /&gt;
# A dinamikusan lefoglalt memória felszabadítása nem a fejlesztő feladata.&lt;br /&gt;
# Az elterjedtebb processzorok képesek a köztes (IL) kódot közvetlenül futtatni.&lt;br /&gt;
# A C# kódot a JIT compiler fordítja köztes (IL) kódra.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Név, fejlesztő cég privát kulcsa, verzió, opcionális kultúra információ&lt;br /&gt;
# Név, fejlesztő cég nyilvános kulcsa, verzió, opcionális kultúra információ&lt;br /&gt;
# Név, verzió, pcionális kultúra információ&lt;br /&gt;
# Név, fejlesztő cég nyilvános kulcsa, verzió, digitális aláírás, opcionális kultúra információ&lt;br /&gt;
&lt;br /&gt;
== Az alábbiak közül melyik definiálja a legjobban a klasszikus DLL hell problémát? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3|pontozás=-}}&lt;br /&gt;
# Egy alkalmazás telepítésekor hiányzik egy vagy több DLL a célkörnyezetben, mely szükséges lenne az alkalmazás futásához, így az alkalmazás nem működik megfelelően (mert a szükséges DLL-ek telepítéséről a felhasználó nem gondoskodott).&lt;br /&gt;
# Egy alkalmazás telepítésekor felteszi a célkörnyezetbe az általa használt DLL-eket egy közös mappába. Ezeket a DLL-eket további alkalmazások is használják, melyek közül az egyik eltávolításakor (uninstall) a DLL-ek egy része eltávolításra kerül, így az alkalmazásunk működésképtelenné válik.&lt;br /&gt;
# Egy alkalmazás telepítésekor felteszi a célkörnyezetbe az általa használt DLL-eket egy közös mappába. Később, egy másik alkalmazás a telepítésekor felülírja a korábban telepített alkalmazás egyik DLL-jét egy másik verzióval. A korábban telepített alkalmazás ezzel az újonnan telepített DLL-lel nem működik megfelelően.&lt;br /&gt;
# Egy alkalmazás telepítésekor felülírja az operációs rendszer bizonyos DLL-jeit, mely következtében az operációs rendszer instabillá válik.&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== Azonosított .NET szerelvényekből lehet két ugyanolyan nevű telepítve egy számítógépre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== C# nyelven az &amp;quot;@attribútumnév&amp;quot; szintaktikával lehet deklaratívan annotációkat osztályokhoz fűzni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== C# nyelven egy eseményre kötelező legalább egy előfizetőt beregisztrálni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Destroy&lt;br /&gt;
# Discard&lt;br /&gt;
# Dispose&lt;br /&gt;
# Using blokk&lt;br /&gt;
# Finalize&lt;br /&gt;
# Destruktor&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# A Composite osztálynak van egy Component gyűjteménye.&lt;br /&gt;
# A Component osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból.&lt;br /&gt;
# A Component osztálynak van egy közös gyűjteménye (heterogén kollekció) Composite és Leaf objektumokból.&lt;br /&gt;
# A Composite osztálynak van egy gyűjteménye Component, valamint egy másik gyűjteménye Leaf objektumokból.&lt;br /&gt;
# A Client osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból.&lt;br /&gt;
&lt;br /&gt;
== Egy .NET alkalmazásban a .NET &amp;quot;megkerülésével&amp;quot;, közvetlenül a Win32 API használatával erőforrásokat foglalunk egy osztályunkban (pl. Fájlt nyitunk meg). Milyen műveletet/műveleteket írunk ilyen esetben? Több válasz is megadható! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
# Dispose&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy 32 bites számmal történő egyszerű értékadás .NET környezetben mindig atomi. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy C# eseményre feliratkozni az = operátorral lehet. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy Win32 üzenet billentyűlenyomás esetén tartalmazza a lenyomott billentyű kódját. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Factory method&lt;br /&gt;
# Abstract method&lt;br /&gt;
# Composite&lt;br /&gt;
# Proxy&lt;br /&gt;
# Observer&lt;br /&gt;
# Adapter&lt;br /&gt;
# Singleton&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== Egy alkalmazáson belül a Windows üzenetek feldolgozása párhuzamos. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Factory method&lt;br /&gt;
# Abstract method&lt;br /&gt;
# Composite&lt;br /&gt;
# Proxy&lt;br /&gt;
# Observer&lt;br /&gt;
# Adapter&lt;br /&gt;
# Singleton&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Csak az első tagmondat igaz (+ -)&lt;br /&gt;
# Csak a második tagmondat igaz (- +)&lt;br /&gt;
# Mindkét tagmondat igaz, de a következtetés hamis (+ + -)&lt;br /&gt;
# Mindkét tagmondat igaz és a következtetés is helyes (+ + +)&lt;br /&gt;
# Egyik tagmondat sem igaz (- -)&lt;br /&gt;
&lt;br /&gt;
== Egy nem statikus változót célszerű statikus lockkal (osztályszintű zárral) védeni, mert ez hatékonyabb megoldást jelent. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== Egy változó növelése .NET környezetben atomi. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Feladatunk egy .NET alkalmazásban Oracle adatbázisban bizonyos rekordok módosítása. Mi(k)re van ehhez szükség? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4,6,7|pontozás=-}}&lt;br /&gt;
# SQLCommand&lt;br /&gt;
# SQLDataReader&lt;br /&gt;
# SQLConnection&lt;br /&gt;
# OracleConnection&lt;br /&gt;
# OracleDataReader&lt;br /&gt;
# OracleCommand&lt;br /&gt;
# Try/finally vagy using blokk&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=8|pontozás=-}}&lt;br /&gt;
# Prototype&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Composite&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== IL-t könnyű visszafejteni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Jelöje meg, hogy a .NET Framework esetében mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,4,5|pontozás=-}}&lt;br /&gt;
# Az alábbi forgatókönyv a klasszikus DLL hell probléma legjellemzőbb esetének jó definíciója: egy alkalmazás telepítésekor hiányzik egy vagy több DLL a célkörnyezetben, mely szükséges lenne az alkalmazás futásához, így az alkalmazás nem működik megfelelően (mert a szükséges DLL-ek telepítéséről a felhasználó nem gondoskodott).&lt;br /&gt;
# A .NET IL kód processzor-és architektúrafüggetlen.&lt;br /&gt;
# A .NET IL kód nagyon hatékony, mert a processzorok közvetlenül tudják futtatni.&lt;br /&gt;
# Az azonosított (erős névvel aláírt) szerelvények lehetővé teszik, hogy a több kiadó/fejlesztőcég azonos fájlnévvel és azonos verzióval telepítsen .NET szerelvényeket.&lt;br /&gt;
# A privát szerelvényeket egyszerűbb telepíteni, mint az azonosított szerelvényeket.&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg a helyes választ! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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&lt;br /&gt;
# A Proxy tervezési minta lehetővé teszi az egymással nem kompatibilis objektumok együttműködését.&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg, mely állítások igazak a Pipes and Filters architektúrára. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# Egyik előnye, hogy a filterek tetszőlegesen kombinálhatók.&lt;br /&gt;
# Egyik előnye a párhuzamos feldolgozás lehetősége (aktív szűrők esetén).&lt;br /&gt;
# Adatnyelő által vezérelt architektúra esetén a szűrő egy ciklusban dolgozza fel a bemenetére érkező adatokat.&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg, mely állítások igazak a szálkezelésre .NET környezetben! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,5,6|pontozás=-}}&lt;br /&gt;
# A ManualResetEvent osztályt jellemzően arra használjuk, hogy adott erőforrás elérésére vonatkozó kölcsönös kizárást valósítunk meg a segítségével.&lt;br /&gt;
# A ManualResetEvent osztályt jellemzően arra használjuk, hogy hatékonyan tudjunk várakozni más szál jelzésére.&lt;br /&gt;
# A Mutex előnye a lock utasítással szemben, hogy különböző folyamatok szálai között is használható.&lt;br /&gt;
# Az x++ művelet .NET környezetben atomi (és így szálbiztos), ha az x típusa int (32 bites).&lt;br /&gt;
# A ReaderWriterLock használata akkor célszerű használni kölcsönös kizárásra, ha a védett erőforrást gyakran olvassuk és ritkán írjuk.&lt;br /&gt;
# Az x=10 művelet .NET környezetben atomi (és így szálbiztos), ha az x típusa int (32 bites).&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg, mely állítások igazak az alábbiak közül! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2|pontozás=-}}&lt;br /&gt;
# A JIT compiler fordítja a forrásfájlokat - pl. A .cs állományokat - IL (Intermediate Language) kódra.&lt;br /&gt;
# Az IL (Intermediate Language) kódot könnyű visszafejteni.&lt;br /&gt;
# .NET környezetben az adott nyelvhez tartozó fordító (compiler) kimenete forrásfájlonként egy .obj kiterjesztésű fájl. Mely IL (Intermediate Language) kódot tartalmaz. A .obj kiterjesztésű fájlokat a linker fűzi össze egy .exe vagy .dll kiterejesztésű állománnyá, mely natív hardverfüggő gépi kódot tartalmaz, majd ezeket a .exe és .dll állományokat telepítjük a célkörnyezetbe.&lt;br /&gt;
# C# támogatja a többszörös öröklést.&lt;br /&gt;
&lt;br /&gt;
== Melyek a Singleton tervezési minta megvalósításának kellékei? Jelölje meg a helyes válaszokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,6|pontozás=-}}&lt;br /&gt;
# Globális változó&lt;br /&gt;
# Statikus tagváltozó&lt;br /&gt;
# Statikus metódus vagy statikus property&lt;br /&gt;
# Virtuális metódus&lt;br /&gt;
# Absztrakt metódus&lt;br /&gt;
# Védett konstruktor&lt;br /&gt;
# Védett destruktor&lt;br /&gt;
# Globális pointer vagy referencia&lt;br /&gt;
&lt;br /&gt;
== Mi a Composite tervezési minta elsődleges célja? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Mi a tervezési minták egyik elsődleges célja? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Adott funckionalitás legkevesebb kóddal történő megvalósítása.&lt;br /&gt;
# A kód újrafelhasználhatóságának elősegítése.&lt;br /&gt;
# Adott üzleti problémák jól érthető modellezése.&lt;br /&gt;
# Jobb teljesítményű kód írása.&lt;br /&gt;
# A valóság minél érthetőbb modellezése.&lt;br /&gt;
&lt;br /&gt;
== Mi az Observer tervezési minta elsődleges célja? Jelölje meg a helyes választ! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Lehetővé teszi a felhasználói eseményekre való reagálást.&lt;br /&gt;
# Lehetővé teszi, hogy egy dokumentum nézetei értesüljenek a dokumentum változásáról.&lt;br /&gt;
# Lehetővé teszi objektumok könnyű megfigyelését az objektumok becsomagolásával.&lt;br /&gt;
# 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.&lt;br /&gt;
# Lehetővé teszi algoritmusok folyamatának (progress) monitorozását.&lt;br /&gt;
&lt;br /&gt;
== Miben segítenek a tervezési minták? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,4|pontozás=-}}&lt;br /&gt;
# Rendszer karbantarthatóság és módosíthatóság elősegítése.&lt;br /&gt;
# A kód újrafelhasználhatóságának elősegítése.&lt;br /&gt;
# Adott üzleti problémák jól érthető modellezése.&lt;br /&gt;
# Nem maguktól értetődő kódok megtalálása.&lt;br /&gt;
# A valóság minél érthetőbb modellezése.&lt;br /&gt;
&lt;br /&gt;
== ReaderWriterLock osztály lehetővé teszi, hogy egy erőforrást több szál is írjon egyszerre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Ö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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}&lt;br /&gt;
# Lock&lt;br /&gt;
# Synchronized&lt;br /&gt;
# StartCoordinator&lt;br /&gt;
# AutoResetEvent&lt;br /&gt;
# Mutex&lt;br /&gt;
# Singleton&lt;br /&gt;
# ThreadPool&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,3|pontozás=-}}&lt;br /&gt;
# Feltéve, hogy adott egy Circle osztály és annak egy int típusú Radius tulajdonsága (property), valamint a Circle osztály egy circle nevű példánya/objektuma, akkor a tulajdonság lekérdezése pl. az int n = circle.Radius; formában lehetséges.&lt;br /&gt;
#  Egy C# attribútum alkalmazásakor az attribútum neve elé a @ karaktert kell tenni.&lt;br /&gt;
# A C# attribútumok 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.&lt;br /&gt;
# Egy C# property (tulajdonság) bevezetésekor mindig be kell vezetni egy tagváltozót is az osztályban, melyben a property értéke tárolásra kerül.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3|pontozás=-}}&lt;br /&gt;
#  Amikor egy AutoResetEvent objektum jelzett állapotba kerül, valamennyi rá várakozó szál tovább futhat.&lt;br /&gt;
# .NET környezetben egy folyamat (processz) akkor áll le, ha az összes előtérszála leáll.&lt;br /&gt;
# Egy változó növelése a ++ operátorral nem szálbiztos (nem thread safe).&lt;br /&gt;
&lt;br /&gt;
== A feladat fájlrendszerbeli mappák és bennük levő fájlok nyilvántartása egy adott objektumstrukturában. Az egyes fájlokról a nevüket és a méretüket, valamint a mappákra a nevüket kell nyilvántartani (memóriában). Elegáns megoldást szeretnénk a következőre: Mappa tartalmának listázásakor a mappában levő fájlok és a közvetlen benne levő mappák nevét és méretét kell kiírni a konzolra. Az előző pontban, amikor egy mappa méretét írjuk ki a konzolra, akkor a mappa összméretét kell kiírni, melybe valamennyi - a hierarchiában tetszőlegesen mélységben levő - almappájában levő fájlok mérete is beleszámolódik. Mely tervezési minta biztosít a fentiekre elegáns megoldást? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=8|pontozás=-}}&lt;br /&gt;
# Prototype&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Composite&lt;br /&gt;
# Abstract factory&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Sznik%C3%A1k_vizsga_kik%C3%A9rdez%C5%91&amp;diff=206522</id>
		<title>Sznikák vizsga kikérdező</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Sznik%C3%A1k_vizsga_kik%C3%A9rdez%C5%91&amp;diff=206522"/>
		<updated>2025-06-01T16:37:33Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: hiányzó &amp;#039;i&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vissza|Szoftvertechnikák}}&lt;br /&gt;
&#039;&#039; Megjegyzés: A (?) jelölt kérdésekre a válasz nem 100%-ig helyes, amennyiben tudod rá a helyes választ, írd át a helyes megoldásra vagy épp szedd ki a ?-et a kérdésből, ha alapból jó a válasz, ezzel segítve a többiek, és az én munkámat! :) &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{kvízoldal|cím=vizsga felkészítő kikérdező|pontozás=-}}&lt;br /&gt;
&lt;br /&gt;
== .JIT köztes kódot fordítja natív gépi kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET Framework alapú konzol alkalmazások Linuxon is futnak. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET Framework alapú környezetben egy könyvtárat (dll) készítünk. Jelölje meg, mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# A könyvtár kódja könnyen visszafejthető.&lt;br /&gt;
# Lehetőség van a könyvtár egy kulcspár privát tagjával történő digitális aláírására.&lt;br /&gt;
# A könyvtárat semmilyen feltételek mellett nem célszerű központi helyre telepíteni, mert névütközés veszélye áll fent.&lt;br /&gt;
# A könyvtárat semmilyen feltételek mellett nem célszerű központi helyre telepíteni, mert verzióütközés veszélye áll fent.&lt;br /&gt;
# A könyvtárat priváttá tehetjük azáltal, hogy egy kulcspár titkos kulcsával titkosítjuk.&lt;br /&gt;
&lt;br /&gt;
== .NET NuGet csomagok formájában lehet kiegészítő könyvtárakat letölteni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET beépített osztályok legtöbbje szálbiztos. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET környezetben 2 folyamat között kölcsönös kizárás a lock utasítással megvalósítható. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET környezetben egy folyamat a kilépéskor bevárja az összes előtér szálat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
# Control.Invoke&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# WriterLock&lt;br /&gt;
# ReaderLock&lt;br /&gt;
# ReaderWriterLock&lt;br /&gt;
# ExecuterLock&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Lock&lt;br /&gt;
# Synchronized&lt;br /&gt;
# Mutex&lt;br /&gt;
# ManualResetEvet&lt;br /&gt;
# ReaderWriterLock&lt;br /&gt;
# Semaphore&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
&lt;br /&gt;
== .NET több nyelvet is támogat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET Core csak Windowson fut. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET alkalmazásban a .NET &amp;quot;megkerülésével&amp;quot;, 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET nem támogatja a (managed) C++ nyelvet. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET szerelvények (exe, dll) natív gépi kódú utasításokat tartalmaznak. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET több programozási nyelvet is támogat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A C# delegate objektumok a C függvénypointerek modern megfelelői, ugyanakkor több függvényre is tudnak mutatni/hivatkozni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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). ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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). ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A JIT fordító a C# kódot fordítja IL kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A JIT fordító a köztes kódot fordítja natív gépi kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Singleton tervezési minta célja mindösszesen az, hogy egy adott osztályból egyetlen példányt lehessen létrehozni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Win32 API függvények számos programozói környezetből, pl. .NET alól is elérhetők. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Win32 API-t jellemzően C# nyelven programozzuk. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,4,9,12|pontozás=-}}&lt;br /&gt;
# Event void SpeedLimitExceededDelegate(int speed, double percent);&lt;br /&gt;
# Delegate void SpeedLimitExceededDelegate(int speed, double percent);&lt;br /&gt;
# Public SpeedLimitExceededDelegate SpeedLimitExceeded;&lt;br /&gt;
# Public event SpeedLimitExceededDelegate SpeedLimitExceeded;&lt;br /&gt;
# Public delegate SpeedLimitExceededDelegate SpeedLimitExceeded;&lt;br /&gt;
# Public event SpeedLimitExceededDelegate SpeedLimitExceeded(int speed, double percent);&lt;br /&gt;
# Public SpeedLimitExceededDelegate SpeedLimitExceeded(int speed, double percent);&lt;br /&gt;
# Public delegate SpeedLimitExceededDelegate SpeedLimitExceeded(int speed, double percent);&lt;br /&gt;
# If (SpeedLimitExceeded != null)&lt;br /&gt;
# If (SpeedLimitExceededDelegate != null)&lt;br /&gt;
# SpeedLimitExceededDelegate(speed, percent);&lt;br /&gt;
# SpeedLimitExceeded(speed, percent)&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}&lt;br /&gt;
# Passzív szűrő által vezérelt&lt;br /&gt;
# Csővezeték által vezérelt&lt;br /&gt;
# Adatnyelő által vezérelt&lt;br /&gt;
# Adatforrás által vezérelt&lt;br /&gt;
# Aktív szűrő által vezérelt&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=7|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=9|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Factory method&lt;br /&gt;
# Abstract method&lt;br /&gt;
# Composite&lt;br /&gt;
# Proxy&lt;br /&gt;
# Observer&lt;br /&gt;
# Adapter&lt;br /&gt;
# Singleton&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A privát .NET szerelvények telepítése egyszerű, csak fel kell másolni a számítógépre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A szoftverarchitektúra jelentőségét szokás egy kiegyensúlyozott mérleggel is ábrázolni. Mire vonatkozik ez? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# A szoftvernek jól kell működnie (funkcionalitás), de ugyanilyen fontos, hogy legyen jól struktúrált.&lt;br /&gt;
# Az architektúra különböző aspektusainak, úgymint szerkezet, karbantarthatóság, tesztelhetőség egyensúlyban kell lennie.&lt;br /&gt;
# A szoftvert magas szinten alapvetően azonos léptékű modulokra célszerű bontani.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Adja meg mely állítás igaz a kiszolgáló oldali megvalósításra! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,4,5|pontozás=-}}&lt;br /&gt;
# A kiszolgáló oldali kód általában lefordítható, így a hibák egy része már fordításkor kiderül.&lt;br /&gt;
# Ha szüksége van interakcióra a kliens oldallal, akkor kis adatforgalommal, hatékonyan tud kommunikálni.&lt;br /&gt;
# Gyorsabb, mint a kliens oldali, mert nincs szükség interakcióra a klienssel.&lt;br /&gt;
# A kiszolgáló oldali kóddal általában könnyebb böngésző független megvalósítást készíteni.&lt;br /&gt;
# Az alkalmazás futása gyorsabb a kliens oldalihoz képest.&lt;br /&gt;
&lt;br /&gt;
== Adja meg mely állítás igaz a kliens oldali megvalósításra! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3|pontozás=-}}&lt;br /&gt;
# A kliens oldali kód általában lefordítható, így a hibák egy része már fordításkor kiderül.&lt;br /&gt;
# Ha szüksége van interakcióra a kiszolgálóval, akkor kis adatforgalommal, hatékonyan tud kommunikálni.&lt;br /&gt;
# Gyorsabb, mint a kiszolgáló oldali, mert nincs szükség interakcióra a kiszolgálóval.&lt;br /&gt;
# A kliens oldali kóddal általában könnyebb böngésző független megvalósítást készíteni.&lt;br /&gt;
# Az alkalmazás futása gyorsabb a kiszolgáló oldalihoz képest.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, mely egymásba ágyazott zárakat tartalmaz.&amp;lt;code&amp;gt;&amp;lt;br&amp;gt;class Program{&amp;lt;br&amp;gt;static object syncObject = new object();&amp;lt;br&amp;gt;static void Main(string[] args){&amp;lt;br&amp;gt;lock (syncObject) {&amp;lt;br&amp;gt;f();}}&amp;lt;br&amp;gt;static void f(){&amp;lt;br&amp;gt;lock (syncObject) {&amp;lt;br&amp;gt;Console.WriteLine(&amp;quot;Hello!&amp;quot;);}}}&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Az alkalmazás kiírja a &amp;quot;Hello!&amp;quot; szöveget a konzolra.&lt;br /&gt;
# 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).&lt;br /&gt;
# Az f() függvényben a lock utasítás kivételt dob annak érdekében, hogy ne alakuljon ki holtpont.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, melyben a .NET beépített List&amp;lt;T&amp;gt; osztályát használjuk (és nem lehet helyette más osztályt használni).&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;class DataProcessor{&amp;lt;br&amp;gt;List&amp;lt;int&amp;gt; items = new List&amp;lt;int&amp;gt;();&amp;lt;br&amp;gt;static object syncObject = new object();&amp;lt;br&amp;gt;public int GetItem(int index) {&amp;lt;br&amp;gt;lock (syncObject) { return items[index]; }}&amp;lt;br&amp;gt;public void AddItem(int n) {&amp;lt;br&amp;gt;lock (syncObject) { items.Add(n); }}} &amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# A megoldás szálbiztos (thread safe) és nem tehető triviális módon hatékonyabbá.&lt;br /&gt;
# 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ő.&lt;br /&gt;
# A megoldás szálbiztos (thread safe), de a lock utasítások eltávolításával hatékonyabbá tehető.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet. &amp;lt;code&amp;gt;&amp;lt;br&amp;gt;class Counter{&amp;lt;br&amp;gt;int counter = 0; // *1&amp;lt;br&amp;gt;object syncRoot = new object(); // *2&amp;lt;br&amp;gt;public int GetValue() // *3&amp;lt;br&amp;gt;{&amp;lt;br&amp;gt;lock (syncRoot)&amp;lt;br&amp;gt;{ return counter; }&amp;lt;br&amp;gt;}&amp;lt;br&amp;gt;public void IncreaseCounter(int delta) // *4&amp;lt;br&amp;gt;{&amp;lt;br&amp;gt;lock (syncRoot)&amp;lt;br&amp;gt;{ counter += delta; }}}&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,3|pontozás=-}}&lt;br /&gt;
# A *2 sor elejére nem kell plusszban beírni a static kulcsszót, anélkül is helyes a működés.&lt;br /&gt;
# A kód nem működne megfelelően, ha a *2 sorban a syncRoot típusát int-re cserélnénk.&lt;br /&gt;
# A *3 GetValue() függvényben a lock utasítás eltávolítható (ha legalább 32 bites környezetről van szó).&lt;br /&gt;
# A *4 IncreaseCounter() függvényben a lock utasítás eltávolítható.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet.&amp;lt;code&amp;gt;&amp;lt;br&amp;gt;class ClassA&amp;lt;br&amp;gt;{&amp;lt;br&amp;gt;int counter = 0;&amp;lt;br&amp;gt;List&amp;lt;int&amp;gt; values = new List&amp;lt;int&amp;gt;();&amp;lt;br&amp;gt;public void SetValue (int n) { counter = n; }&amp;lt;br&amp;gt;public void ResetIfGreaterThanZero() { if(counter &amp;gt; 0) counter = 0; }&amp;lt;br&amp;gt;public void Subtract(int n) { counter -= n; }&amp;lt;br&amp;gt;public void AddItem(int n) { values.Add(n); }&amp;lt;br&amp;gt;… további kód&amp;lt;br&amp;gt;}&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt; 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,4|pontozás=-}}&lt;br /&gt;
# SetValue&lt;br /&gt;
# Subtract&lt;br /&gt;
# ResetIfGreaterThanZero&lt;br /&gt;
# AddItem&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Data Read(){&amp;lt;br&amp;gt;Data data = prevFilter.Read();&amp;lt;br&amp;gt;Data processedData = ProcessedData(data);return processedData; }&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Adatforrás által vezérelt.&lt;br /&gt;
# Adatnyelő által vezérelt.&lt;br /&gt;
# Csővezeték által vezérelt.&lt;br /&gt;
# Aktív szűrő által vezérelt.&lt;br /&gt;
# Passzív szűrő által vezérelt.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;void Write(Data data){&amp;lt;br&amp;gt;Data processedData ProcessData(data);&amp;lt;br&amp;gt;nextFilter.Write(processedData);&amp;lt;br&amp;gt;}&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Adatforrás által vezérelt.&lt;br /&gt;
# Adatnyelő által vezérelt.&lt;br /&gt;
# Csővezeték által vezérelt.&lt;br /&gt;
# Aktív szűrő által vezérelt.&lt;br /&gt;
# Passzív szűrő által vezérelt.&lt;br /&gt;
&lt;br /&gt;
== 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? &amp;lt;br&amp;gt;&amp;lt;p style = &amp;quot;font-family:consolas&amp;quot;&amp;gt;void Run(){ &amp;lt;br&amp;gt; Data data; &amp;lt;br&amp;gt; while(data = inputPipe.Read()){ &amp;lt;br&amp;gt; Data processedData = ProcessedData(data); &amp;lt;br&amp;gt; outputPipe.Write(processedData);}}}&amp;lt;/p&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Csővezeték által vezérelt.&lt;br /&gt;
# Passzív szűrő által vezérelt.&lt;br /&gt;
# Adatnyelő által vezérelt.&lt;br /&gt;
# Aktív szűrő által vezérelt.&lt;br /&gt;
# Adatforrás által vezérelt.&lt;br /&gt;
&lt;br /&gt;
== 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. &amp;lt;code&amp;gt; &amp;lt;br&amp;gt; IConnection conn = new OracleConnection(); &amp;lt;br&amp;gt;conn.Open(); &amp;lt;br&amp;gt;ICommand cmd = new OracleCommand(&amp;quot;SELECT * FROM Orders&amp;quot;); &amp;lt;br&amp;gt;cmd.ExecuteReader(); &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Proxy&lt;br /&gt;
# Abstract Factory&lt;br /&gt;
# Factory Method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Csak az első tagmondat igaz (+ -)&lt;br /&gt;
# Csak a második tagmondat igaz (- +)&lt;br /&gt;
# Mindkét tagmondat igaz, de a következtetés hamis (+ + -)&lt;br /&gt;
# Mindkét tagmondat igaz és a következtetés is helyes (+ + +)&lt;br /&gt;
# Egyik tagmondat sem igaz (- -)&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}&lt;br /&gt;
# Proxy&lt;br /&gt;
# Repository&lt;br /&gt;
# Strategy&lt;br /&gt;
# Command Processor&lt;br /&gt;
# Snapshot&lt;br /&gt;
# Memento&lt;br /&gt;
# Command&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások .NET szerelvények (assembly) vonatkozásában. Jelölje meg az igaz állításokat. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4|pontozás=-}}&lt;br /&gt;
# Privát szerelvényekből lehet két azonos nevűt egymás mellé telepíteni.&lt;br /&gt;
# Az azonosított szerelvények titkosítottak a kiadó privát kulcsával.&lt;br /&gt;
# Az azonosított szerelvények digitálisan alá vannak írva a kiadó privát kulcsával.&lt;br /&gt;
# A .NET szerelvényekben a kód IL (Intermediate Language) formátumban van, mely telepítéskor vagy első művelethíváskor fordul le gépi kódra.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a .NET szálkezelés/szinkronizáció vonatkozásában. Jelölje meg a helyes állításokat. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4|pontozás=-}}&lt;br /&gt;
# A ManualResetEvent szinkronizációs objektumot tipikusan kölcsönös kizárás megvalósítására alkalmazzuk.&lt;br /&gt;
# A ManualResetEvent objektum set művelete lezárja az objektumot, így a többi szál várakozni kényszerül.&lt;br /&gt;
# Arra várakozni, hogy ManualResetEvent objektum jelzett állapotba kerüljön, az objektum WaitOne műveletével lehet.&lt;br /&gt;
# ManualResetEvent és AutoResetEvent típusú objektumokra ugyanúgy kell várakozni.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a C# események (event) vonatkozásában. Jelölje meg a helyes állításokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,4|pontozás=-}}&lt;br /&gt;
# A C# delegate-ek állnak a működésük hátterében.&lt;br /&gt;
# Adott eseményre feliratkozni a &amp;quot;++&amp;quot; operátorral lehet.&lt;br /&gt;
# Adott eseményre egyszerre egy előfizető iratkozhat fel.&lt;br /&gt;
# Egy osztály több eseményt is publikálhat.&lt;br /&gt;
# Egy esemény tag osztályban való felvételkor az esemény tagváltozó előtt a delegate kulcsszót kell szerepeltetni.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a C# nyelvi eszközökről (property, delegate, event és attribute). Jelölje meg, hogy mely állítások igazak. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4,6,9,10,11,12,14|pontozás=-}}&lt;br /&gt;
# A C# property-k 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.&lt;br /&gt;
# C# eventre feliratkozni az &amp;quot;=&amp;quot; operátorral lehet.&lt;br /&gt;
# C# event tagváltozóra helyes példa a következő: &amp;lt;code&amp;gt;event int CompareDelegate(object a, object b);&amp;lt;/code&amp;gt;&lt;br /&gt;
# C# event tag értéke null abban az esetben, ha nincs az eseményre feliratkozó.&lt;br /&gt;
# A C# attribútumok definiálásakor egy get és egy set blokkot adunk meg, melyek az attribútum lekérdezésekor, illetve beállításakor hívódnak meg (nem kötelező mindkettőt megadni).&lt;br /&gt;
# C# delegate objektumot át lehet adni függvényparaméterként is.&lt;br /&gt;
# C# delegate típus definícióra szintaktikailag helyes példa a következő: &amp;lt;code&amp;gt;event int CompareDelegate(object a, object b);&amp;lt;/code&amp;gt;&lt;br /&gt;
# C# event események vonatkozásában a -= operátor valamennyi előfizetőt leiratkoztat.&lt;br /&gt;
# Egy delegate objektum/változó több metódusra is hivatkozhat.&lt;br /&gt;
# A C# attribútumok 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.&lt;br /&gt;
# C# eventre feliratkozni a &amp;quot;+=&amp;quot; operátorral lehet.&lt;br /&gt;
# C# delegate típus definícióra szintaktikailag helyes példa a következő: &amp;lt;code&amp;gt;delegate int CompareDelegate(object a, object b);&amp;lt;/code&amp;gt;&lt;br /&gt;
# C# események elsütésekor a beregisztrált eseménykezelő függvények a hatékonyság érdekében külön szálakon hívódnak meg.&lt;br /&gt;
# Egy osztály több eseményt is publikálhat.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4,5|pontozás=-}}&lt;br /&gt;
# A Document-View architektúrában a Controller osztály feladata a felhasználói interakciók kezelése.&lt;br /&gt;
# A Document-View architektúrában a dokumentumban külön tagváltozót vezetünk be minden egyes nézetre.&lt;br /&gt;
# A Document-View architektúrában a dokumentumnak van egy vagy több olyan művelete, mellyel az állapotát a nézetek bármikor le tudják kérdezni.&lt;br /&gt;
# A Document-View architektúrában a nézetnek van egy hivatkozása a dokumentumára.&lt;br /&gt;
# A dokumentumnak van egy listája a beregisztrált nézeteire.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a Memento tervezési mintával kapcsolatban. Jelölje meg a helyes válaszokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,6,7|pontozás=-}}&lt;br /&gt;
# A 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 a Memento állapotát állítja.&lt;br /&gt;
# A 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.&lt;br /&gt;
# A 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.&lt;br /&gt;
# A mintában a CareTaker Originator objektumokat tárol.&lt;br /&gt;
# A mintában az Originator osztályt becsomagoljuk egy Memento objektummal, a Memento tárolja az Originator állapotát.&lt;br /&gt;
# A minta elérhetővé teszi a külvilág számára az objektum belső állapotát az egységbezárás megsértése nélkül (vagyis anélkül, hogy publikussá tennénk az állapotát.)&lt;br /&gt;
# A mintát használhatjuk az Undo funkció megvalósítására.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a Strategy tervezési mintával kapcsolatban. Jelölje meg, mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,5|pontozás=-}}&lt;br /&gt;
# A minta globális függvénypointereket vezet be annak érdekében, hogy a kliens szemszögéből az általa használt algoritmusok szabadon kicserélhetőek legyenek.&lt;br /&gt;
# A minta lehetővé teszi, hogy egy adott osztály viselkedésének különböző aspektusai paraméterezhetőek legyenek. Mindezt elsődlegesen úgy éri el, hogy magából az osztályból számos leszármazottat vezet be (minden viselkedés kombinációhoz egyet).&lt;br /&gt;
# A minta lehetővé teszi, hogy egy adott osztály viselkedésének különböző aspektusai paraméterezhetőek legyenek. Mindezt úgy, hogy minden aspektushoz egy osztályhierarchiát vezet be.&lt;br /&gt;
# A mintában a Context (vagy Client) osztályban van egy vagy több mutató/referencia, mely típusa egy vagy több konkrét algoritmus implementáció.&lt;br /&gt;
# A mintában a Context (vagy Client) osztályban van egy vagy több mutató/referencia, mely típusa egy vagy több algoritmus interfész/absztrakció.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a kétrétegű, valamint a háromrétegű architektúrával kapcsolatban! Jelölje meg, mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4|pontozás=-}}&lt;br /&gt;
# A kétrétegű architektúrát ma már soha nem használjuk a háromrétegű architektúra előnyei miatt.&lt;br /&gt;
# A kétrétegű architektúra lehetővé teszi, hogy adott üzleti logikához egyszerűen készítsünk különböző frontend alkalmazásokat, úgy mint desktop, web, mobil.&lt;br /&gt;
# A háromrétegű architektúra lehetővé teszi, hogy adott üzleti logikához egyszerűen készítsünk különböző frontend alkalmazásokat, úgy mint desktop, web, mobil.&lt;br /&gt;
# A háromrétegű architektúra előnye a kétrétegűvel szemben, hogy az adatbázis sémája a kliensalkalmazástól függetlenül egyszerűbben átszervezhető.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások az Observer tervezési mintával kapcsolatban. Jelölje meg, mely állítások igazak. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# A minta az egyes subject típusoknak bevezet egy ősosztályt, melynek szerepe többek között az, hogy tárolja a beregisztrált observereket.&lt;br /&gt;
# A minta az egyes observer típusoknak bevezet egy ősosztályt (vagy interfészt), melynek szerepe, hogy a subject számára egységessé tegyék az egyes observer típusok kezelését.&lt;br /&gt;
# Az observer implementációkból egy dependency (függőség) kapcsolat mutat a konkrét subject osztály irányába.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások különböző tervezési mintákkal kapcsolatban! Jelölje meg a helyes állításokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# A Proxy tervezési mintában a Proxy objektum egy transzparens csomagoló az eredeti objektum körül, mely szabályozhatja az eredeti objektumhoz való hozzáférést.&lt;br /&gt;
# Az Adapter minta - pontosabban annak Object Adapter változata - az objektum becsomagolásával teszi lehetővé, hogy az objektum interfésze kompatibilis legyen azzal, amit a kliens/környezete elvár.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,4,5,6,7|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# Az Adapter tervezési mintában az Adapter osztály a Target osztályból származik (vagy a Target interfészt implementálja).&lt;br /&gt;
# Az Adapter minta Object Adapter változatában a Adaptee implementálja a Target interfészt (vagy a Target osztályból származik).&lt;br /&gt;
# Az Adapter tervezési mintában (legalábbis annak object adapter változatában) az Adapter (adaptáló) osztály – amennyibe lehetősége van rá – továbbítja (delegálja) a kéréseket az Adaptee (adaptálandó) osztálynak.&lt;br /&gt;
# Bár az Adaptert tervezési mintának tekintik, valójában ez egy idióma, mert csak egy adott programozási nyelv kontextusában (Java) használatos.&lt;br /&gt;
# A minta lehetővé teszi olyan osztályok együttműködését, melyek egyébként az inkompatbilis interfészeik miatt nem tudnának együttműködni.&lt;br /&gt;
# Az Adapter mintában - pontosabban annak Object Adapter változatában - az Adapter osztály tartalmaz egy mutatót vagy referenciát az adaptálandó (Adaptee) osztályra. Az Adapter osztály a műveleteinek megvalósításában felhasználja az adaptálandó (Adaptee) osztály szolgáltasait.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások különböző tervezési mintákkal kapcsolatban. Jelölje meg, mely állítások igazak. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,3,4,5|pontozás=-}}&lt;br /&gt;
# A Document-View architektúra az Observer tervezési minta egy speciális alkalmazása.&lt;br /&gt;
# A Document-View architektúra a Composite tervezési minta egy speciális alkalmazása.&lt;br /&gt;
# Az Adapter minta lehetővé teszi olyan osztályok együttműködését, melyek egyébként az inkompatbilis interfészeik miatt nem tudnának együttműködni.&lt;br /&gt;
# Az Adapter mintában - pontosabban annak Object Adapter változatában - az Adapter osztály tartalmaz egy mutatót vagy referenciát az adaptálandó (Adaptee) osztályra. Az Adapter osztály a műveleteinek megvalósításában felhasználja az adaptálandó (Adaptee) osztály szolgáltatásait.&lt;br /&gt;
# A felhasználói interakciókat a View osztály kezeli.&lt;br /&gt;
# A nézethez tipikusan több dokumentum tartozik.&lt;br /&gt;
&lt;br /&gt;
== Amikor egy AutoResetEvent objektum jelzett lesz, a rá várakozó szálak közül csak 1 futhat tovább. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Az AutoResetEvent osztályt jellemzően arra használjuk, hogy hatékonyan tudjunk várakozni más szál jelzésére. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,3,4,5|pontozás=-}}&lt;br /&gt;
# .NET platformra lehet C++ nyelven is fejleszteni.&lt;br /&gt;
# .NET környezetben az objektumok azonnal felszabadulnak, amint az utolsó hivatkozás is megszűnik rájuk.&lt;br /&gt;
# A .NET futtatókörnyezet rövid neve: CLR.&lt;br /&gt;
# Egy alkalmazás több szerelvényből is állhat.&lt;br /&gt;
# A dinamikusan lefoglalt memória felszabadítása nem a fejlesztő feladata.&lt;br /&gt;
# Az elterjedtebb processzorok képesek a köztes (IL) kódot közvetlenül futtatni.&lt;br /&gt;
# A C# kódot a JIT compiler fordítja köztes (IL) kódra.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Név, fejlesztő cég privát kulcsa, verzió, opcionális kultúra információ&lt;br /&gt;
# Név, fejlesztő cég nyilvános kulcsa, verzió, opcionális kultúra információ&lt;br /&gt;
# Név, verzió, pcionális kultúra információ&lt;br /&gt;
# Név, fejlesztő cég nyilvános kulcsa, verzió, digitális aláírás, opcionális kultúra információ&lt;br /&gt;
&lt;br /&gt;
== Az alábbiak közül melyik definiálja a legjobban a klasszikus DLL hell problémát? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3|pontozás=-}}&lt;br /&gt;
# Egy alkalmazás telepítésekor hiányzik egy vagy több DLL a célkörnyezetben, mely szükséges lenne az alkalmazás futásához, így az alkalmazás nem működik megfelelően (mert a szükséges DLL-ek telepítéséről a felhasználó nem gondoskodott).&lt;br /&gt;
# Egy alkalmazás telepítésekor felteszi a célkörnyezetbe az általa használt DLL-eket egy közös mappába. Ezeket a DLL-eket további alkalmazások is használják, melyek közül az egyik eltávolításakor (uninstall) a DLL-ek egy része eltávolításra kerül, így az alkalmazásunk működésképtelenné válik.&lt;br /&gt;
# Egy alkalmazás telepítésekor felteszi a célkörnyezetbe az általa használt DLL-eket egy közös mappába. Később, egy másik alkalmazás a telepítésekor felülírja a korábban telepített alkalmazás egyik DLL-jét egy másik verzióval. A korábban telepített alkalmazás ezzel az újonnan telepített DLL-lel nem működik megfelelően.&lt;br /&gt;
# Egy alkalmazás telepítésekor felülírja az operációs rendszer bizonyos DLL-jeit, mely következtében az operációs rendszer instabillá válik.&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== Azonosított .NET szerelvényekből lehet két ugyanolyan nevű telepítve egy számítógépre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== C# nyelven az &amp;quot;@attribútumnév&amp;quot; szintaktikával lehet deklaratívan annotációkat osztályokhoz fűzni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== C# nyelven egy eseményre kötelező legalább egy előfizetőt beregisztrálni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Destroy&lt;br /&gt;
# Discard&lt;br /&gt;
# Dispose&lt;br /&gt;
# Using blokk&lt;br /&gt;
# Finalize&lt;br /&gt;
# Destruktor&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# A Composite osztálynak van egy Component gyűjteménye.&lt;br /&gt;
# A Component osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból.&lt;br /&gt;
# A Component osztálynak van egy közös gyűjteménye (heterogén kollekció) Composite és Leaf objektumokból.&lt;br /&gt;
# A Composite osztálynak van egy gyűjteménye Component, valamint egy másik gyűjteménye Leaf objektumokból.&lt;br /&gt;
# A Client osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból.&lt;br /&gt;
&lt;br /&gt;
== Egy .NET alkalmazásban a .NET &amp;quot;megkerülésével&amp;quot;, közvetlenül a Win32 API használatával erőforrásokat foglalunk egy osztályunkban (pl. Fájlt nyitunk meg). Milyen műveletet/műveleteket írunk ilyen esetben? Több válasz is megadható! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
# Dispose&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy 32 bites számmal történő egyszerű értékadás .NET környezetben mindig atomi. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy C# eseményre feliratkozni az = operátorral lehet. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy Win32 üzenet billentyűlenyomás esetén tartalmazza a lenyomott billentyű kódját. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Factory method&lt;br /&gt;
# Abstract method&lt;br /&gt;
# Composite&lt;br /&gt;
# Proxy&lt;br /&gt;
# Observer&lt;br /&gt;
# Adapter&lt;br /&gt;
# Singleton&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== Egy alkalmazáson belül a Windows üzenetek feldolgozása párhuzamos. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Factory method&lt;br /&gt;
# Abstract method&lt;br /&gt;
# Composite&lt;br /&gt;
# Proxy&lt;br /&gt;
# Observer&lt;br /&gt;
# Adapter&lt;br /&gt;
# Singleton&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Csak az első tagmondat igaz (+ -)&lt;br /&gt;
# Csak a második tagmondat igaz (- +)&lt;br /&gt;
# Mindkét tagmondat igaz, de a következtetés hamis (+ + -)&lt;br /&gt;
# Mindkét tagmondat igaz és a következtetés is helyes (+ + +)&lt;br /&gt;
# Egyik tagmondat sem igaz (- -)&lt;br /&gt;
&lt;br /&gt;
== Egy nem statikus változót célszerű statikus lockkal (osztályszintű zárral) védeni, mert ez hatékonyabb megoldást jelent. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== Egy változó növelése .NET környezetben atomi. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Feladatunk egy .NET alkalmazásban Oracle adatbázisban bizonyos rekordok módosítása. Mi(k)re van ehhez szükség? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4,6,7|pontozás=-}}&lt;br /&gt;
# SQLCommand&lt;br /&gt;
# SQLDataReader&lt;br /&gt;
# SQLConnection&lt;br /&gt;
# OracleConnection&lt;br /&gt;
# OracleDataReader&lt;br /&gt;
# OracleCommand&lt;br /&gt;
# Try/finally vagy using blokk&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=8|pontozás=-}}&lt;br /&gt;
# Prototype&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Composite&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== IL-t könnyű visszafejteni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Jelöje meg, hogy a .NET Framework esetében mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,4,5|pontozás=-}}&lt;br /&gt;
# Az alábbi forgatókönyv a klasszikus DLL hell probléma legjellemzőbb esetének jó definíciója: egy alkalmazás telepítésekor hiányzik egy vagy több DLL a célkörnyezetben, mely szükséges lenne az alkalmazás futásához, így az alkalmazás nem működik megfelelően (mert a szükséges DLL-ek telepítéséről a felhasználó nem gondoskodott).&lt;br /&gt;
# A .NET IL kód processzor-és architektúrafüggetlen.&lt;br /&gt;
# A .NET IL kód nagyon hatékony, mert a processzorok közvetlenül tudják futtatni.&lt;br /&gt;
# Az azonosított (erős névvel aláírt) szerelvények lehetővé teszik, hogy a több kiadó/fejlesztőcég azonos fájlnévvel és azonos verzióval telepítsen .NET szerelvényeket.&lt;br /&gt;
# A privát szerelvényeket egyszerűbb telepíteni, mint az azonosított szerelvényeket.&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg a helyes választ! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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&lt;br /&gt;
# A Proxy tervezési minta lehetővé teszi az egymással nem kompatibilis objektumok együttműködését.&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg, mely állítások igazak a Pipes and Filters architektúrára. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# Egyik előnye, hogy a filterek tetszőlegesen kombinálhatók.&lt;br /&gt;
# Egyik előnye a párhuzamos feldolgozás lehetősége (aktív szűrők esetén).&lt;br /&gt;
# Adatnyelő által vezérelt architektúra esetén a szűrő egy ciklusban dolgozza fel a bemenetére érkező adatokat.&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg, mely állítások igazak a szálkezelésre .NET környezetben! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,5,6|pontozás=-}}&lt;br /&gt;
# A ManualResetEvent osztályt jellemzően arra használjuk, hogy adott erőforrás elérésére vonatkozó kölcsönös kizárást valósítunk meg a segítségével.&lt;br /&gt;
# A ManualResetEvent osztályt jellemzően arra használjuk, hogy hatékonyan tudjunk várakozni más szál jelzésére.&lt;br /&gt;
# A Mutex előnye a lock utasítással szemben, hogy különböző folyamatok szálai között is használható.&lt;br /&gt;
# Az x++ művelet .NET környezetben atomi (és így szálbiztos), ha az x típusa int (32 bites).&lt;br /&gt;
# A ReaderWriterLock használata akkor célszerű használni kölcsönös kizárásra, ha a védett erőforrást gyakran olvassuk és ritkán írjuk.&lt;br /&gt;
# Az x=10 művelet .NET környezetben atomi (és így szálbiztos), ha az x típusa int (32 bites).&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg, mely állítások igazak az alábbiak közül! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2|pontozás=-}}&lt;br /&gt;
# A JIT compiler fordítja a forrásfájlokat - pl. A .cs állományokat - IL (Intermediate Language) kódra.&lt;br /&gt;
# Az IL (Intermediate Language) kódot könnyű visszafejteni.&lt;br /&gt;
# .NET környezetben az adott nyelvhez tartozó fordító (compiler) kimenete forrásfájlonként egy .obj kiterjesztésű fájl. Mely IL (Intermediate Language) kódot tartalmaz. A .obj kiterjesztésű fájlokat a linker fűzi össze egy .exe vagy .dll kiterejesztésű állománnyá, mely natív hardverfüggő gépi kódot tartalmaz, majd ezeket a .exe és .dll állományokat telepítjük a célkörnyezetbe.&lt;br /&gt;
# C# támogatja a többszörös öröklést.&lt;br /&gt;
&lt;br /&gt;
== Melyek a Singleton tervezési minta megvalósításának kellékei? Jelölje meg a helyes válaszokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,6|pontozás=-}}&lt;br /&gt;
# Globális változó&lt;br /&gt;
# Statikus tagváltozó&lt;br /&gt;
# Statikus metódus vagy statikus property&lt;br /&gt;
# Virtuális metódus&lt;br /&gt;
# Absztrakt metódus&lt;br /&gt;
# Védett konstruktor&lt;br /&gt;
# Védett destruktor&lt;br /&gt;
# Globális pointer vagy referencia&lt;br /&gt;
&lt;br /&gt;
== Mi a Composite tervezési minta elsődleges célja? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Mi a tervezési minták egyik elsődleges célja? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Adott funckionalitás legkevesebb kóddal történő megvalósítása.&lt;br /&gt;
# A kód újrafelhasználhatóságának elősegítése.&lt;br /&gt;
# Adott üzleti problémák jól érthető modellezése.&lt;br /&gt;
# Jobb teljesítményű kód írása.&lt;br /&gt;
# A valóság minél érthetőbb modellezése.&lt;br /&gt;
&lt;br /&gt;
== Mi az Observer tervezési minta elsődleges célja? Jelölje meg a helyes választ! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Lehetővé teszi a felhasználói eseményekre való reagálást.&lt;br /&gt;
# Lehetővé teszi, hogy egy dokumentum nézetei értesüljenek a dokumentum változásáról.&lt;br /&gt;
# Lehetővé teszi objektumok könnyű megfigyelését az objektumok becsomagolásával.&lt;br /&gt;
# 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.&lt;br /&gt;
# Lehetővé teszi algoritmusok folyamatának (progress) monitorozását.&lt;br /&gt;
&lt;br /&gt;
== Miben segítenek a tervezési minták? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,4|pontozás=-}}&lt;br /&gt;
# Rendszer karbantarthatóság és módosíthatóság elősegítése.&lt;br /&gt;
# A kód újrafelhasználhatóságának elősegítése.&lt;br /&gt;
# Adott üzleti problémák jól érthető modellezése.&lt;br /&gt;
# Nem maguktól értetődő kódok megtalálása.&lt;br /&gt;
# A valóság minél érthetőbb modellezése.&lt;br /&gt;
&lt;br /&gt;
== Milyen lépéseket tartalmaz jellemzően egy meglévő modális dialógusablak használata? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,5,6|pontozás=-}}&lt;br /&gt;
# A dialógusablakon levő vezérlők közvetlen inicializálása.&lt;br /&gt;
# A dialógusablak visszatérésének (DialogResult) vizsgálata.&lt;br /&gt;
# A dialógusablakon levő vezérlők inicializálása property-k (tulajdonságok) segítségével.&lt;br /&gt;
# MessageBox megjelenítés.&lt;br /&gt;
# Dialógusablak megjelenítése.&lt;br /&gt;
# Dialógusablak példányosítása.&lt;br /&gt;
# Időzítő felparaméterezése.&lt;br /&gt;
&lt;br /&gt;
== ReaderWriterLock osztály lehetővé teszi, hogy egy erőforrást több szál is írjon egyszerre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Ö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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}&lt;br /&gt;
# Lock&lt;br /&gt;
# Synchronized&lt;br /&gt;
# StartCoordinator&lt;br /&gt;
# AutoResetEvent&lt;br /&gt;
# Mutex&lt;br /&gt;
# Singleton&lt;br /&gt;
# ThreadPool&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,3|pontozás=-}}&lt;br /&gt;
# Feltéve, hogy adott egy Circle osztály és annak egy int típusú Radius tulajdonsága (property), valamint a Circle osztály egy circle nevű példánya/objektuma, akkor a tulajdonság lekérdezése pl. az int n = circle.Radius; formában lehetséges.&lt;br /&gt;
#  Egy C# attribútum alkalmazásakor az attribútum neve elé a @ karaktert kell tenni.&lt;br /&gt;
# A C# attribútumok 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.&lt;br /&gt;
# Egy C# property (tulajdonság) bevezetésekor mindig be kell vezetni egy tagváltozót is az osztályban, melyben a property értéke tárolásra kerül.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3|pontozás=-}}&lt;br /&gt;
#  Amikor egy AutoResetEvent objektum jelzett állapotba kerül, valamennyi rá várakozó szál tovább futhat.&lt;br /&gt;
# .NET környezetben egy folyamat (processz) akkor áll le, ha az összes előtérszála leáll.&lt;br /&gt;
# Egy változó növelése a ++ operátorral nem szálbiztos (nem thread safe).&lt;br /&gt;
&lt;br /&gt;
== A feladat fájlrendszerbeli mappák és bennük levő fájlok nyilvántartása egy adott objektumstrukturában. Az egyes fájlokról a nevüket és a méretüket, valamint a mappákra a nevüket kell nyilvántartani (memóriában). Elegáns megoldást szeretnénk a következőre: Mappa tartalmának listázásakor a mappában levő fájlok és a közvetlen benne levő mappák nevét és méretét kell kiírni a konzolra. Az előző pontban, amikor egy mappa méretét írjuk ki a konzolra, akkor a mappa összméretét kell kiírni, melybe valamennyi - a hierarchiában tetszőlegesen mélységben levő - almappájában levő fájlok mérete is beleszámolódik. Mely tervezési minta biztosít a fentiekre elegáns megoldást? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=8|pontozás=-}}&lt;br /&gt;
# Prototype&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Composite&lt;br /&gt;
# Abstract factory&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Kommunik%C3%A1ci%C3%B3s_h%C3%A1l%C3%B3zatok&amp;diff=206514</id>
		<title>Kommunikációs hálózatok</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Kommunik%C3%A1ci%C3%B3s_h%C3%A1l%C3%B3zatok&amp;diff=206514"/>
		<updated>2025-05-31T17:21:05Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: vizsga + ZH adatok&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Csonk}}&lt;br /&gt;
&lt;br /&gt;
{{Tantárgy&lt;br /&gt;
| név = Kommunikációs hálózatok&lt;br /&gt;
| tárgykód = VITMAB06&lt;br /&gt;
| szak = info&lt;br /&gt;
| kredit = 7&lt;br /&gt;
| félév = 4&lt;br /&gt;
| kereszt = nincs&lt;br /&gt;
| tanszék = HIT &amp;amp; TMIT &lt;br /&gt;
| labor = 3 db jelenléti + 3 db otthoni&lt;br /&gt;
| kiszh = nincs&lt;br /&gt;
| nagyzh = 1 db&lt;br /&gt;
| hf = nincs&lt;br /&gt;
| vizsga = írásbeli&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A tárgy alapvető célja, hogy megismertesse a számítógép hálózatok felépítésének és működésének alapvető elveit, architektúráit és protokolljait. A régi tantervben szereplő [[Kommunikációs hálózatok 1]] és [[Kommunikációs hálózatok 2|2]] összevont verziója.&lt;br /&gt;
&lt;br /&gt;
== Követelmények ==&lt;br /&gt;
&lt;br /&gt;
=== Előtanulmányi rend ===&lt;br /&gt;
* [[Digitális technika]] tárgyból aláírás megszerzése szükséges a tárgy felvételéhez.&lt;br /&gt;
&lt;br /&gt;
=== A szorgalmi időszakban ===&lt;br /&gt;
* A &#039;&#039;&#039;nagy ZH&#039;&#039;&#039; legalább 50%-os teljesítése.&lt;br /&gt;
** &#039;&#039;&#039;Pótlás:&#039;&#039;&#039; A nagy ZH egyszer félév közben, egyszer pedig a pótlási héten (különeljárási díj fejében) pótolható.&lt;br /&gt;
* &#039;&#039;&#039;3 jelenléti laboratóriumi mérés&#039;&#039;&#039; sikeres teljesítése (mérésenként 5 pontból minimum 2 pont megszerzése).&lt;br /&gt;
** A méréseken való részvétel feltétele a &#039;&#039;&#039;beugró&#039;&#039;&#039; sikeres megírása. A beugró a méréshez tartozó segédlet anyagából van, általában 4 kérdésből kettőre kell tudni válaszolni.&lt;br /&gt;
** Ha nem sikerül jól a beugró, szorgalmi feladatok megoldásával lehet javítani a mérés eredményén (1 feladat = 1 pont), az 5 feletti pontok IMSc pontnak számítódik.&lt;br /&gt;
** &#039;&#039;&#039;Pótlás:&#039;&#039;&#039; A pótlási héten legfeljebb egy mérés pótolható.&lt;br /&gt;
** &#039;&#039;&#039;Javítás:&#039;&#039;&#039; Csak különleges esetben, ha van hely a pótlók mellett.&lt;br /&gt;
* &#039;&#039;&#039;3 otthoni/oline laboratóriumi mérés&#039;&#039;&#039; sikeres teljesítése&lt;br /&gt;
** A méréseket az előre beosztott időpontban &#039;&#039;&#039;be kell mutatni személyesen&#039;&#039;&#039; ahol a laborvezető kérdéseket tesz fel és az alapján adja meg a végleges osztályzatot.&lt;br /&gt;
** &#039;&#039;&#039;Pótlás:&#039;&#039;&#039; A pótlási héten legfeljebb egy mérés pót bemutatható. &lt;br /&gt;
&lt;br /&gt;
=== Jegy ===&lt;br /&gt;
A pontszám a következőképpen tevődik ki: &lt;br /&gt;
* Előadásokon különböző módon (kahoot, kvíz, kérdésekre válaszolás, stb...) szerezhetőek plusz pontok, ezek egy az egyben hozzá adódnak a végleges pontszámhoz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Pont = 0.7*Vizsga+\frac {2}{3} *SUM(Labor) + 0.1*ZH + Pluszpontok &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Jegykonvertálás|0 - 50|50 - 61|62 - 72|73 - 83|84 -}}&lt;br /&gt;
&lt;br /&gt;
==== Megajánlott jegy ====&lt;br /&gt;
A tárgyból megajánlott jeles (5) szerezhető ha a ZH (nem (P)PZH!) legalább 85 pontosra sikerül és az összes jelenléti és otthoni labor is jeles lett. &lt;br /&gt;
&lt;br /&gt;
== Segédanyagok ==&lt;br /&gt;
* Korábbi tárgyak oldala: [[Kommunikációs hálózatok 1]] és [[Kommunikációs hálózatok 2|KH 2]]&lt;br /&gt;
&lt;br /&gt;
=== Jegyzetek ===&lt;br /&gt;
* [[Media:Kh1_meres2_jegyzet_2022.pdf | 2. mérés felkészítő jegyzet színes, hunglishül - 2022 ]]&lt;br /&gt;
* [[Media:kommhal1_eloadasjegyzet_2021_zhrafelkeszules.pdf | Teljes Előadás jegyzet - 2021 ]]&lt;br /&gt;
* [[Media:Tomor_komhal1_2020.PDF | Tömör komhál 1 összefoglaló - 2020 ]]&lt;br /&gt;
* [[Media:Tomor_komhal1_labor_2020.PDF | Tömör komhál 1 labor összefoglaló - 2020]]&lt;br /&gt;
* [[:File:kh1_peabe.pdf|Gépelt Peabe-jegyzet (any% TL;DR) 2016 ősz]]&lt;br /&gt;
&lt;br /&gt;
== Mérések ==&lt;br /&gt;
=== Jelenléti mérések ===&lt;br /&gt;
* A félév során 3 mérést kell teljesíteni. A félév elején készítenek egy beosztást, hogy kinek hanyadik héten kell mennie. Egyeztetés mellett azonban lehet másokkal mérési alkalmakat cserélni.&lt;br /&gt;
* A méréseken egyedül kell dolgozni a kiadott feladatokon, a megoldásokat jegyzőkönyvezni kell, amit a mérés végén átnéz és értékel az egyik mérésvezető. A mérésekre előzetesen fel kell készülni, a beugró sikeres teljesítéséhez érdemes a mérési segédletet egyszer-kétszer átolvasni. A feladatokat előre elvégezni nem szabad. Ha valamiben elakadsz, nyugodtan kérdezz valamelyik mérésvezetőtől.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Mérés felkészítők (2019)&#039;&#039;&#039;&lt;br /&gt;
** [[Media:KH1-felkesz-1-v1.1.3.pdf | TCP/IP protocol stack vizsgálata ]]&lt;br /&gt;
** [[Media:KH1-felkesz-2-v1.1.2.pdf | Hálózati alkalmazások vizsgálata ]]&lt;br /&gt;
** [[Media:KH1-felkesz-3-v1.1.0.pdf | IPv6 és IPv6 áttérési technológiák vizsgálata ]]&lt;br /&gt;
&lt;br /&gt;
=== Otthoni mérések ===&lt;br /&gt;
* A félév során 3 otthoni mérést kell teljesíteni. A félév elején készítenek egy beosztást, hogy kinek hanyadik héten kell bemutatnia és melyik mérést. Egyeztetés mellett azonban lehet másokkal mérési alkalmakat cserélni.&lt;br /&gt;
* A mérések a félév elején kikerülnek és mindenki saját tempójában oldhatja meg. Ha elakadtál, akkor a Teams csoportban a megfelelő csatornákon lehet segítséget kérni.&lt;br /&gt;
&lt;br /&gt;
== ZH ==&lt;br /&gt;
* ZH sávban, moodle-ön keresztül&lt;br /&gt;
* 20 kérdés, darabja 5 pont&lt;br /&gt;
A [[Kommunikációs hálózatok 1]] tárgy tananyaga jelentősen átfedi az új tárgy anyagát, készülésre azok is használhatók.&lt;br /&gt;
&lt;br /&gt;
== Vizsga ==&lt;br /&gt;
Ugyanolyan formátumú és pontozású mint a ZH.&lt;br /&gt;
&lt;br /&gt;
{{Lábléc_-_Mérnök_informatikus_alapszak_2022}}&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Szoftvertechnik%C3%A1k&amp;diff=206513</id>
		<title>Szoftvertechnikák</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Szoftvertechnik%C3%A1k&amp;diff=206513"/>
		<updated>2025-05-31T17:15:27Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: 2024 előtti ZH kikérdező hozzáadva&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tantárgy&lt;br /&gt;
|név = Szoftvertechnikák&lt;br /&gt;
|tárgykód = VIAUAB00&lt;br /&gt;
|régitárgykód = VIAUA218&lt;br /&gt;
|szak = info&lt;br /&gt;
|kredit = 5&lt;br /&gt;
|felev = 4&lt;br /&gt;
|kereszt = nincs&lt;br /&gt;
|tanszék = AUT&lt;br /&gt;
|labor = 7 db&lt;br /&gt;
|kiszh = nincs&lt;br /&gt;
|nagyzh =1 db&lt;br /&gt;
|hf =5 db&lt;br /&gt;
|vizsga = írásbeli&lt;br /&gt;
|tad = https://portal.vik.bme.hu/kepzes/targyak/VIAUAB00&lt;br /&gt;
|targyhonlap = https://www.aut.bme.hu/Course/VIAUAB00&lt;br /&gt;
|levlista = sznikak{{Kukac}}sch.bme.hu&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Követelmények ==&lt;br /&gt;
&lt;br /&gt;
=== Előtanulmányi rend ===&lt;br /&gt;
* A tárgy felvételéhez [[Szoftvertechnológia]] tárgyból aláírás megszerzése szükséges.&lt;br /&gt;
&lt;br /&gt;
=== A szorgalmi időszakban ===&lt;br /&gt;
* A 7 db &#039;&#039;&#039;labor&#039;&#039;&#039;on jelenlét kötelező, max 1 laborról lehet hiányozni. Ha minden laboron részt vettél, plusz pontot tudsz vinni magaddal. &lt;br /&gt;
* Az 5 db &#039;&#039;&#039;házi feladat&#039;&#039;&#039; mindegyikét fel kell tölteni GitHubra, melyek mindegyikét elfogadottra kell teljesíteni.&lt;br /&gt;
* A &#039;&#039;&#039;ZH&#039;&#039;&#039; sikeres (min. 40%) megírása. Ha valaki sima ZH-n, tehát nem póton 4-esre írja meg a ZH-t +4 pontot visz a vizsgára, 5-ös esetén +8-at.&lt;br /&gt;
* &#039;&#039;&#039;Pótlási lehetőségek:&#039;&#039;&#039;&lt;br /&gt;
** A &#039;&#039;&#039;házi feladatok&#039;&#039;&#039;nál határidőn túli beadásra maximum 3 esetben, maximum 1 hetet meghaladó mértékben van lehetőség.&lt;br /&gt;
** A &#039;&#039;&#039;ZH&#039;&#039;&#039; egyszer félév közben, egyszer pedig a pótlási héten (különeljárási díj fejében) pótolható.&lt;br /&gt;
** A &#039;&#039;&#039;labor&#039;&#039;&#039;ok jelenléte nem pótolható. &lt;br /&gt;
* &#039;&#039;&#039;Megajánlott jegy:&#039;&#039;&#039; nincs.&lt;br /&gt;
&lt;br /&gt;
=== A vizsgaidőszakban ===&lt;br /&gt;
* &#039;&#039;&#039;Elővizsga:&#039;&#039;&#039; nincs.&lt;br /&gt;
* &#039;&#039;&#039;Vizsga:&#039;&#039;&#039; Írásbeli, melynek előfeltétele az aláírás megléte. A kredit megszerzéséhez legalább elégséges vizsgaosztályzat kell.&lt;br /&gt;
&lt;br /&gt;
=== Félévvégi jegy ===&lt;br /&gt;
* A félévvégi jegyet a pluszpontokkal megnövelt vizsgaeredmény adja.&lt;br /&gt;
* Ponthatárok:&lt;br /&gt;
{{Jegykonvertálás&lt;br /&gt;
| 0 - 44&lt;br /&gt;
| 45 - 55&lt;br /&gt;
| 56 - 70&lt;br /&gt;
| 71 - 84&lt;br /&gt;
| 85 -&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== iMSc pontok ===&lt;br /&gt;
* &#039;&#039;&#039;Elérhető pontszám:&#039;&#039;&#039;  25 pont.&lt;br /&gt;
* &#039;&#039;&#039;Feladat:&#039;&#039;&#039; A ZH-n 7 pont, a vizsgán 8 pont szerezhető. Önálló feladatok megoldásával további 10 pont szerezhető. Pont akkor adható meg, ha a hallgató a kitűzött normál feladatok megoldásával a jeles szintet eléri.&lt;br /&gt;
&lt;br /&gt;
== Segédanyagok ==&lt;br /&gt;
&lt;br /&gt;
=== Hallgatói jegyzet ===&lt;br /&gt;
* [[Média:Sznikak jegyzet designpatternkezi.pdf| Design pattern (kézzel írott)]] by: Vincze Viktória&lt;br /&gt;
* [[Sznikak_tervezesimintak | Tervezési minták]]&lt;br /&gt;
* [[Média:Sznikak jegyzet DesignPatterns.pdf| Tervezési minták (Siklósi Zsolt @ info2007)]]&lt;br /&gt;
* [[Sznikák_példakódok | Példakódok]]&lt;br /&gt;
* [[Média:Sznikak jegyzet vizsgara2010byzsepi.pdf| kigyűjtött vizsgafeladatok]] by: Zsepi&lt;br /&gt;
&lt;br /&gt;
=== Összefoglalók ===&lt;br /&gt;
* [[Média:Sznikak jegyzet CBible2002.pdf| CsharpBible2002.pdf]]&lt;br /&gt;
* [[Média:Sznikak jegyzet osszefoglal.pdf| Tételkidolgozás ZH-ra]]&lt;br /&gt;
* [[Média:Sznikak jegyzet osszefoglal 3.pdf| Tételkidolgozás ZH-ra javított verzió]]&lt;br /&gt;
* [[Média:Sznikak jegyzet designpatternscard.pdf| Tervezési minták tömör összefoglaló (angol)]]&lt;br /&gt;
* [[Média:Hosszujegyzet.pdf| Dia kivonat 2015 tavasz]]&lt;br /&gt;
* [[Média:Sznikák jegyzet architekturak&amp;amp;tervezesimintak 2017tavasz.pdf| Architektúrák, tervezési minták, reflexió összefoglaló (2017 tavasz)]]&lt;br /&gt;
* [[SzoftverTechnikakTetelsor | Szoftvertechnikák tételsor]]&lt;br /&gt;
* [[Média:Sznikak jegyzet osszestettvizsgakerdesek.pdf| Összesítettkérdések és válaszok]] by: Évi&lt;br /&gt;
&lt;br /&gt;
=== Ajánlott könyvek ===&lt;br /&gt;
* [[Média:Sznikak jegyzet reitercsharp.pdf| Reiter István - C# jegyzet]] ([https://devportal.hu/Fajlok/Default.aspx?shareid=1&amp;amp;path=Konyvek%5ccsharp+jegzyet forrás])&lt;br /&gt;
* [[Média:Sznikak jegyzet E.Gamma R.Helm R.Johnson J.Vlissides DesignPatterns.pdf| Tervezési minták (angol)]]&lt;br /&gt;
* [[Média:Sznikak jegyzet Pattern-Oriented-SA vol1.pdf| Diák végén ajánlott könyv első kötete (angol)]]&lt;br /&gt;
* [[Média:Sznikak Pattern-Oriented-SA vol2.pdf| Diák végén ajánlott könyv második kötete (angol)]]&lt;br /&gt;
&lt;br /&gt;
=== Ajánlott oldalak ===&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLrhzvIcii6GNjpARdnO4ueTUAVR9eMBpc Tervezési minták videósorozat (angol)]&lt;br /&gt;
&lt;br /&gt;
== Laboratórium ==&lt;br /&gt;
* Minden második héten van labor.&lt;br /&gt;
* A laborok vezetettek, beugró nincs.&lt;br /&gt;
* Ha valaki minden labort teljesít +2 pont járt érte a vizsgán.&lt;br /&gt;
* A laborok végén minden hallgató kap kisházit, melyből 5-öt kell teljesíteni a félév folyamán.&lt;br /&gt;
* Korábbi években teljesített laborokat újratárgyfelvételnél NEM fogadják el.&lt;br /&gt;
&lt;br /&gt;
== Kikérdezők ==&lt;br /&gt;
* [[Sznikák ZH kikérdező | ZH kikérdező]]&lt;br /&gt;
* [[Sznikák vizsga kikérdező | Vizsga kikérdező]]&lt;br /&gt;
{{Rejtett&lt;br /&gt;
| mutatott=&#039;&#039;&#039;Régebbi kikérdezők&#039;&#039;&#039;&lt;br /&gt;
| szöveg=&lt;br /&gt;
* 2024 előtti&lt;br /&gt;
** [[Sznikák_vizsga_kikérdező_(2024_előtt) | Vizsga kikérdező]]&lt;br /&gt;
** [[Sznikák_ZH_kikérdező_(2024_előtt) | ZH kikérdező]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Zárthelyi ==&lt;br /&gt;
* [[Média:Sznikak zh 2007-04-13 kidolgozott.pdf| 2007. április 13. ZH]]&lt;br /&gt;
* [[Média:Sznikak pzh 2008-04-30 kidolgozott.pdf| 2008. április 30. PZH]]&lt;br /&gt;
* [[SzoftTechZH201004 | 2010. április 14. ZH]]&lt;br /&gt;
* [[SzoftTechZH20110418 | 2011. április 18. ZH]]&lt;br /&gt;
* [[SzoftTechZH20130422 | 2013. április 22. ZH]]&lt;br /&gt;
* [[SzoftTechPZH20130510 | 2013. május 10. PZH]]&lt;br /&gt;
* [[SzoftTechZH20140414 | 2014. április 14. ZH]] [[Média:Sznikak zh 2014 tavasz mo.pdf| Nem hivatalos megoldás]]&lt;br /&gt;
* [[Szoftvertechnikák ZH 2019.04.08. | 2019 április 08.]]&lt;br /&gt;
&lt;br /&gt;
== Vizsga ==&lt;br /&gt;
&lt;br /&gt;
* 2007&lt;br /&gt;
** [[SzoftTechVizsga070530 | 1. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga070606 | 2. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga070613 | 3. vizsga]]&lt;br /&gt;
&lt;br /&gt;
* 2008&lt;br /&gt;
** [[SzoftTechVizsga080530 | 1. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga080604 | 2. vizsga]]&lt;br /&gt;
&lt;br /&gt;
* 2009&lt;br /&gt;
** [[SzoftTechVizsga090529 | 1. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga090605 | 2. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga090610 | 3. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga090616 | 4. vizsga]]&lt;br /&gt;
&lt;br /&gt;
* 2010&lt;br /&gt;
** [[SzoftTechVizsga100525 | 1. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga100601 | 2. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga100608 | 3. vizsga]]&lt;br /&gt;
&lt;br /&gt;
* 2011&lt;br /&gt;
** [[SzoftTechVizsga110525 | 1. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga110601 | 2. vizsga]]&lt;br /&gt;
&lt;br /&gt;
* 2012&lt;br /&gt;
** [[SzoftTechVizsga120523 | 1. vizga]]&lt;br /&gt;
&lt;br /&gt;
* 2013&lt;br /&gt;
** [[SzoftTechVizsga130530 | 1. vizsga]] + [https://docs.google.com/document/d/131SOMpOCwQhtLaiVikz8hI03FnvJz0WGEpWg6zCZOCU/edit Kidolgozás ]&lt;br /&gt;
** [[Média:Sznikak vizsga 20130625.pdf| 2. vizsga]] + [https://docs.google.com/document/d/131SOMpOCwQhtLaiVikz8hI03FnvJz0WGEpWg6zCZOCU/edit Kidolgozás]&lt;br /&gt;
&lt;br /&gt;
* 2015&lt;br /&gt;
** [https://docs.google.com/document/d/1-I5sTiFZdJBE3mXHkQX1rWiRJdNDYLHMwzUCeqsSO_c/edit 1. vizsga]&lt;br /&gt;
&lt;br /&gt;
== Tippek ==&lt;br /&gt;
&lt;br /&gt;
=== Hasonló tárgyak, tanfolyamok ===&lt;br /&gt;
* [[Szoftver technikák]] az 1.1-es szakirányon és [[Szoftver technikák és információ megjelenítés laboratórium|labor]]&lt;br /&gt;
* [[Szoftverfejlesztés .NET platformon]]&lt;br /&gt;
* [[Szoftverfejlesztés .NET platformon - MCP 70-526 tanfolyam | .NET framework 2.0 Windows-Based Client Development]]&lt;br /&gt;
* [[Szoftverfejlesztés .NET platformon - MCP 70-536 tanfolyam | .NET framework 2.0 Application Development Foundation]]&lt;br /&gt;
&lt;br /&gt;
=== Fejlesztői környezetek ===&lt;br /&gt;
* [http://e5.onthehub.com/WebStore/OfferingsOfMajorVersionList.aspx?ws=42a261b1-869b-e011-969d-0030487d8897&amp;amp;vsro=8&amp;amp;pmv=6dca33b6-d5b0-e111-b575-f04da23e67f6&amp;amp;cmi_mnuMain=bdba23cf-e05e-e011-971f-0030487d8897 Visual Studio 2012 (DreamSpark)] - Ultimate igényelhető ingyen a {{kukac}}hszk.bme.hu -s e-mailcímmel&lt;br /&gt;
* [https://remoteapp.sch.bme.hu RemoteApp]-on van Visual Studio 2017. (RemoteApp szerver elérése böngészőből: [https://guacamole.sch.bme.hu Guacamole])&lt;br /&gt;
&lt;br /&gt;
== Kedvcsináló ==&lt;br /&gt;
&lt;br /&gt;
=== Lord Viktor ===&lt;br /&gt;
* Szoftvertechnológia után felüdülés volt, mondjuk engem azért nem nagyon fogott meg. Az anyag érdekes, bár vannak benne unalmas, száraz részek is. Nekem jobban bejött a Java, mint a C#, de hát ízlések és pofonok. Előadásra annak érdemes járni, akit leköt a dolog, egyébként abszolválható simán a tárgy anélkül is. A diák jók, és minden bennük van, ami a ZH-hoz/vizsgához kell. A gyakorlat lebonyolítása viszont a Szoftver laborok után vicc kategória. A beugró nem nehéz, sőt kifejezetten könnyű, aki figyelmesen elolvasta az anyagot, annak jobbára megvan. Viszont az órai munka nehezen követhető és nem reprodukálható: a laborvezető kivetítve csinálja a feladatokat (amik lehet neki megvannak, de leírva és kiadva sehol sincsenek), te pedig kódolsz utána bambán. Bár magyaráz mellé, de szerintem kevés az olyan férfi ember, aki egyszerre tudja a kódot a kivetítőről lemásolni és az érdemi mondanivalót is megjegyezni. A honlapra csak a kezdeti forráskódot rakják fel, illetve a félév végén a végső megoldásokat, de feladatsor sehol sincs, így igazából a vizsgaidőszakra kb. 0 ragad meg az órai munkából, max. amennyi rutint megszerzel. Viszont az oktatók rendesek, mind a beugró, mind a ZH/vizsga pontozása korrekt, szóval összességében kellemes tárgy, de a laborgyakorlatokon lehetne csiszolni. &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Szerkesztő:Talapa Viktor György|Lord Viktor]] ([[Szerkesztővita:Talapa Viktor György|vita]]) 2013. június 6., 17:36 (UTC)&lt;br /&gt;
&lt;br /&gt;
{{Lábléc - Mérnök informatikus alapszak 2022}}&lt;br /&gt;
{{Lábléc - Mérnök informatikus alapszak 2014}}&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Sznik%C3%A1k_ZH_kik%C3%A9rdez%C5%91&amp;diff=206512</id>
		<title>Sznikák ZH kikérdező</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Sznik%C3%A1k_ZH_kik%C3%A9rdez%C5%91&amp;diff=206512"/>
		<updated>2025-05-31T17:13:55Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: forms-os kérdések eltávolítva&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vissza|Szoftvertechnikák}}&lt;br /&gt;
&#039;&#039; Megjegyzés: A (?) jelölt kérdésekre a válasz nem 100%-ig helyes, amennyiben tudod rá a helyes választ, írd át a helyes megoldásra vagy épp szedd ki a ?-et a kérdésből, ha alapból jó a válasz, ezzel segítve a többiek, és az én munkámat! :) &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{kvízoldal|cím=ZH felkészítő kikérdező|pontozás=-}}&lt;br /&gt;
&lt;br /&gt;
== .JIT köztes kódot fordítja natív gépi kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET Framework alapú konzol alkalmazások Linuxon is futnak. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET NuGet csomagok formájában lehet kiegészítő könyvtárakat letölteni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET beépített osztályok legtöbbje szálbiztos. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET környezetben 2 folyamat között kölcsönös kizárás a lock utasítással megvalósítható. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET környezetben egy folyamat a kilépéskor bevárja az összes előtér szálat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# WriterLock&lt;br /&gt;
# ReaderLock&lt;br /&gt;
# ReaderWriterLock&lt;br /&gt;
# ExecuterLock&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
&lt;br /&gt;
== .NET több nyelvet is támogat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET Core csak Windowson fut. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET nem támogatja a (managed) C++ nyelvet. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET több programozási nyelvet is támogat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A C# delegate objektumok a C függvénypointerek modern megfelelői, ugyanakkor több függvényre is tudnak mutatni/hivatkozni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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). ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A JIT fordító a C# kódot fordítja IL kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A JIT fordító a köztes kódot fordítja natív gépi kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Win32 API függvények számos programozói környezetből, pl. .NET alól is elérhetők. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Win32 API-t jellemzően C# nyelven programozzuk. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A privát .NET szerelvények telepítése egyszerű, csak fel kell másolni a számítógépre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Amikor egy AutoResetEvent objektum jelzett lesz, a rá várakozó szálak közül csak 1 futhat tovább. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Az AutoResetEvent osztályt jellemzően arra használjuk, hogy hatékonyan tudjunk várakozni más szál jelzésére. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Azonosított .NET szerelvényekből lehet két ugyanolyan nevű telepítve egy számítógépre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== C# nyelven az &amp;quot;@attribútumnév&amp;quot; szintaktikával lehet deklaratívan annotációkat osztályokhoz fűzni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}&lt;br /&gt;
# Destroy&lt;br /&gt;
# Discard&lt;br /&gt;
# Using blokk&lt;br /&gt;
# Finalize&lt;br /&gt;
# Destuktor&lt;br /&gt;
&lt;br /&gt;
== Egy .NET alkalmazásban a .NET &amp;quot;megkerülésével&amp;quot;, közvetlenül a Win32 API használatával erőforrásokat foglalunk egy osztályunkban (pl. Fájlt nyitunk meg). Milyen műveletet/műveleteket írunk ilyen esetben? Több válasz is megadható! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
&lt;br /&gt;
== Egy 32 bites számmal történő egyszerű értékadás .NET környezetben mindig atomi. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy C# eseményre feliratkozni az = operátorral lehet. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy Win32 üzenet billentyűlenyomás esetén tartalmazza a lenyomott billentyű kódját. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy alkalmazáson belül a Windows üzenetek feldolgozása párhuzamos. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy nem statikus változót célszerű statikus lockkal (osztályszintű zárral) védeni, mert ez hatékonyabb megoldást jelent. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy változó növelése .NET környezetben atomi. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Feladatunk egy .NET alkalmazásban Oracle adatbázisban bizonyos rekordok módosítása. Mi(k)re van ehhez szükség? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4,6,7|pontozás=-}}&lt;br /&gt;
# SQLCommand&lt;br /&gt;
# SQLDataReader&lt;br /&gt;
# SQLConnection&lt;br /&gt;
# OracleConnection&lt;br /&gt;
# OracleDataReader&lt;br /&gt;
# OracleCommand&lt;br /&gt;
# Try/finally vagy using blokk&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== IL-t könnyű visszafejteni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Milyen lépéseket tartalmaz jellemzően egy meglévő modális dialógusablak használata? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,5,6|pontozás=-}}&lt;br /&gt;
# A dialógusablakon levő vezérlők közvetlen inicializálása.&lt;br /&gt;
# A dialógusablak visszatérésének (DialogResult) vizsgálata.&lt;br /&gt;
# A dialógusablakon levő vezérlők inicializálása property-k (tulajdonságok) segítségével.&lt;br /&gt;
# MessageBox megjelenítés.&lt;br /&gt;
# Dialógusablak megjelenítése.&lt;br /&gt;
# Dialógusablak példányosítása.&lt;br /&gt;
# Időzítő felparaméterezése.&lt;br /&gt;
&lt;br /&gt;
== ReaderWriterLock osztály lehetővé teszi, hogy egy erőforrást több szál is írjon egyszerre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Mely fogalmak, nyelvi elemek hozhatók összefüggésbe költséges, nem felügyelt erőforrások életciklus menedzsmentjével kapcsolatban .NET környezetben? Jelölje meg a helyes válaszokat, akárhány helyes válasz lehet!(?) ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,6,8|pontozás=-}}&lt;br /&gt;
# delete&lt;br /&gt;
# destruktor&lt;br /&gt;
# IDisposable&lt;br /&gt;
# NativeCollect&lt;br /&gt;
# INativeResource&lt;br /&gt;
# Dispose&lt;br /&gt;
# IDeletable&lt;br /&gt;
# using&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Sznik%C3%A1k_ZH_kik%C3%A9rdez%C5%91_(2024_el%C5%91tt)&amp;diff=206511</id>
		<title>Sznikák ZH kikérdező (2024 előtt)</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Sznik%C3%A1k_ZH_kik%C3%A9rdez%C5%91_(2024_el%C5%91tt)&amp;diff=206511"/>
		<updated>2025-05-31T17:11:44Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: 2024 előtti ZH kikérdező&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vissza|Szoftvertechnikák}}&lt;br /&gt;
&#039;&#039; Megjegyzés: A (?) jelölt kérdésekre a válasz nem 100%-ig helyes, amennyiben tudod rá a helyes választ, írd át a helyes megoldásra vagy épp szedd ki a ?-et a kérdésből, ha alapból jó a válasz, ezzel segítve a többiek, és az én munkámat! :) &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{kvízoldal|cím=ZH felkészítő kikérdező|pontozás=-}}&lt;br /&gt;
&lt;br /&gt;
== .JIT köztes kódot fordítja natív gépi kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET Framework alapú konzol alkalmazások Linuxon is futnak. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET NuGet csomagok formájában lehet kiegészítő könyvtárakat letölteni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET beépített osztályok legtöbbje szálbiztos. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET környezetben 2 folyamat között kölcsönös kizárás a lock utasítással megvalósítható. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET környezetben egy folyamat a kilépéskor bevárja az összes előtér szálat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# WriterLock&lt;br /&gt;
# ReaderLock&lt;br /&gt;
# ReaderWriterLock&lt;br /&gt;
# ExecuterLock&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
&lt;br /&gt;
== .NET több nyelvet is támogat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET Core csak Windowson fut. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET Windows Forms bizonyos osztályai a beépített Component osztályból származnak. Mi ennek a következménye? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Lehetőség van a Visual Studio designerében felparaméterezni.&lt;br /&gt;
# Natív ablakot csomagol be.&lt;br /&gt;
# Szülő-gyerek viszonyban állíthatók egymással.&lt;br /&gt;
# Örökli a vezérlőkre közös tulajdonságokat, mint pl. A helye, mérete, stb.&lt;br /&gt;
&lt;br /&gt;
== A .NET nem támogatja a (managed) C++ nyelvet. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET több programozási nyelvet is támogat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A C# delegate objektumok a C függvénypointerek modern megfelelői, ugyanakkor több függvényre is tudnak mutatni/hivatkozni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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). ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A JIT fordító a C# kódot fordítja IL kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A JIT fordító a köztes kódot fordítja natív gépi kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Win32 API függvények számos programozói környezetből, pl. .NET alól is elérhetők. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Win32 API-t jellemzően C# nyelven programozzuk. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A privát .NET szerelvények telepítése egyszerű, csak fel kell másolni a számítógépre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Amikor egy AutoResetEvent objektum jelzett lesz, a rá várakozó szálak közül csak 1 futhat tovább. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Az AutoResetEvent osztályt jellemzően arra használjuk, hogy hatékonyan tudjunk várakozni más szál jelzésére. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Azonosított .NET szerelvényekből lehet két ugyanolyan nevű telepítve egy számítógépre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== C# nyelven az &amp;quot;@attribútumnév&amp;quot; szintaktikával lehet deklaratívan annotációkat osztályokhoz fűzni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}&lt;br /&gt;
# Destroy&lt;br /&gt;
# Discard&lt;br /&gt;
# Using blokk&lt;br /&gt;
# Finalize&lt;br /&gt;
# Destuktor&lt;br /&gt;
&lt;br /&gt;
== Egy .NET alkalmazásban a .NET &amp;quot;megkerülésével&amp;quot;, közvetlenül a Win32 API használatával erőforrásokat foglalunk egy osztályunkban (pl. Fájlt nyitunk meg). Milyen műveletet/műveleteket írunk ilyen esetben? Több válasz is megadható! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
&lt;br /&gt;
== Egy 32 bites számmal történő egyszerű értékadás .NET környezetben mindig atomi. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy C# eseményre feliratkozni az = operátorral lehet. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy Win32 üzenet billentyűlenyomás esetén tartalmazza a lenyomott billentyű kódját. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Dockolás&lt;br /&gt;
# Anchor&lt;br /&gt;
# FillPanel&lt;br /&gt;
# SplitContainer&lt;br /&gt;
# Splitter&lt;br /&gt;
# Sticky container&lt;br /&gt;
# Grid panel&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Groupbox&lt;br /&gt;
# Checkbox osztályból származtatás&lt;br /&gt;
# Form&lt;br /&gt;
# Component&lt;br /&gt;
# CostumControl leszármaztatás&lt;br /&gt;
# UserControl&lt;br /&gt;
# Control leszármaztatás&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}&lt;br /&gt;
# Groupbox&lt;br /&gt;
# Checkbox osztályból származtatás&lt;br /&gt;
# Form&lt;br /&gt;
# Component&lt;br /&gt;
# CostumControl leszármaztatás&lt;br /&gt;
# UserControl&lt;br /&gt;
# Control leszármaztatás&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}&lt;br /&gt;
# Groupbox&lt;br /&gt;
# Checkbox osztályból származtatás&lt;br /&gt;
# Form&lt;br /&gt;
# Component&lt;br /&gt;
# CostumControl leszármaztatás&lt;br /&gt;
# UserControl&lt;br /&gt;
# Control leszármaztatás&lt;br /&gt;
&lt;br /&gt;
== 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). ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Dockolás&lt;br /&gt;
# Anchor&lt;br /&gt;
# FillPanel&lt;br /&gt;
# Splitter&lt;br /&gt;
# Sticky container&lt;br /&gt;
&lt;br /&gt;
== Egy alkalmazáson belül a Windows üzenetek feldolgozása párhuzamos. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy nem statikus változót célszerű statikus lockkal (osztályszintű zárral) védeni, mert ez hatékonyabb megoldást jelent. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy változó növelése .NET környezetben atomi. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Feladatunk egy .NET alkalmazásban Oracle adatbázisban bizonyos rekordok módosítása. Mi(k)re van ehhez szükség? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4,6,7|pontozás=-}}&lt;br /&gt;
# SQLCommand&lt;br /&gt;
# SQLDataReader&lt;br /&gt;
# SQLConnection&lt;br /&gt;
# OracleConnection&lt;br /&gt;
# OracleDataReader&lt;br /&gt;
# OracleCommand&lt;br /&gt;
# Try/finally vagy using blokk&lt;br /&gt;
&lt;br /&gt;
== Feladatunk egy Windows Forms alkalmazásban annak számolása és kirajzolása az ablak bal felső sarkába, hogy hányszor keletkezett érvénytelen terület. Mi(k)hez van erre szükség? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,4|pontozás=-}}&lt;br /&gt;
# Egy tagváltozó a darabszám értékének nyilvántartására.&lt;br /&gt;
# Invalidate hívása.&lt;br /&gt;
# Timer.&lt;br /&gt;
# Paint esemény kezelése vagy OnPaint felülírása.&lt;br /&gt;
&lt;br /&gt;
== Feladatunk egy Windows Forms alkalmazásban annak számolása és kirajzolása az ablak bal felső sarkában, hogy hányszor keletkezett érvénytelen terület. Mi(k)hez van erre szükség? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,4|pontozás=-}}&lt;br /&gt;
# Invalidate hívása.&lt;br /&gt;
# Paint esemény kezelése vagy OnPaint felülírása.&lt;br /&gt;
# Timer&lt;br /&gt;
# Egy tagváltozó a darabszám értékének nyilvántartására.&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== IL-t könnyű visszafejteni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Milyen lépéseket tartalmaz jellemzően egy meglévő modális dialógusablak használata? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,5,6|pontozás=-}}&lt;br /&gt;
# A dialógusablakon levő vezérlők közvetlen inicializálása.&lt;br /&gt;
# A dialógusablak visszatérésének (DialogResult) vizsgálata.&lt;br /&gt;
# A dialógusablakon levő vezérlők inicializálása property-k (tulajdonságok) segítségével.&lt;br /&gt;
# MessageBox megjelenítés.&lt;br /&gt;
# Dialógusablak megjelenítése.&lt;br /&gt;
# Dialógusablak példányosítása.&lt;br /&gt;
# Időzítő felparaméterezése.&lt;br /&gt;
&lt;br /&gt;
== ReaderWriterLock osztály lehetővé teszi, hogy egy erőforrást több szál is írjon egyszerre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Windows Forms nem támogat lineáris transzformációkat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Windows Forms vezérlők (Control) között lehetőség van szülő/gyerek viszony kialakítására. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Mely fogalmak, nyelvi elemek hozhatók összefüggésbe költséges, nem felügyelt erőforrások életciklus menedzsmentjével kapcsolatban .NET környezetben? Jelölje meg a helyes válaszokat, akárhány helyes válasz lehet!(?) ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,6,8|pontozás=-}}&lt;br /&gt;
# delete&lt;br /&gt;
# destruktor&lt;br /&gt;
# IDisposable&lt;br /&gt;
# NativeCollect&lt;br /&gt;
# INativeResource&lt;br /&gt;
# Dispose&lt;br /&gt;
# IDeletable&lt;br /&gt;
# using&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Szoftvertechnik%C3%A1k&amp;diff=206507</id>
		<title>Szoftvertechnikák</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Szoftvertechnik%C3%A1k&amp;diff=206507"/>
		<updated>2025-05-31T17:03:37Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: 2024 előtti kikérdező hozzáadva&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tantárgy&lt;br /&gt;
|név = Szoftvertechnikák&lt;br /&gt;
|tárgykód = VIAUAB00&lt;br /&gt;
|régitárgykód = VIAUA218&lt;br /&gt;
|szak = info&lt;br /&gt;
|kredit = 5&lt;br /&gt;
|felev = 4&lt;br /&gt;
|kereszt = nincs&lt;br /&gt;
|tanszék = AUT&lt;br /&gt;
|labor = 7 db&lt;br /&gt;
|kiszh = nincs&lt;br /&gt;
|nagyzh =1 db&lt;br /&gt;
|hf =5 db&lt;br /&gt;
|vizsga = írásbeli&lt;br /&gt;
|tad = https://portal.vik.bme.hu/kepzes/targyak/VIAUAB00&lt;br /&gt;
|targyhonlap = https://www.aut.bme.hu/Course/VIAUAB00&lt;br /&gt;
|levlista = sznikak{{Kukac}}sch.bme.hu&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Követelmények ==&lt;br /&gt;
&lt;br /&gt;
=== Előtanulmányi rend ===&lt;br /&gt;
* A tárgy felvételéhez [[Szoftvertechnológia]] tárgyból aláírás megszerzése szükséges.&lt;br /&gt;
&lt;br /&gt;
=== A szorgalmi időszakban ===&lt;br /&gt;
* A 7 db &#039;&#039;&#039;labor&#039;&#039;&#039;on jelenlét kötelező, max 1 laborról lehet hiányozni. Ha minden laboron részt vettél, plusz pontot tudsz vinni magaddal. &lt;br /&gt;
* Az 5 db &#039;&#039;&#039;házi feladat&#039;&#039;&#039; mindegyikét fel kell tölteni GitHubra, melyek mindegyikét elfogadottra kell teljesíteni.&lt;br /&gt;
* A &#039;&#039;&#039;ZH&#039;&#039;&#039; sikeres (min. 40%) megírása. Ha valaki sima ZH-n, tehát nem póton 4-esre írja meg a ZH-t +4 pontot visz a vizsgára, 5-ös esetén +8-at.&lt;br /&gt;
* &#039;&#039;&#039;Pótlási lehetőségek:&#039;&#039;&#039;&lt;br /&gt;
** A &#039;&#039;&#039;házi feladatok&#039;&#039;&#039;nál határidőn túli beadásra maximum 3 esetben, maximum 1 hetet meghaladó mértékben van lehetőség.&lt;br /&gt;
** A &#039;&#039;&#039;ZH&#039;&#039;&#039; egyszer félév közben, egyszer pedig a pótlási héten (különeljárási díj fejében) pótolható.&lt;br /&gt;
** A &#039;&#039;&#039;labor&#039;&#039;&#039;ok jelenléte nem pótolható. &lt;br /&gt;
* &#039;&#039;&#039;Megajánlott jegy:&#039;&#039;&#039; nincs.&lt;br /&gt;
&lt;br /&gt;
=== A vizsgaidőszakban ===&lt;br /&gt;
* &#039;&#039;&#039;Elővizsga:&#039;&#039;&#039; nincs.&lt;br /&gt;
* &#039;&#039;&#039;Vizsga:&#039;&#039;&#039; Írásbeli, melynek előfeltétele az aláírás megléte. A kredit megszerzéséhez legalább elégséges vizsgaosztályzat kell.&lt;br /&gt;
&lt;br /&gt;
=== Félévvégi jegy ===&lt;br /&gt;
* A félévvégi jegyet a pluszpontokkal megnövelt vizsgaeredmény (V) adja.&lt;br /&gt;
* Ponthatárok:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 120px; height: 40px;&amp;quot;&lt;br /&gt;
!V !!Jegy&lt;br /&gt;
|-&lt;br /&gt;
| 0 - 44 || 1&lt;br /&gt;
|-&lt;br /&gt;
|45 - 55 || 2&lt;br /&gt;
|-&lt;br /&gt;
|56 - 70 || 3&lt;br /&gt;
|-&lt;br /&gt;
|71 - 84 || 4&lt;br /&gt;
|-&lt;br /&gt;
|85 -    || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== iMSc pontok ===&lt;br /&gt;
* &#039;&#039;&#039;Elérhető pontszám:&#039;&#039;&#039;  25 pont.&lt;br /&gt;
* &#039;&#039;&#039;Feladat:&#039;&#039;&#039; A ZH-n 7 pont, a vizsgán 8 pont szerezhető. Önálló feladatok megoldásával további 10 pont szerezhető. Pont akkor adható meg, ha a hallgató a kitűzött normál feladatok megoldásával a jeles szintet eléri.&lt;br /&gt;
&lt;br /&gt;
== Segédanyagok ==&lt;br /&gt;
&lt;br /&gt;
=== Hallgatói jegyzet ===&lt;br /&gt;
* [[Média:Sznikak jegyzet designpatternkezi.pdf| Design pattern (kézzel írott)]] by: Vincze Viktória&lt;br /&gt;
* [[Sznikak_tervezesimintak | Tervezési minták]]&lt;br /&gt;
* [[Média:Sznikak jegyzet DesignPatterns.pdf| Tervezési minták (Siklósi Zsolt @ info2007)]]&lt;br /&gt;
* [[Sznikák_példakódok | Példakódok]]&lt;br /&gt;
* [[Média:Sznikak jegyzet vizsgara2010byzsepi.pdf| kigyűjtött vizsgafeladatok]] by: Zsepi&lt;br /&gt;
&lt;br /&gt;
=== Összefoglalók ===&lt;br /&gt;
* [[Média:Sznikak jegyzet CBible2002.pdf| CsharpBible2002.pdf]]&lt;br /&gt;
* [[Média:Sznikak jegyzet osszefoglal.pdf| Tételkidolgozás ZH-ra]]&lt;br /&gt;
* [[Média:Sznikak jegyzet osszefoglal 3.pdf| Tételkidolgozás ZH-ra javított verzió]]&lt;br /&gt;
* [[Média:Sznikak jegyzet designpatternscard.pdf| Tervezési minták tömör összefoglaló (angol)]]&lt;br /&gt;
* [[Média:Hosszujegyzet.pdf| Dia kivonat 2015 tavasz]]&lt;br /&gt;
* [[Média:Sznikák jegyzet architekturak&amp;amp;tervezesimintak 2017tavasz.pdf| Architektúrák, tervezési minták, reflexió összefoglaló (2017 tavasz)]]&lt;br /&gt;
* [[SzoftverTechnikakTetelsor | Szoftvertechnikák tételsor]]&lt;br /&gt;
* [[Média:Sznikak jegyzet osszestettvizsgakerdesek.pdf| Összesítettkérdések és válaszok]] by: Évi&lt;br /&gt;
&lt;br /&gt;
=== Ajánlott könyvek ===&lt;br /&gt;
* [[Média:Sznikak jegyzet reitercsharp.pdf| Reiter István - C# jegyzet]] ([https://devportal.hu/Fajlok/Default.aspx?shareid=1&amp;amp;path=Konyvek%5ccsharp+jegzyet forrás])&lt;br /&gt;
* [[Média:Sznikak jegyzet E.Gamma R.Helm R.Johnson J.Vlissides DesignPatterns.pdf| Tervezési minták (angol)]]&lt;br /&gt;
* [[Média:Sznikak jegyzet Pattern-Oriented-SA vol1.pdf| Diák végén ajánlott könyv első kötete (angol)]]&lt;br /&gt;
* [[Média:Sznikak Pattern-Oriented-SA vol2.pdf| Diák végén ajánlott könyv második kötete (angol)]]&lt;br /&gt;
&lt;br /&gt;
=== Ajánlott oldalak ===&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PLrhzvIcii6GNjpARdnO4ueTUAVR9eMBpc Tervezési minták videósorozat (angol)]&lt;br /&gt;
&lt;br /&gt;
== Laboratórium ==&lt;br /&gt;
* Minden második héten van labor.&lt;br /&gt;
* A laborok vezetettek, beugró nincs.&lt;br /&gt;
* Ha valaki minden labort teljesít +2 pont járt érte a vizsgán.&lt;br /&gt;
* A laborok végén minden hallgató kap kisházit, melyből 5-öt kell teljesíteni a félév folyamán.&lt;br /&gt;
* Korábbi években teljesített laborokat újratárgyfelvételnél NEM fogadják el.&lt;br /&gt;
&lt;br /&gt;
== Kikérdezők ==&lt;br /&gt;
* [[Sznikák ZH kikérdező | ZH kikérdező]]&lt;br /&gt;
* [[Sznikák vizsga kikérdező | Vizsga kikérdező]]&lt;br /&gt;
{{Rejtett&lt;br /&gt;
| mutatott=&#039;&#039;&#039;Régebbi kikérdezők&#039;&#039;&#039;&lt;br /&gt;
| szöveg=&lt;br /&gt;
* 2024 előtti&lt;br /&gt;
** [[Sznikák_vizsga_kikérdező_(2024_előtt) | Vizsga kikérdező]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Zárthelyi ==&lt;br /&gt;
* [[Média:Sznikak zh 2007-04-13 kidolgozott.pdf| 2007. április 13. ZH]]&lt;br /&gt;
* [[Média:Sznikak pzh 2008-04-30 kidolgozott.pdf| 2008. április 30. PZH]]&lt;br /&gt;
* [[SzoftTechZH201004 | 2010. április 14. ZH]]&lt;br /&gt;
* [[SzoftTechZH20110418 | 2011. április 18. ZH]]&lt;br /&gt;
* [[SzoftTechZH20130422 | 2013. április 22. ZH]]&lt;br /&gt;
* [[SzoftTechPZH20130510 | 2013. május 10. PZH]]&lt;br /&gt;
* [[SzoftTechZH20140414 | 2014. április 14. ZH]] [[Média:Sznikak zh 2014 tavasz mo.pdf| Nem hivatalos megoldás]]&lt;br /&gt;
* [[Szoftvertechnikák ZH 2019.04.08. | 2019 április 08.]]&lt;br /&gt;
&lt;br /&gt;
== Vizsga ==&lt;br /&gt;
&lt;br /&gt;
* 2007&lt;br /&gt;
** [[SzoftTechVizsga070530 | 1. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga070606 | 2. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga070613 | 3. vizsga]]&lt;br /&gt;
&lt;br /&gt;
* 2008&lt;br /&gt;
** [[SzoftTechVizsga080530 | 1. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga080604 | 2. vizsga]]&lt;br /&gt;
&lt;br /&gt;
* 2009&lt;br /&gt;
** [[SzoftTechVizsga090529 | 1. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga090605 | 2. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga090610 | 3. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga090616 | 4. vizsga]]&lt;br /&gt;
&lt;br /&gt;
* 2010&lt;br /&gt;
** [[SzoftTechVizsga100525 | 1. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga100601 | 2. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga100608 | 3. vizsga]]&lt;br /&gt;
&lt;br /&gt;
* 2011&lt;br /&gt;
** [[SzoftTechVizsga110525 | 1. vizsga]]&lt;br /&gt;
** [[SzoftTechVizsga110601 | 2. vizsga]]&lt;br /&gt;
&lt;br /&gt;
* 2012&lt;br /&gt;
** [[SzoftTechVizsga120523 | 1. vizga]]&lt;br /&gt;
&lt;br /&gt;
* 2013&lt;br /&gt;
** [[SzoftTechVizsga130530 | 1. vizsga]] + [https://docs.google.com/document/d/131SOMpOCwQhtLaiVikz8hI03FnvJz0WGEpWg6zCZOCU/edit Kidolgozás ]&lt;br /&gt;
** [[Média:Sznikak vizsga 20130625.pdf| 2. vizsga]] + [https://docs.google.com/document/d/131SOMpOCwQhtLaiVikz8hI03FnvJz0WGEpWg6zCZOCU/edit Kidolgozás]&lt;br /&gt;
&lt;br /&gt;
* 2015&lt;br /&gt;
** [https://docs.google.com/document/d/1-I5sTiFZdJBE3mXHkQX1rWiRJdNDYLHMwzUCeqsSO_c/edit 1. vizsga]&lt;br /&gt;
&lt;br /&gt;
== Tippek ==&lt;br /&gt;
&lt;br /&gt;
=== Hasonló tárgyak, tanfolyamok ===&lt;br /&gt;
* [[Szoftver technikák]] az 1.1-es szakirányon és [[Szoftver technikák és információ megjelenítés laboratórium|labor]]&lt;br /&gt;
* [[Szoftverfejlesztés .NET platformon]]&lt;br /&gt;
* [[Szoftverfejlesztés .NET platformon - MCP 70-526 tanfolyam | .NET framework 2.0 Windows-Based Client Development]]&lt;br /&gt;
* [[Szoftverfejlesztés .NET platformon - MCP 70-536 tanfolyam | .NET framework 2.0 Application Development Foundation]]&lt;br /&gt;
&lt;br /&gt;
=== Fejlesztői környezetek ===&lt;br /&gt;
* [http://e5.onthehub.com/WebStore/OfferingsOfMajorVersionList.aspx?ws=42a261b1-869b-e011-969d-0030487d8897&amp;amp;vsro=8&amp;amp;pmv=6dca33b6-d5b0-e111-b575-f04da23e67f6&amp;amp;cmi_mnuMain=bdba23cf-e05e-e011-971f-0030487d8897 Visual Studio 2012 (DreamSpark)] - Ultimate igényelhető ingyen a {{kukac}}hszk.bme.hu -s e-mailcímmel&lt;br /&gt;
* [https://remoteapp.sch.bme.hu RemoteApp]-on van Visual Studio 2017. (RemoteApp szerver elérése böngészőből: [https://guacamole.sch.bme.hu Guacamole])&lt;br /&gt;
&lt;br /&gt;
== Kedvcsináló ==&lt;br /&gt;
&lt;br /&gt;
=== Lord Viktor ===&lt;br /&gt;
* Szoftvertechnológia után felüdülés volt, mondjuk engem azért nem nagyon fogott meg. Az anyag érdekes, bár vannak benne unalmas, száraz részek is. Nekem jobban bejött a Java, mint a C#, de hát ízlések és pofonok. Előadásra annak érdemes járni, akit leköt a dolog, egyébként abszolválható simán a tárgy anélkül is. A diák jók, és minden bennük van, ami a ZH-hoz/vizsgához kell. A gyakorlat lebonyolítása viszont a Szoftver laborok után vicc kategória. A beugró nem nehéz, sőt kifejezetten könnyű, aki figyelmesen elolvasta az anyagot, annak jobbára megvan. Viszont az órai munka nehezen követhető és nem reprodukálható: a laborvezető kivetítve csinálja a feladatokat (amik lehet neki megvannak, de leírva és kiadva sehol sincsenek), te pedig kódolsz utána bambán. Bár magyaráz mellé, de szerintem kevés az olyan férfi ember, aki egyszerre tudja a kódot a kivetítőről lemásolni és az érdemi mondanivalót is megjegyezni. A honlapra csak a kezdeti forráskódot rakják fel, illetve a félév végén a végső megoldásokat, de feladatsor sehol sincs, így igazából a vizsgaidőszakra kb. 0 ragad meg az órai munkából, max. amennyi rutint megszerzel. Viszont az oktatók rendesek, mind a beugró, mind a ZH/vizsga pontozása korrekt, szóval összességében kellemes tárgy, de a laborgyakorlatokon lehetne csiszolni. &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Szerkesztő:Talapa Viktor György|Lord Viktor]] ([[Szerkesztővita:Talapa Viktor György|vita]]) 2013. június 6., 17:36 (UTC)&lt;br /&gt;
&lt;br /&gt;
{{Lábléc - Mérnök informatikus alapszak 2022}}&lt;br /&gt;
{{Lábléc - Mérnök informatikus alapszak 2014}}&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Sznik%C3%A1k_vizsga_kik%C3%A9rdez%C5%91_(2024_el%C5%91tt)&amp;diff=206506</id>
		<title>Sznikák vizsga kikérdező (2024 előtt)</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Sznik%C3%A1k_vizsga_kik%C3%A9rdez%C5%91_(2024_el%C5%91tt)&amp;diff=206506"/>
		<updated>2025-05-31T16:59:39Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: kikérdező 2024 előtti anyagból&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vissza|Szoftvertechnikák}}&lt;br /&gt;
&#039;&#039; Megjegyzés: A (?) jelölt kérdésekre a válasz nem 100%-ig helyes, amennyiben tudod rá a helyes választ, írd át a helyes megoldásra vagy épp szedd ki a ?-et a kérdésből, ha alapból jó a válasz, ezzel segítve a többiek, és az én munkámat! :) &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{kvízoldal|cím=vizsga felkészítő kikérdező|pontozás=-}}&lt;br /&gt;
&lt;br /&gt;
== .JIT köztes kódot fordítja natív gépi kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET Framework alapú konzol alkalmazások Linuxon is futnak. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET Framework alapú környezetben egy könyvtárat (dll) készítünk. Jelölje meg, mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# A könyvtár kódja könnyen visszafejthető.&lt;br /&gt;
# Lehetőség van a könyvtár egy kulcspár privát tagjával történő digitális aláírására.&lt;br /&gt;
# A könyvtárat semmilyen feltételek mellett nem célszerű központi helyre telepíteni, mert névütközés veszélye áll fent.&lt;br /&gt;
# A könyvtárat semmilyen feltételek mellett nem célszerű központi helyre telepíteni, mert verzióütközés veszélye áll fent.&lt;br /&gt;
# A könyvtárat priváttá tehetjük azáltal, hogy egy kulcspár titkos kulcsával titkosítjuk.&lt;br /&gt;
&lt;br /&gt;
== .NET NuGet csomagok formájában lehet kiegészítő könyvtárakat letölteni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET beépített osztályok legtöbbje szálbiztos. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET környezetben 2 folyamat között kölcsönös kizárás a lock utasítással megvalósítható. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET környezetben egy folyamat a kilépéskor bevárja az összes előtér szálat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
# Control.Invoke&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
# Control.Invoke&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# WriterLock&lt;br /&gt;
# ReaderLock&lt;br /&gt;
# ReaderWriterLock&lt;br /&gt;
# ExecuterLock&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Lock&lt;br /&gt;
# Synchronized&lt;br /&gt;
# Mutex&lt;br /&gt;
# ManualResetEvet&lt;br /&gt;
# ReaderWriterLock&lt;br /&gt;
# Semaphore&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
&lt;br /&gt;
== .NET több nyelvet is támogat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET Core csak Windowson fut. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET Windows Forms bizonyos osztályai a beépített Component osztályból származnak. Mi ennek a következménye? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Lehetőség van a Visual Studio designerében felparaméterezni.&lt;br /&gt;
# Natív ablakot csomagol be.&lt;br /&gt;
# Szülő-gyerek viszonyban állíthatók egymással.&lt;br /&gt;
# Örökli a vezérlőkre közös tulajdonságokat, mint pl. A helye, mérete, stb.&lt;br /&gt;
&lt;br /&gt;
== A .NET alkalmazásban a .NET &amp;quot;megkerülésével&amp;quot;, 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET nem támogatja a (managed) C++ nyelvet. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET szerelvények (exe, dll) natív gépi kódú utasításokat tartalmaznak. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET több programozási nyelvet is támogat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A C# delegate objektumok a C függvénypointerek modern megfelelői, ugyanakkor több függvényre is tudnak mutatni/hivatkozni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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). ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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). ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A JIT fordító a C# kódot fordítja IL kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A JIT fordító a köztes kódot fordítja natív gépi kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Singleton tervezési minta célja mindösszesen az, hogy egy adott osztályból egyetlen példányt lehessen létrehozni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Win32 API függvények számos programozói környezetből, pl. .NET alól is elérhetők. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Win32 API-t jellemzően C# nyelven programozzuk. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,4,9,12|pontozás=-}}&lt;br /&gt;
# Event void SpeedLimitExceededDelegate(int speed, double percent);&lt;br /&gt;
# Delegate void SpeedLimitExceededDelegate(int speed, double percent);&lt;br /&gt;
# Public SpeedLimitExceededDelegate SpeedLimitExceeded;&lt;br /&gt;
# Public event SpeedLimitExceededDelegate SpeedLimitExceeded;&lt;br /&gt;
# Public delegate SpeedLimitExceededDelegate SpeedLimitExceeded;&lt;br /&gt;
# Public event SpeedLimitExceededDelegate SpeedLimitExceeded(int speed, double percent);&lt;br /&gt;
# Public SpeedLimitExceededDelegate SpeedLimitExceeded(int speed, double percent);&lt;br /&gt;
# Public delegate SpeedLimitExceededDelegate SpeedLimitExceeded(int speed, double percent);&lt;br /&gt;
# If (SpeedLimitExceeded != null)&lt;br /&gt;
# If (SpeedLimitExceededDelegate != null)&lt;br /&gt;
# SpeedLimitExceededDelegate(speed, percent);&lt;br /&gt;
# SpeedLimitExceeded(speed, percent)&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}&lt;br /&gt;
# Passzív szűrő által vezérelt&lt;br /&gt;
# Csővezeték által vezérelt&lt;br /&gt;
# Adatnyelő által vezérelt&lt;br /&gt;
# Adatforrás által vezérelt&lt;br /&gt;
# Aktív szűrő által vezérelt&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=7|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=9|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Factory method&lt;br /&gt;
# Abstract method&lt;br /&gt;
# Composite&lt;br /&gt;
# Proxy&lt;br /&gt;
# Observer&lt;br /&gt;
# Adapter&lt;br /&gt;
# Singleton&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A privát .NET szerelvények telepítése egyszerű, csak fel kell másolni a számítógépre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A szoftverarchitektúra jelentőségét szokás egy kiegyensúlyozott mérleggel is ábrázolni. Mire vonatkozik ez? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# A szoftvernek jól kell működnie (funkcionalitás), de ugyanilyen fontos, hogy legyen jól struktúrált.&lt;br /&gt;
# Az architektúra különböző aspektusainak, úgymint szerkezet, karbantarthatóság, tesztelhetőség egyensúlyban kell lennie.&lt;br /&gt;
# A szoftvert magas szinten alapvetően azonos léptékű modulokra célszerű bontani.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Adja meg mely állítás igaz a kiszolgáló oldali megvalósításra! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,4,5|pontozás=-}}&lt;br /&gt;
# A kiszolgáló oldali kód általában lefordítható, így a hibák egy része már fordításkor kiderül.&lt;br /&gt;
# Ha szüksége van interakcióra a kliens oldallal, akkor kis adatforgalommal, hatékonyan tud kommunikálni.&lt;br /&gt;
# Gyorsabb, mint a kliens oldali, mert nincs szükség interakcióra a klienssel.&lt;br /&gt;
# A kiszolgáló oldali kóddal általában könnyebb böngésző független megvalósítást készíteni.&lt;br /&gt;
# Az alkalmazás futása gyorsabb a kliens oldalihoz képest.&lt;br /&gt;
&lt;br /&gt;
== Adja meg mely állítás igaz a kliens oldali megvalósításra! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3|pontozás=-}}&lt;br /&gt;
# A kliens oldali kód általában lefordítható, így a hibák egy része már fordításkor kiderül.&lt;br /&gt;
# Ha szüksége van interakcióra a kiszolgálóval, akkor kis adatforgalommal, hatékonyan tud kommunikálni.&lt;br /&gt;
# Gyorsabb, mint a kiszolgáló oldali, mert nincs szükség interakcióra a kiszolgálóval.&lt;br /&gt;
# A kliens oldali kóddal általában könnyebb böngésző független megvalósítást készíteni.&lt;br /&gt;
# Az alkalmazás futása gyorsabb a kiszolgáló oldalihoz képest.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, mely egymásba ágyazott zárakat tartalmaz.&amp;lt;code&amp;gt;&amp;lt;br&amp;gt;class Program{&amp;lt;br&amp;gt;static object syncObject = new object();&amp;lt;br&amp;gt;static void Main(string[] args){&amp;lt;br&amp;gt;lock (syncObject) {&amp;lt;br&amp;gt;f();}}&amp;lt;br&amp;gt;static void f(){&amp;lt;br&amp;gt;lock (syncObject) {&amp;lt;br&amp;gt;Console.WriteLine(&amp;quot;Hello!&amp;quot;);}}}&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Az alkalmazás kiírja a &amp;quot;Hello!&amp;quot; szöveget a konzolra.&lt;br /&gt;
# 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).&lt;br /&gt;
# Az f() függvényben a lock utasítás kivételt dob annak érdekében, hogy ne alakuljon ki holtpont.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, melyben a .NET beépített List&amp;lt;T&amp;gt; osztályát használjuk (és nem lehet helyette más osztályt használni).&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;class DataProcessor{&amp;lt;br&amp;gt;List&amp;lt;int&amp;gt; items = new List&amp;lt;int&amp;gt;();&amp;lt;br&amp;gt;static object syncObject = new object();&amp;lt;br&amp;gt;public int GetItem(int index) {&amp;lt;br&amp;gt;lock (syncObject) { return items[index]; }}&amp;lt;br&amp;gt;public void AddItem(int n) {&amp;lt;br&amp;gt;lock (syncObject) { items.Add(n); }}} &amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# A megoldás szálbiztos (thread safe) és nem tehető triviális módon hatékonyabbá.&lt;br /&gt;
# 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ő.&lt;br /&gt;
# A megoldás szálbiztos (thread safe), de a lock utasítások eltávolításával hatékonyabbá tehető.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet. &amp;lt;code&amp;gt;&amp;lt;br&amp;gt;class Counter{&amp;lt;br&amp;gt;int counter = 0; // *1&amp;lt;br&amp;gt;object syncRoot = new object(); // *2&amp;lt;br&amp;gt;public int GetValue() // *3&amp;lt;br&amp;gt;{&amp;lt;br&amp;gt;lock (syncRoot)&amp;lt;br&amp;gt;{ return counter; }&amp;lt;br&amp;gt;}&amp;lt;br&amp;gt;public void IncreaseCounter(int delta) // *4&amp;lt;br&amp;gt;{&amp;lt;br&amp;gt;lock (syncRoot)&amp;lt;br&amp;gt;{ counter += delta; }}}&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,3|pontozás=-}}&lt;br /&gt;
# A *2 sor elejére nem kell plusszban beírni a static kulcsszót, anélkül is helyes a működés.&lt;br /&gt;
# A kód nem működne megfelelően, ha a *2 sorban a syncRoot típusát int-re cserélnénk.&lt;br /&gt;
# A *3 GetValue() függvényben a lock utasítás eltávolítható (ha legalább 32 bites környezetről van szó).&lt;br /&gt;
# A *4 IncreaseCounter() függvényben a lock utasítás eltávolítható.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet.&amp;lt;code&amp;gt;&amp;lt;br&amp;gt;class ClassA&amp;lt;br&amp;gt;{&amp;lt;br&amp;gt;int counter = 0;&amp;lt;br&amp;gt;List&amp;lt;int&amp;gt; values = new List&amp;lt;int&amp;gt;();&amp;lt;br&amp;gt;public void SetValue (int n) { counter = n; }&amp;lt;br&amp;gt;public void ResetIfGreaterThanZero() { if(counter &amp;gt; 0) counter = 0; }&amp;lt;br&amp;gt;public void Subtract(int n) { counter -= n; }&amp;lt;br&amp;gt;public void AddItem(int n) { values.Add(n); }&amp;lt;br&amp;gt;… további kód&amp;lt;br&amp;gt;}&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt; 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,4|pontozás=-}}&lt;br /&gt;
# SetValue&lt;br /&gt;
# Subtract&lt;br /&gt;
# ResetIfGreaterThanZero&lt;br /&gt;
# AddItem&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Data Read(){&amp;lt;br&amp;gt;Data data = prevFilter.Read();&amp;lt;br&amp;gt;Data processedData = ProcessedData(data);return processedData; }&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Adatforrás által vezérelt.&lt;br /&gt;
# Adatnyelő által vezérelt.&lt;br /&gt;
# Csővezeték által vezérelt.&lt;br /&gt;
# Aktív szűrő által vezérelt.&lt;br /&gt;
# Passzív szűrő által vezérelt.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;void Write(Data data){&amp;lt;br&amp;gt;Data processedData ProcessData(data);&amp;lt;br&amp;gt;nextFilter.Write(processedData);&amp;lt;br&amp;gt;}&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Adatforrás által vezérelt.&lt;br /&gt;
# Adatnyelő által vezérelt.&lt;br /&gt;
# Csővezeték által vezérelt.&lt;br /&gt;
# Aktív szűrő által vezérelt.&lt;br /&gt;
# Passzív szűrő által vezérelt.&lt;br /&gt;
&lt;br /&gt;
== 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? &amp;lt;br&amp;gt;&amp;lt;p style = &amp;quot;font-family:consolas&amp;quot;&amp;gt;void Run(){ &amp;lt;br&amp;gt; Data data; &amp;lt;br&amp;gt; while(data = inputPipe.Read()){ &amp;lt;br&amp;gt; Data processedData = ProcessedData(data); &amp;lt;br&amp;gt; outputPipe.Write(processedData);}}}&amp;lt;/p&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Csővezeték által vezérelt.&lt;br /&gt;
# Passzív szűrő által vezérelt.&lt;br /&gt;
# Adatnyelő által vezérelt.&lt;br /&gt;
# Aktív szűrő által vezérelt.&lt;br /&gt;
# Adatforrás által vezérelt.&lt;br /&gt;
&lt;br /&gt;
== 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. &amp;lt;code&amp;gt; &amp;lt;br&amp;gt; IConnection conn = new OracleConnection(); &amp;lt;br&amp;gt;conn.Open(); &amp;lt;br&amp;gt;ICommand cmd = new OracleCommand(&amp;quot;SELECT * FROM Orders&amp;quot;); &amp;lt;br&amp;gt;cmd.ExecuteReader(); &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Proxy&lt;br /&gt;
# Abstract Factory&lt;br /&gt;
# Factory Method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Csak az első tagmondat igaz (+ -)&lt;br /&gt;
# Csak a második tagmondat igaz (- +)&lt;br /&gt;
# Mindkét tagmondat igaz, de a következtetés hamis (+ + -)&lt;br /&gt;
# Mindkét tagmondat igaz és a következtetés is helyes (+ + +)&lt;br /&gt;
# Egyik tagmondat sem igaz (- -)&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}&lt;br /&gt;
# Proxy&lt;br /&gt;
# Repository&lt;br /&gt;
# Strategy&lt;br /&gt;
# Command Processor&lt;br /&gt;
# Snapshot&lt;br /&gt;
# Memento&lt;br /&gt;
# Command&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások .NET szerelvények (assembly) vonatkozásában. Jelölje meg az igaz állításokat. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4|pontozás=-}}&lt;br /&gt;
# Privát szerelvényekből lehet két azonos nevűt egymás mellé telepíteni.&lt;br /&gt;
# Az azonosított szerelvények titkosítottak a kiadó privát kulcsával.&lt;br /&gt;
# Az azonosított szerelvények digitálisan alá vannak írva a kiadó privát kulcsával.&lt;br /&gt;
# A .NET szerelvényekben a kód IL (Intermediate Language) formátumban van, mely telepítéskor vagy első művelethíváskor fordul le gépi kódra.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a .NET szálkezelés/szinkronizáció vonatkozásában. Jelölje meg a helyes állításokat. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4|pontozás=-}}&lt;br /&gt;
# A ManualResetEvent szinkronizációs objektumot tipikusan kölcsönös kizárás megvalósítására alkalmazzuk.&lt;br /&gt;
# A ManualResetEvent objektum set művelete lezárja az objektumot, így a többi szál várakozni kényszerül.&lt;br /&gt;
# Arra várakozni, hogy ManualResetEvent objektum jelzett állapotba kerüljön, az objektum WaitOne műveletével lehet.&lt;br /&gt;
# ManualResetEvent és AutoResetEvent típusú objektumokra ugyanúgy kell várakozni.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a C# események (event) vonatkozásában. Jelölje meg a helyes állításokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,4|pontozás=-}}&lt;br /&gt;
# A C# delegate-ek állnak a működésük hátterében.&lt;br /&gt;
# Adott eseményre feliratkozni a &amp;quot;++&amp;quot; operátorral lehet.&lt;br /&gt;
# Adott eseményre egyszerre egy előfizető iratkozhat fel.&lt;br /&gt;
# Egy osztály több eseményt is publikálhat.&lt;br /&gt;
# Egy esemény tag osztályban való felvételkor az esemény tagváltozó előtt a delegate kulcsszót kell szerepeltetni.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a C# nyelvi eszközökről (property, delegate, event és attribute). Jelölje meg, hogy mely állítások igazak. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4,6,9,10,11,12,14|pontozás=-}}&lt;br /&gt;
# A C# property-k 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.&lt;br /&gt;
# C# eventre feliratkozni az &amp;quot;=&amp;quot; operátorral lehet.&lt;br /&gt;
# C# event tagváltozóra helyes példa a következő: &amp;lt;code&amp;gt;event int CompareDelegate(object a, object b);&amp;lt;/code&amp;gt;&lt;br /&gt;
# C# event tag értéke null abban az esetben, ha nincs az eseményre feliratkozó.&lt;br /&gt;
# A C# attribútumok definiálásakor egy get és egy set blokkot adunk meg, melyek az attribútum lekérdezésekor, illetve beállításakor hívódnak meg (nem kötelező mindkettőt megadni).&lt;br /&gt;
# C# delegate objektumot át lehet adni függvényparaméterként is.&lt;br /&gt;
# C# delegate típus definícióra szintaktikailag helyes példa a következő: &amp;lt;code&amp;gt;event int CompareDelegate(object a, object b);&amp;lt;/code&amp;gt;&lt;br /&gt;
# C# event események vonatkozásában a -= operátor valamennyi előfizetőt leiratkoztat.&lt;br /&gt;
# Egy delegate objektum/változó több metódusra is hivatkozhat.&lt;br /&gt;
# A C# attribútumok 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.&lt;br /&gt;
# C# eventre feliratkozni a &amp;quot;+=&amp;quot; operátorral lehet.&lt;br /&gt;
# C# delegate típus definícióra szintaktikailag helyes példa a következő: &amp;lt;code&amp;gt;delegate int CompareDelegate(object a, object b);&amp;lt;/code&amp;gt;&lt;br /&gt;
# C# események elsütésekor a beregisztrált eseménykezelő függvények a hatékonyság érdekében külön szálakon hívódnak meg.&lt;br /&gt;
# Egy osztály több eseményt is publikálhat.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4,5|pontozás=-}}&lt;br /&gt;
# A Document-View architektúrában a Controller osztály feladata a felhasználói interakciók kezelése.&lt;br /&gt;
# A Document-View architektúrában a dokumentumban külön tagváltozót vezetünk be minden egyes nézetre.&lt;br /&gt;
# A Document-View architektúrában a dokumentumnak van egy vagy több olyan művelete, mellyel az állapotát a nézetek bármikor le tudják kérdezni.&lt;br /&gt;
# A Document-View architektúrában a nézetnek van egy hivatkozása a dokumentumára.&lt;br /&gt;
# A dokumentumnak van egy listája a beregisztrált nézeteire.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a Memento tervezési mintával kapcsolatban. Jelölje meg a helyes válaszokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,6,7|pontozás=-}}&lt;br /&gt;
# A 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 a Memento állapotát állítja.&lt;br /&gt;
# A 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.&lt;br /&gt;
# A 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.&lt;br /&gt;
# A mintában a CareTaker Originator objektumokat tárol.&lt;br /&gt;
# A mintában az Originator osztályt becsomagoljuk egy Memento objektummal, a Memento tárolja az Originator állapotát.&lt;br /&gt;
# A minta elérhetővé teszi a külvilág számára az objektum belső állapotát az egységbezárás megsértése nélkül (vagyis anélkül, hogy publikussá tennénk az állapotát.)&lt;br /&gt;
# A mintát használhatjuk az Undo funkció megvalósítására.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a Strategy tervezési mintával kapcsolatban. Jelölje meg, mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,5|pontozás=-}}&lt;br /&gt;
# A minta globális függvénypointereket vezet be annak érdekében, hogy a kliens szemszögéből az általa használt algoritmusok szabadon kicserélhetőek legyenek.&lt;br /&gt;
# A minta lehetővé teszi, hogy egy adott osztály viselkedésének különböző aspektusai paraméterezhetőek legyenek. Mindezt elsődlegesen úgy éri el, hogy magából az osztályból számos leszármazottat vezet be (minden viselkedés kombinációhoz egyet).&lt;br /&gt;
# A minta lehetővé teszi, hogy egy adott osztály viselkedésének különböző aspektusai paraméterezhetőek legyenek. Mindezt úgy, hogy minden aspektushoz egy osztályhierarchiát vezet be.&lt;br /&gt;
# A mintában a Context (vagy Client) osztályban van egy vagy több mutató/referencia, mely típusa egy vagy több konkrét algoritmus implementáció.&lt;br /&gt;
# A mintában a Context (vagy Client) osztályban van egy vagy több mutató/referencia, mely típusa egy vagy több algoritmus interfész/absztrakció.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a kétrétegű, valamint a háromrétegű architektúrával kapcsolatban! Jelölje meg, mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4|pontozás=-}}&lt;br /&gt;
# A kétrétegű architektúrát ma már soha nem használjuk a háromrétegű architektúra előnyei miatt.&lt;br /&gt;
# A kétrétegű architektúra lehetővé teszi, hogy adott üzleti logikához egyszerűen készítsünk különböző frontend alkalmazásokat, úgy mint desktop, web, mobil.&lt;br /&gt;
# A háromrétegű architektúra lehetővé teszi, hogy adott üzleti logikához egyszerűen készítsünk különböző frontend alkalmazásokat, úgy mint desktop, web, mobil.&lt;br /&gt;
# A háromrétegű architektúra előnye a kétrétegűvel szemben, hogy az adatbázis sémája a kliensalkalmazástól függetlenül egyszerűbben átszervezhető.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások az Observer tervezési mintával kapcsolatban. Jelölje meg, mely állítások igazak. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# A minta az egyes subject típusoknak bevezet egy ősosztályt, melynek szerepe többek között az, hogy tárolja a beregisztrált observereket.&lt;br /&gt;
# A minta az egyes observer típusoknak bevezet egy ősosztályt (vagy interfészt), melynek szerepe, hogy a subject számára egységessé tegyék az egyes observer típusok kezelését.&lt;br /&gt;
# Az observer implementációkból egy dependency (függőség) kapcsolat mutat a konkrét subject osztály irányába.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások különböző tervezési mintákkal kapcsolatban! Jelölje meg a helyes állításokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# A Proxy tervezési mintában a Proxy objektum egy transzparens csomagoló az eredeti objektum körül, mely szabályozhatja az eredeti objektumhoz való hozzáférést.&lt;br /&gt;
# Az Adapter minta - pontosabban annak Object Adapter változata - az objektum becsomagolásával teszi lehetővé, hogy az objektum interfésze kompatibilis legyen azzal, amit a kliens/környezete elvár.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,4,5,6,7|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# Az Adapter tervezési mintában az Adapter osztály a Target osztályból származik (vagy a Target interfészt implementálja).&lt;br /&gt;
# Az Adapter minta Object Adapter változatában a Adaptee implementálja a Target interfészt (vagy a Target osztályból származik).&lt;br /&gt;
# Az Adapter tervezési mintában (legalábbis annak object adapter változatában) az Adapter (adaptáló) osztály – amennyibe lehetősége van rá – továbbítja (delegálja) a kéréseket az Adaptee (adaptálandó) osztálynak.&lt;br /&gt;
# Bár az Adaptert tervezési mintának tekintik, valójában ez egy idióma, mert csak egy adott programozási nyelv kontextusában (Java) használatos.&lt;br /&gt;
# A minta lehetővé teszi olyan osztályok együttműködését, melyek egyébként az inkompatbilis interfészeik miatt nem tudnának együttműködni.&lt;br /&gt;
# Az Adapter mintában - pontosabban annak Object Adapter változatában - az Adapter osztály tartalmaz egy mutatót vagy referenciát az adaptálandó (Adaptee) osztályra. Az Adapter osztály a műveleteinek megvalósításában felhasználja az adaptálandó (Adaptee) osztály szolgáltasait.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások különböző tervezési mintákkal kapcsolatban. Jelölje meg, mely állítások igazak. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,3,4,5|pontozás=-}}&lt;br /&gt;
# A Document-View architektúra az Observer tervezési minta egy speciális alkalmazása.&lt;br /&gt;
# A Document-View architektúra a Composite tervezési minta egy speciális alkalmazása.&lt;br /&gt;
# Az Adapter minta lehetővé teszi olyan osztályok együttműködését, melyek egyébként az inkompatbilis interfészeik miatt nem tudnának együttműködni.&lt;br /&gt;
# Az Adapter mintában - pontosabban annak Object Adapter változatában - az Adapter osztály tartalmaz egy mutatót vagy referenciát az adaptálandó (Adaptee) osztályra. Az Adapter osztály a műveleteinek megvalósításában felhasználja az adaptálandó (Adaptee) osztály szolgáltatásait.&lt;br /&gt;
# A felhasználói interakciókat a View osztály kezeli.&lt;br /&gt;
# A nézethez tipikusan több dokumentum tartozik.&lt;br /&gt;
&lt;br /&gt;
== Amikor egy AutoResetEvent objektum jelzett lesz, a rá várakozó szálak közül csak 1 futhat tovább. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Az AutoResetEvent osztályt jellemzően arra használjuk, hogy hatékonyan tudjunk várakozni más szál jelzésére. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,3,4,5|pontozás=-}}&lt;br /&gt;
# .NET platformra lehet C++ nyelven is fejleszten.&lt;br /&gt;
# .NET környezetben az objektumok azonnal felszabadulnak, amint az utolsó hivatkozás is megszűnik rájuk.&lt;br /&gt;
# A .NET futtatókörnyezet rövid neve: CLR.&lt;br /&gt;
# Egy alkalmazás több szerelvényből is állhat.&lt;br /&gt;
# A dinamikusan lefoglalt memória felszabadítása nem a fejlesztő feladata.&lt;br /&gt;
# Az elterjedtebb processzorok képesek a köztes (IL) kódot közvetlenül futtatni.&lt;br /&gt;
# A C# kódot a JIT compiler fordítja köztes (IL) kódra.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Név, fejlesztő cég privát kulcsa, verzió, opcionális kultúra információ&lt;br /&gt;
# Név, fejlesztő cég nyilvános kulcsa, verzió, opcionális kultúra információ&lt;br /&gt;
# Név, verzió, pcionális kultúra információ&lt;br /&gt;
# Név, fejlesztő cég nyilvános kulcsa, verzió, digitális aláírás, opcionális kultúra információ&lt;br /&gt;
&lt;br /&gt;
== Az alábbiak közül melyik definiálja a legjobban a klasszikus DLL hell problémát? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3|pontozás=-}}&lt;br /&gt;
# Egy alkalmazás telepítésekor hiányzik egy vagy több DLL a célkörnyezetben, mely szükséges lenne az alkalmazás futásához, így az alkalmazás nem működik megfelelően (mert a szükséges DLL-ek telepítéséről a felhasználó nem gondoskodott).&lt;br /&gt;
# Egy alkalmazás telepítésekor felteszi a célkörnyezetbe az általa használt DLL-eket egy közös mappába. Ezeket a DLL-eket további alkalmazások is használják, melyek közül az egyik eltávolításakor (uninstall) a DLL-ek egy része eltávolításra kerül, így az alkalmazásunk működésképtelenné válik.&lt;br /&gt;
# Egy alkalmazás telepítésekor felteszi a célkörnyezetbe az általa használt DLL-eket egy közös mappába. Később, egy másik alkalmazás a telepítésekor felülírja a korábban telepített alkalmazás egyik DLL-jét egy másik verzióval. A korábban telepített alkalmazás ezzel az újonnan telepített DLL-lel nem működik megfelelően.&lt;br /&gt;
# Egy alkalmazás telepítésekor felülírja az operációs rendszer bizonyos DLL-jeit, mely következtében az operációs rendszer instabillá válik.&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== Azonosított .NET szerelvényekből lehet két ugyanolyan nevű telepítve egy számítógépre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== C# nyelven az &amp;quot;@attribútumnév&amp;quot; szintaktikával lehet deklaratívan annotációkat osztályokhoz fűzni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== C# nyelven egy eseményre kötelező legalább egy előfizetőt beregisztrálni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Destroy&lt;br /&gt;
# Discard&lt;br /&gt;
# Dispose&lt;br /&gt;
# Using blokk&lt;br /&gt;
# Finalize&lt;br /&gt;
# Destruktor&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# A Composite osztálynak van egy Component gyűjteménye.&lt;br /&gt;
# A Component osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból.&lt;br /&gt;
# A Component osztálynak van egy közös gyűjteménye (heterogén kollekció) Composite és Leaf objektumokból.&lt;br /&gt;
# A Composite osztálynak van egy gyűjteménye Component, valamint egy másik gyűjteménye Leaf objektumokból.&lt;br /&gt;
# A Client osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból.&lt;br /&gt;
&lt;br /&gt;
== Egy .NET alkalmazásban a .NET &amp;quot;megkerülésével&amp;quot;, közvetlenül a Win32 API használatával erőforrásokat foglalunk egy osztályunkban (pl. Fájlt nyitunk meg). Milyen műveletet/műveleteket írunk ilyen esetben? Több válasz is megadható! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
# Dispose&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy 32 bites számmal történő egyszerű értékadás .NET környezetben mindig atomi. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy C# eseményre feliratkozni az = operátorral lehet. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy Win32 üzenet billentyűlenyomás esetén tartalmazza a lenyomott billentyű kódját. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Dockolás&lt;br /&gt;
# Anchor&lt;br /&gt;
# FillPanel&lt;br /&gt;
# SplitContainer&lt;br /&gt;
# Splitter&lt;br /&gt;
# Sticky container&lt;br /&gt;
# Grid panel&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Dockolás&lt;br /&gt;
# Anchor&lt;br /&gt;
# FillPanel&lt;br /&gt;
# SplitContainer&lt;br /&gt;
# Splitter&lt;br /&gt;
# Sticky container&lt;br /&gt;
# Grid panel&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Groupbox&lt;br /&gt;
# Checkbox osztályból származtatás&lt;br /&gt;
# Form&lt;br /&gt;
# Component&lt;br /&gt;
# CostumControl leszármaztatás&lt;br /&gt;
# UserControl&lt;br /&gt;
# Control leszármaztatás&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}&lt;br /&gt;
# Groupbox&lt;br /&gt;
# Checkbox osztályból származtatás&lt;br /&gt;
# Form&lt;br /&gt;
# Component&lt;br /&gt;
# CostumControl leszármaztatás&lt;br /&gt;
# UserControl&lt;br /&gt;
# Control leszármaztatás&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}&lt;br /&gt;
# Groupbox&lt;br /&gt;
# Checkbox osztályból származtatás&lt;br /&gt;
# Form&lt;br /&gt;
# Component&lt;br /&gt;
# CostumControl leszármaztatás&lt;br /&gt;
# UserControl&lt;br /&gt;
# Control leszármaztatás&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}&lt;br /&gt;
# Groupbox&lt;br /&gt;
# Checkbox osztályból származtatás&lt;br /&gt;
# Form&lt;br /&gt;
# Component&lt;br /&gt;
# CostumControl leszármaztatás&lt;br /&gt;
# UserControl&lt;br /&gt;
# Control leszármaztatás&lt;br /&gt;
&lt;br /&gt;
== 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). ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Dockolás&lt;br /&gt;
# Anchor&lt;br /&gt;
# FillPanel&lt;br /&gt;
# Splitter&lt;br /&gt;
# Sticky container&lt;br /&gt;
&lt;br /&gt;
== 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). ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Dockolás&lt;br /&gt;
# Anchor&lt;br /&gt;
# FillPanel&lt;br /&gt;
# Splitter&lt;br /&gt;
# Sticky container&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Factory method&lt;br /&gt;
# Abstract method&lt;br /&gt;
# Composite&lt;br /&gt;
# Proxy&lt;br /&gt;
# Observer&lt;br /&gt;
# Adapter&lt;br /&gt;
# Singleton&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== Egy alkalmazáson belül a Windows üzenetek feldolgozása párhuzamos. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Factory method&lt;br /&gt;
# Abstract method&lt;br /&gt;
# Composite&lt;br /&gt;
# Proxy&lt;br /&gt;
# Observer&lt;br /&gt;
# Adapter&lt;br /&gt;
# Singleton&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Csak az első tagmondat igaz (+ -)&lt;br /&gt;
# Csak a második tagmondat igaz (- +)&lt;br /&gt;
# Mindkét tagmondat igaz, de a következtetés hamis (+ + -)&lt;br /&gt;
# Mindkét tagmondat igaz és a következtetés is helyes (+ + +)&lt;br /&gt;
# Egyik tagmondat sem igaz (- -)&lt;br /&gt;
&lt;br /&gt;
== Egy nem statikus változót célszerű statikus lockkal (osztályszintű zárral) védeni, mert ez hatékonyabb megoldást jelent. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== Egy változó növelése .NET környezetben atomi. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Feladatunk egy .NET alkalmazásban Oracle adatbázisban bizonyos rekordok módosítása. Mi(k)re van ehhez szükség? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4,6,7|pontozás=-}}&lt;br /&gt;
# SQLCommand&lt;br /&gt;
# SQLDataReader&lt;br /&gt;
# SQLConnection&lt;br /&gt;
# OracleConnection&lt;br /&gt;
# OracleDataReader&lt;br /&gt;
# OracleCommand&lt;br /&gt;
# Try/finally vagy using blokk&lt;br /&gt;
&lt;br /&gt;
== Feladatunk egy Windows Forms alkalmazásban annak számolása és kirajzolása az ablak bal felső sarkába, hogy hányszor keletkezett érvénytelen terület. Mi(k)hez van erre szükség? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,4|pontozás=-}}&lt;br /&gt;
# Egy tagváltozó a darabszám értékének nyilvántartására.&lt;br /&gt;
# Invalidate hívása.&lt;br /&gt;
# Timer.&lt;br /&gt;
# Paint esemény kezelése vagy OnPaint felülírása.&lt;br /&gt;
&lt;br /&gt;
== Feladatunk egy Windows Forms alkalmazásban annak számolása és kirajzolása az ablak bal felső sarkában, hogy hányszor keletkezett érvénytelen terület. Mi(k)hez van erre szükség? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,4|pontozás=-}}&lt;br /&gt;
# Invalidate hívása.&lt;br /&gt;
# Paint esemény kezelése vagy OnPaint felülírása.&lt;br /&gt;
# Timer&lt;br /&gt;
# Egy tagváltozó a darabszám értékének nyilvántartására.&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=8|pontozás=-}}&lt;br /&gt;
# Prototype&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Composite&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== IL-t könnyű visszafejteni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Jelöje meg, hogy a .NET Framework esetében mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,4,5|pontozás=-}}&lt;br /&gt;
# Az alábbi forgatókönyv a klasszikus DLL hell probléma legjellemzőbb esetének jó definíciója: egy alkalmazás telepítésekor hiányzik egy vagy több DLL a célkörnyezetben, mely szükséges lenne az alkalmazás futásához, így az alkalmazás nem működik megfelelően (mert a szükséges DLL-ek telepítéséről a felhasználó nem gondoskodott).&lt;br /&gt;
# A .NET IL kód processzor-és architektúrafüggetlen.&lt;br /&gt;
# A .NET IL kód nagyon hatékony, mert a processzorok közvetlenül tudják futtatni.&lt;br /&gt;
# Az azonosított (erős névvel aláírt) szerelvények lehetővé teszik, hogy a több kiadó/fejlesztőcég azonos fájlnévvel és azonos verzióval telepítsen .NET szerelvényeket.&lt;br /&gt;
# A privát szerelvényeket egyszerűbb telepíteni, mint az azonosított szerelvényeket.&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg a helyes választ! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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&lt;br /&gt;
# A Proxy tervezési minta lehetővé teszi az egymással nem kompatibilis objektumok együttműködését.&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg, mely állítások igazak a Pipes and Filters architektúrára. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# Egyik előnye, hogy a filterek tetszőlegesen kombinálhatók.&lt;br /&gt;
# Egyik előnye a párhuzamos feldolgozás lehetősége (aktív szűrők esetén).&lt;br /&gt;
# Adatnyelő által vezérelt architektúra esetén a szűrő egy ciklusban dolgozza fel a bemenetére érkező adatokat.&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg, mely állítások igazak a szálkezelésre .NET környezetben! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,5,6|pontozás=-}}&lt;br /&gt;
# A ManualResetEvent osztályt jellemzően arra használjuk, hogy adott erőforrás elérésére vonatkozó kölcsönös kizárást valósítunk meg a segítségével.&lt;br /&gt;
# A ManualResetEvent osztályt jellemzően arra használjuk, hogy hatékonyan tudjunk várakozni más szál jelzésére.&lt;br /&gt;
# A Mutex előnye a lock utasítással szemben, hogy különböző folyamatok szálai között is használható.&lt;br /&gt;
# Az x++ művelet .NET környezetben atomi (és így szálbiztos), ha az x típusa int (32 bites).&lt;br /&gt;
# A ReaderWriterLock használata akkor célszerű használni kölcsönös kizárásra, ha a védett erőforrást gyakran olvassuk és ritkán írjuk.&lt;br /&gt;
# Az x=10 művelet .NET környezetben atomi (és így szálbiztos), ha az x típusa int (32 bites).&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg, mely állítások igazak az alábbiak közül! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2|pontozás=-}}&lt;br /&gt;
# A JIT compiler fordítja a forrásfájlokat - pl. A .cs állományokat - IL (Intermediate Language) kódra.&lt;br /&gt;
# Az IL (Intermediate Language) kódot könnyű visszafejteni.&lt;br /&gt;
# .NET környezetben az adott nyelvhez tartozó fordító (compiler) kimenete forrásfájlonként egy .obj kiterjesztésű fájl. Mely IL (Intermediate Language) kódot tartalmaz. A .obj kiterjesztésű fájlokat a linker fűzi össze egy .exe vagy .dll kiterejesztésű állománnyá, mely natív hardverfüggő gépi kódot tartalmaz, majd ezeket a .exe és .dll állományokat telepítjük a célkörnyezetbe.&lt;br /&gt;
# C# támogatja a többszörös öröklést.&lt;br /&gt;
&lt;br /&gt;
== Melyek a Singleton tervezési minta megvalósításának kellékei? Jelölje meg a helyes válaszokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,6|pontozás=-}}&lt;br /&gt;
# Globális változó&lt;br /&gt;
# Statikus tagváltozó&lt;br /&gt;
# Statikus metódus vagy statikus property&lt;br /&gt;
# Virtuális metódus&lt;br /&gt;
# Absztrakt metódus&lt;br /&gt;
# Védett konstruktor&lt;br /&gt;
# Védett destruktor&lt;br /&gt;
# Globális pointer vagy referencia&lt;br /&gt;
&lt;br /&gt;
== Mi a Composite tervezési minta elsődleges célja? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Mi a tervezési minták egyik elsődleges célja? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Adott funckionalitás legkevesebb kóddal történő megvalósítása.&lt;br /&gt;
# A kód újrafelhasználhatóságának elősegítése.&lt;br /&gt;
# Adott üzleti problémák jól érthető modellezése.&lt;br /&gt;
# Jobb teljesítményű kód írása.&lt;br /&gt;
# A valóság minél érthetőbb modellezése.&lt;br /&gt;
&lt;br /&gt;
== Mi az Observer tervezési minta elsődleges célja? Jelölje meg a helyes választ! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Lehetővé teszi a felhasználói eseményekre való reagálást.&lt;br /&gt;
# Lehetővé teszi, hogy egy dokumentum nézetei értesüljenek a dokumentum változásáról.&lt;br /&gt;
# Lehetővé teszi objektumok könnyű megfigyelését az objektumok becsomagolásával.&lt;br /&gt;
# 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.&lt;br /&gt;
# Lehetővé teszi algoritmusok folyamatának (progress) monitorozását.&lt;br /&gt;
&lt;br /&gt;
== Miben segítenek a tervezési minták? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,4|pontozás=-}}&lt;br /&gt;
# Rendszer karbantarthatóság és módosíthatóság elősegítése.&lt;br /&gt;
# A kód újrafelhasználhatóságának elősegítése.&lt;br /&gt;
# Adott üzleti problémák jól érthető modellezése.&lt;br /&gt;
# Nem maguktól értetődő kódok megtalálása.&lt;br /&gt;
# A valóság minél érthetőbb modellezése.&lt;br /&gt;
&lt;br /&gt;
== Milyen lépéseket tartalmaz jellemzően egy meglévő modális dialógusablak használata? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,5,6|pontozás=-}}&lt;br /&gt;
# A dialógusablakon levő vezérlők közvetlen inicializálása.&lt;br /&gt;
# A dialógusablak visszatérésének (DialogResult) vizsgálata.&lt;br /&gt;
# A dialógusablakon levő vezérlők inicializálása property-k (tulajdonságok) segítségével.&lt;br /&gt;
# MessageBox megjelenítés.&lt;br /&gt;
# Dialógusablak megjelenítése.&lt;br /&gt;
# Dialógusablak példányosítása.&lt;br /&gt;
# Időzítő felparaméterezése.&lt;br /&gt;
&lt;br /&gt;
== ReaderWriterLock osztály lehetővé teszi, hogy egy erőforrást több szál is írjon egyszerre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Windows Forms nem támogat lineáris transzformációkat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Windows Forms vezérlők (Control) között lehetőség van szülő/gyerek viszony kialakítására. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Windows Forms űrlapok (Form) között lehetőség van birtokos/birtokolt viszony kialakítására. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Ö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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}&lt;br /&gt;
# Lock&lt;br /&gt;
# Synchronized&lt;br /&gt;
# StartCoordinator&lt;br /&gt;
# AutoResetEvent&lt;br /&gt;
# Mutex&lt;br /&gt;
# Singleton&lt;br /&gt;
# ThreadPool&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,3|pontozás=-}}&lt;br /&gt;
# Feltéve, hogy adott egy Circle osztály és annak egy int típusú Radius tulajdonsága (property), valamint a Circle osztály egy circle nevű példánya/objektuma, akkor a tulajdonság lekérdezése pl. az int n = circle.Radius; formában lehetséges.&lt;br /&gt;
#  Egy C# attribútum alkalmazásakor az attribútum neve elé a @ karaktert kell tenni.&lt;br /&gt;
# A C# attribútumok 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.&lt;br /&gt;
# Egy C# property (tulajdonság) bevezetésekor mindig be kell vezetni egy tagváltozót is az osztályban, melyben a property értéke tárolásra kerül.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3|pontozás=-}}&lt;br /&gt;
#  Amikor egy AutoResetEvent objektum jelzett állapotba kerül, valamennyi rá várakozó szál tovább futhat.&lt;br /&gt;
# .NET környezetben egy folyamat (processz) akkor áll le, ha az összes előtérszála leáll.&lt;br /&gt;
# Egy változó növelése a ++ operátorral nem szálbiztos (nem thread safe).&lt;br /&gt;
&lt;br /&gt;
== A feladat fájlrendszerbeli mappák és bennük levő fájlok nyilvántartása egy adott objektumstrukturában. Az egyes fájlokról a nevüket és a méretüket, valamint a mappákra a nevüket kell nyilvántartani (memóriában). Elegáns megoldást szeretnénk a következőre: Mappa tartalmának listázásakor a mappában levő fájlok és a közvetlen benne levő mappák nevét és méretét kell kiírni a konzolra. Az előző pontban, amikor egy mappa méretét írjuk ki a konzolra, akkor a mappa összméretét kell kiírni, melybe valamennyi - a hierarchiában tetszőlegesen mélységben levő - almappájában levő fájlok mérete is beleszámolódik. Mely tervezési minta biztosít a fentiekre elegáns megoldást? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=8|pontozás=-}}&lt;br /&gt;
# Prototype&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Composite&lt;br /&gt;
# Abstract factory&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Menedzsment_%C3%A9s_v%C3%A1llalkoz%C3%A1sgazdas%C3%A1gtan&amp;diff=206505</id>
		<title>Menedzsment és vállalkozásgazdaságtan</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Menedzsment_%C3%A9s_v%C3%A1llalkoz%C3%A1sgazdas%C3%A1gtan&amp;diff=206505"/>
		<updated>2025-05-31T15:55:57Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: számolós feladat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tantárgy&lt;br /&gt;
| nev=Menedzsment és&amp;lt;br/&amp;gt;vállalkozásgazdaságtan&lt;br /&gt;
| tárgykód=GT20A001&lt;br /&gt;
| szak=mind&lt;br /&gt;
| kredit=4&lt;br /&gt;
| felev=villany: 5&amp;lt;br&amp;gt;(üz)info: 4&lt;br /&gt;
| kereszt=van&lt;br /&gt;
| tanszék=GTK MVT&lt;br /&gt;
| kiszh=nincs&lt;br /&gt;
| nagyzh=2 db&lt;br /&gt;
| vizsga=nincs&lt;br /&gt;
| hf=nincs&lt;br /&gt;
| levlista=vallgaz{{kukac}}sch.bme.hu&lt;br /&gt;
| targyhonlap=https://edu.gtk.bme.hu/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A tárgy oktatásának célja, hogy megismertesse a hallgatókat a szervezetek és a menedzsment feladatának és működésének alapelveivel. A tárgy keretében röviden bemutatásra kerülnek a gazdálkodás- és szervezéstudomány legfontosabb részterületei és aktuális problémái. Ezt követően a vállalkozásgazdaságtan alapjaival foglalkozik és az alábbi fő témaköröket tárgyalja:&lt;br /&gt;
*üzleti vállalkozás célja&lt;br /&gt;
*termelő és szolgáltató folyamatok&lt;br /&gt;
*termelésirányítás &lt;br /&gt;
*költséggazdálkodás &lt;br /&gt;
*befektetés és finanszírozás&lt;br /&gt;
&lt;br /&gt;
= Követelmények =&lt;br /&gt;
* &#039;&#039;&#039;Előtanulmányi rend:&#039;&#039;&#039; Nincs.&lt;br /&gt;
* &#039;&#039;&#039;Jelenlét:&#039;&#039;&#039; Az előadásokon való részvétel nem kötelező és ezt nem is ellenőrzik. Azonban némelyik előadó ad fel házi feladatot, esetleg az óra végén előfordul egy közös Kahootozás, ahol a hallgatók közül a 3 legjobb plusz pontot kaphat óra végén.&lt;br /&gt;
* &#039;&#039;&#039;NagyZH:&#039;&#039;&#039; A félév során összesen 2 darab, egyenként 25 pontos, melyek mindegyike 1-1 fő tématerület lezárásaként kerül megírásra az előadások ideje alatt. Nincs minimum követelmény külön-külön az egyes ZH eredményekre, az elégséges egyetlen feltétele, hogy a szumma pontszám legalább 25 legyen. Mindegyik ZH 20 perces, és nagyjából azonos felépítésű.&lt;br /&gt;
* &#039;&#039;&#039;Pótlási lehetőségek:&#039;&#039;&#039;&lt;br /&gt;
** A &#039;&#039;&#039;ZH&#039;&#039;&#039;-kat a szorgalmi időszak utolsó hetében tartott pótZH-kon lehet pótolni, ill. javítani. Javítás esetén a pótZH-(ko)n elért eredmény számít bele a végeredménybe. (Rontani is lehet!) &lt;br /&gt;
** &#039;&#039;&#039;Pótpót nincs a tárgyból.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Félévközi jegy:&#039;&#039;&#039; A végső jegy a két ZH pontjai és esetleges plusz pontok összege alapján:&lt;br /&gt;
{{Jegykonvertálás&lt;br /&gt;
| 0 - 24,9&lt;br /&gt;
| 25 - 27,9&lt;br /&gt;
| 28 - 34,9&lt;br /&gt;
| 35 - 40,9&lt;br /&gt;
| 41 - 50&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
= Tematika =&lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red;&amp;quot;&amp;gt; &#039;&#039;&#039;Az egyes témakörökhöz található segédletek egy része mára elavulttá vált. Az aktuális diasorokat és a zárthelyire felkészítő kérdéseket mindig a tárgy honlapjáról érdemes nézni!&#039;&#039;&#039; &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Menedzsment alapok ==&lt;br /&gt;
=== Zárthelyi ===&lt;br /&gt;
&#039;&#039;Felépítése:&#039;&#039;&lt;br /&gt;
*Teszt illetve rövid kifejtős kérdések (20 pontért)&lt;br /&gt;
**Igaz-hamis kérdések&lt;br /&gt;
**Feleletválasztós tesztek&lt;br /&gt;
**Rövid kifejtős kérdések&lt;br /&gt;
*ZH1-ben 1 kifejtős kérdés az előadáson részletesebben tárgyalt témákból (5 pontért)&lt;br /&gt;
*ZH2-ben 1 olyan számolós feladat amire szerepel példa az előadásdiákon (6 pontért)&lt;br /&gt;
&lt;br /&gt;
=== Segédanyagok ===&lt;br /&gt;
{{Rejtett&lt;br /&gt;
| mutatott=&#039;&#039;&#039;Régebbi, elavult segédanyagok&#039;&#039;&#039;&lt;br /&gt;
| szöveg=&lt;br /&gt;
* 2007. tavasz&lt;br /&gt;
** [[MenVallGazdZH20070327 | ZH1]]&lt;br /&gt;
* 2009. tavasz&lt;br /&gt;
** [[MenVallGazdZH20090227 | ZH1]]&lt;br /&gt;
* 2013. tavasz&lt;br /&gt;
** [[Média:Menval_of_zh234.pdf | A kiadott kérdések és válaszok összefoglalója (a ZH1 kivételével)]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* ZH1&lt;br /&gt;
** [[Menedzsment és vállalkozásgazdaságtan ZH1 – kvíz | Feleletválasztós kvíz]]&lt;br /&gt;
** [[Menedzsment és vállalkozásgazdaságtan ZH1 – igaz-hamis | Igaz-hamis kvíz]]&lt;br /&gt;
&lt;br /&gt;
* 2013. tavasz&lt;br /&gt;
** [[Média:menval_2zh_jegyzet.pdf | Jegyzet]]&lt;br /&gt;
** ZH1 – a kiadott kérdések rendszerezve, betűrendben:&lt;br /&gt;
*** [[Media:MEV_ZH2_2013_teszt.pdf | Tesztkérdések]] (csak az igaz válaszokkal)&lt;br /&gt;
*** [[Media:MEV_ZH2_2013_igazhamis.pdf | Igaz-hamis kérdések]]&lt;br /&gt;
*** [[Media:MEV_ZH2_2013_rov_kif.pdf | Rövid, kifejtős kérdések]]&lt;br /&gt;
* 2014. tavasz&lt;br /&gt;
** ZH1&lt;br /&gt;
*** [[Media:MEV_ZH2_2014_tavasz.pdf | Kiadott felkészítőkérdések]]&lt;br /&gt;
* 2017. tavasz&lt;br /&gt;
** ZH1&lt;br /&gt;
*** [[Media:Menval_zh2help_2016tavasz_boti.pdf | Gyorstalpaló (Boti bácsi)]]&lt;br /&gt;
* 2021. ősz&lt;br /&gt;
** [[Media:Menedzsment 1. ZH anyaga.pdf | Jegyzet (V. Móni)]]&lt;br /&gt;
** ZH1&lt;br /&gt;
*** [[Media:Vallgazd_tesztkerdesek_2015-16-2_2.pdf | Kiadott felkészítőkérdések (részletek a tankönyvből)]]&lt;br /&gt;
* 2024. tavasz&lt;br /&gt;
** [[Media:MEV_20240205_2.0_elsoresz_egyseges.pdf | A törzsanyag részét képező előadások]]&lt;br /&gt;
*** 1. hét&lt;br /&gt;
**** [[Media:MEV_20240213_bemutatkozás.pdf | Követelmények]], bevezetés (Dr. Molnár Bálint)&lt;br /&gt;
**** Szervezeti formák (Dr. Molnár Bálint)&lt;br /&gt;
*** 2. hét&lt;br /&gt;
**** Innováció (Borbély Viktor)&lt;br /&gt;
**** [[Media:MEV_20240222_szervezeti-kultúra_compliance.pdf | Integritás, vállalati kultúra (Törcsváry István)]]&lt;br /&gt;
*** 3. hét&lt;br /&gt;
**** Vállalati kultúra, hierarchia, motiváció (Dr. Molnár Bálint)&lt;br /&gt;
**** Stratégiai tervezési, makrokörnyezet elemzési módszerek (Dr. Molnár Bálint)&lt;br /&gt;
*** 4. hét&lt;br /&gt;
**** [[Media:MEV_20240305_állami-vállalatok.pdf | Sikeres működés és stratégiai tervezés az állami nagyvállalatoknál (Dr. Bereczkey Brúnó)]]&lt;br /&gt;
**** [[Media:MEV_20240307_Commsignia.pdf | A Commsignia járműkommunikációs vállalat stratégiája (Patay Szabolcs)]]&lt;br /&gt;
*** 5. hét&lt;br /&gt;
**** A Nexogen Kft. sikersztorija (Jermann Ádám)&lt;br /&gt;
**** [[Media:MEV_20240314_Magyar-Telekom.pdf | Digitális márkaépítés a Magyar Telekom Csoportnál (Puskás Amina)]]&lt;br /&gt;
*** 6. hét&lt;br /&gt;
**** [[Media:MEV_20240319_osszefoglalo-ora.pdf | Összefoglalás, felkészülés a ZH-ra (Dr. Molnár Bálint)]]&lt;br /&gt;
&lt;br /&gt;
{{Rejtett&lt;br /&gt;
| mutatott=&#039;&#039;&#039;Korábbi, elavult tananyagrészek&#039;&#039;&#039;&lt;br /&gt;
| szöveg=&lt;br /&gt;
== Stratégiai marketingmenedzsment ==&lt;br /&gt;
=== Zárthelyi ===&lt;br /&gt;
&#039;&#039;Felépítése:&#039;&#039;&lt;br /&gt;
*Teszt illetve rövid kifejtős kérdések (20 pontért)&lt;br /&gt;
**Igaz-hamis kérdések&lt;br /&gt;
**Feleletválasztós tesztek&lt;br /&gt;
**Rövid kifejtős kérdések&lt;br /&gt;
*1 kifejtős kérdés az előadáson részletesebben tárgyalt témákból (5 pontért)&lt;br /&gt;
&lt;br /&gt;
=== Segédanyagok ===&lt;br /&gt;
*2012 tavasz: &lt;br /&gt;
**Előadás diái: [[Média:Vallgazd_dia_elsoanyag_2012tavasz_1.ppt|1.]] [[Média:Vallgazd_dia_elsoanyag_2012tavasz_2.ppt|2.]] [[Média:Vallgazd_dia_elsoanyag_2012tavasz_3.ppt|3.]]&lt;br /&gt;
*2014 tavasz:&lt;br /&gt;
**[[Média:Vallgazd_kerdesek_elsoanyag_2014tavasz.pdf|Kiadott kérdések]]&lt;br /&gt;
*2015/2016/2:&lt;br /&gt;
**Előadás diái: [[Media:Vallgazd_dia_2015-16-2_1.pdf|1.]] [[Media:Vallgazd_dia_2015-16-2_2.pdf |2.]] [[Media:Vallgazd_dia_2015-16-2_3.pdf|3.]]&lt;br /&gt;
**[[Media:Vallgazd_tesztkerdesek_2015-16-2.pdf|Felkészülést segítő kérdések]]&lt;br /&gt;
*2016/2017/2:&lt;br /&gt;
**Előadás diái: [[:Média:Vallgazd_dia_2016-17-2_1.pptx|1.]] [[:Média:Vallgazd_dia_2016-17-2_2.pptx |2.]] [[:Média:Vallgazd_dia_2016-17-2_3.pptx|3.]] [[:Média:Vallgazd_dia_2016-17-2_4_5.pptx|4-5.]]&lt;br /&gt;
**[[Media:Vallgazd_tesztkerdesek_2016-17-2.pdf|Felkészülést segítő kérdések]]&lt;br /&gt;
*2020/2021/1&lt;br /&gt;
**[[Media:Menval_zh1_2020osz.pdf|A kiadott kérdések kidolgozása az előadásdiák alapján]]&lt;br /&gt;
&lt;br /&gt;
== Minőségmenedzsment ==&lt;br /&gt;
=== Zárthelyi ===&lt;br /&gt;
&#039;&#039;Felépítése:&#039;&#039;&lt;br /&gt;
*3 feleletválasztós (6 pont)&lt;br /&gt;
*6 igaz-hamis (6 pont)&lt;br /&gt;
*2 kis kérdés (6 pont)&lt;br /&gt;
*1 nagy kérdés (esszé vagy számolás) (7 pont)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Régebbi zárthelyik:&#039;&#039;&lt;br /&gt;
* [[MenVallGazdZH20070511|2006/07 tavasz]]&lt;br /&gt;
&lt;br /&gt;
=== Segédanyagok ===&lt;br /&gt;
*[[Menedzsment és vállalkozásgazdaságtan - Kvíz - 3. ZH|Feleletválasztós kvíz]]&lt;br /&gt;
*[[Menedzsment és vállalkozásgazdaságtan - Kvíz - 3. ZH igazhamis|Igaz-hamis kvíz]]&lt;br /&gt;
*[[Média:Vallgazd_fogalmak_harmadikanyag.docx|Fontosabb fogalmak kijegyzetelve]]&lt;br /&gt;
&lt;br /&gt;
*2013 tavasz:&lt;br /&gt;
**(A kiadott kérdések rendszerezve, betűrendben)&lt;br /&gt;
**[[Media:MEV_ZH3_2013_teszt.pdf | Tesztkérdések]] - Csak az igaz válaszokkal!&lt;br /&gt;
**[[Media:MEV_ZH3_2013_igazhamis.pdf | Igaz-hamis kérdések]]&lt;br /&gt;
**[[Media:MEV_ZH3_2013_rov_kif.pdf | Rövid, kifejtős kérdések]]&lt;br /&gt;
**Előadásdiák: [[Média:MEV_minoseg_1_2013tav.pdf|1.]] [[Média:MEV_minoseg_2_2013tav.pdf|2.]] [[Média:MEV_minoseg_3_2013tav.pdf|3.]] [[Média:MEV_minoseg_4_2013tav.pdf|4.]]&lt;br /&gt;
*2014 tavasz:&lt;br /&gt;
**[[Média:MEV_ZH3_2014_tavasz.pdf|Kiadott kérdések]]&lt;br /&gt;
*2015/2016/2:&lt;br /&gt;
**[[Media:Vallgazd_dia_2015-16-2_5.pdf|Előadás diái]]&lt;br /&gt;
**[[Media:Vallgazd_tesztkerdesek_2015-16-3.pdf|Kiadott felkészülést segítő &amp;quot;kérdések&amp;quot;]] (részletek a tankönyvből)&lt;br /&gt;
*2016/2017/2:&lt;br /&gt;
**[[:Média:Vallgazd_dia_2016-17-2_5.pdf|Előadás diái]]&lt;br /&gt;
**[[:Média:Vallgazd_tesztkerdesek_2016-17-2_3.pdf|Kiadott felkészülést segítő &amp;quot;kérdések&amp;quot;]]&lt;br /&gt;
**[[Media:Menval_zh3help_2016tavasz_boti.pdf | Boti bácsi zh3 gyorstalpalója]]&lt;br /&gt;
&lt;br /&gt;
== Termelésmenedzsment alapok ==&lt;br /&gt;
=== Zárthelyi ===&lt;br /&gt;
&#039;&#039;Felépítése:&#039;&#039;&lt;br /&gt;
*3 feleletválasztós (6 pont)&lt;br /&gt;
*5 kis számításos feladat (10 pont)&lt;br /&gt;
*1 nagy számításos feladat (9 pont)&lt;br /&gt;
&lt;br /&gt;
=== Segédanyagok ===&lt;br /&gt;
*[[Menedzsment és vállalkozásgazdaságtan - Kvíz - 4. ZH|Feleletválasztós kvíz]]&lt;br /&gt;
*[[Menedzsment és vállalkozásgazdaságtan - Kvíz - 4. ZH igazhamis|Igaz-hamis kvíz]]&lt;br /&gt;
*[[Média:Menedzs_4.pdf‎|Számolós feladatok]] - Részletes levezetésekkel&lt;br /&gt;
&lt;br /&gt;
*2012 tavasz:&lt;br /&gt;
**Előadás diái: [[Média:Vallgazd_dia_negyedikanyag_2012tavasz_1.pdf|1.]] [[Média:Vallgazd_dia_negyedikanyag_2012tavasz_2.pdf|2.]]&lt;br /&gt;
*2013:&lt;br /&gt;
**(A kiadott kérdések rendszerezve, betűrendben)&lt;br /&gt;
**[[Media:MEV_ZH4_2013_teszt.pdf | Tesztkérdések]] - Csak az igaz válaszokkal!&lt;br /&gt;
**[[Media:MEV_ZH4_2013_igazhamis.pdf | Igaz-hamis kérdések]]&lt;br /&gt;
**[[Media:MEV_ZH4_2013_rov_kif.pdf | Rövid, kifejtős kérdések]]&lt;br /&gt;
*2014 tavasz:&lt;br /&gt;
**[[Média:MEV_ZH4KERDESEK_2014.pdf|Kiadott kérdések]]&lt;br /&gt;
*2015/2016/2:&lt;br /&gt;
**[[Media:Vallgazd_dia_2015-16-2_6.pdf|Előadás diái]]&lt;br /&gt;
**[[Media:Vallgazd_szampelda_2015-16-2.pdf|Számolásos feladatok megoldásokkal]]&lt;br /&gt;
*2016/2017/2:&lt;br /&gt;
**[[:Média:Vallgazd_dia_2016-17-2_6.pdf|Előadás diái]]&lt;br /&gt;
**[[:Média:Vallgazd_szampelda_2016-17-2.pdf|Számolásos feladatok megoldásokkal]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Folyamatfejlesztés és minőségmenedzsment ==&lt;br /&gt;
=== Segédanyagok ===&lt;br /&gt;
* 2013. ősz&lt;br /&gt;
** [[Media:Vallgazd_fogalmak_masodikanyag.docx | Jegyzet a fontosabb fogalmakról]]&lt;br /&gt;
* 2014. tavasz&lt;br /&gt;
** ZH2&lt;br /&gt;
*** [[Media:Vallgazd_kerdesek_elsoanyag_2014tavasz.pdf | Kiadott felkészítőkérdések]]&lt;br /&gt;
* 2024. tavasz&lt;br /&gt;
** [[Media:.pdf | Előadások]]&lt;br /&gt;
*** 6. hét&lt;br /&gt;
**** Vállalati működés, folyamatszemlélet, érték(áramlás), szervezeti felépítés (Katona László)&lt;br /&gt;
&lt;br /&gt;
= További segédanyagok =&lt;br /&gt;
* [[Media:MEV_2022_Szabó-Tibor_jegyzet_final_unlocked.pdf | Dr. Szabó Tibor: &#039;&#039;Menedzsment alapok, szervezetek működése&#039;&#039;]]&lt;br /&gt;
** 1.3.1.: Henry Fayol neve helyesen: &#039;&#039;Henri Fayol&#039;&#039;&lt;br /&gt;
* Kövesi János: &#039;&#039;Menedzsment és vállalkozásgazdaságtan&#039;&#039;&lt;br /&gt;
** [[Média:Vallgazd_jegyzet.pdf | 2006-os kiadás]]&lt;br /&gt;
** [http://www.typotex.hu/book/6926/kovesi_janos_menedzsment_es_vallalkozas-gazdasagtan 2015-ös kiadás]&lt;br /&gt;
* Interaktív oktatóvideók (angolul): [https://www.khanacademy.org/economics-finance-domain/core-finance KhanAcademy]&lt;br /&gt;
&lt;br /&gt;
= Tippek =&lt;br /&gt;
* A tárgyból hasznos tudásra egyáltalán ne számíts.&lt;br /&gt;
* Könnyebb mint a Mikro- és makroökonómia, mivel kérdések 90%-a ki van adva, válaszokkal együtt. Érdemes felkészülni, mert könnyen szerezhető jó jegy. A kikérdezők használata sokat segít!&lt;br /&gt;
* Órákon lehet extra pontokat szerezni, maximum 5-ös minden témakörben, ezeket simán hozzáadják a zárthelyi pontszámához. A távoktatás által bekövetkezett digitális felvilágosulás óta a pluszpontszerzés rendszerint valami kérdőív kitöltése órán, ahol a teljesítményedtől függően kapsz pontokat.&lt;br /&gt;
* A villanyon és infón egymáshoz képest mintatanterv szerint ellentétes félévekben van meghirdetve a tárgy és zárthelyit a tanóra időpontjában iratnak, úgyhogy igazából bármelyik félévben fel tudod venni a tárgyat amikor kényelmesnek érzed, nem muszáj ragaszkodni az előírt félévhez.&lt;br /&gt;
* Ha csak néhány pont hiányzik a jobb jegyért, akkor érdemes bemenni megtekintésre, főleg év végén, mert ilyen esetben elég barátiak.&lt;br /&gt;
* Az elégségest a közepestől csupán 6 pont választja el. Ha úgy jönne ki a lépés, érdemes alaposabban felkészülni az utolsó ZH-ra.&lt;br /&gt;
* A számolós példáknál ajánlott a képleteket is leírni, még ha nem is sikerül őket helyesen használni, mert az ÜTI így is bőkezűen fogja osztogatni a pontokat. Jó szívvel osztályoznak, és figyelembe veszik, hogy mérnöknek tanulsz, nem közgazdásznak.&lt;br /&gt;
* Ha órarendileg nem passzol neked a VIK-es, akkor nyugodtan fel tudod venni a másik karok kurzusát.&lt;br /&gt;
&lt;br /&gt;
{{Lábléc_-_Mérnök_informatikus_alapszak 2014}}&lt;br /&gt;
{{Lábléc_-_Üzemmérnök-informatikus_alapszak}}&lt;br /&gt;
{{Lábléc_-_Villamosmérnök_alapszak 2014}}&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Jogi_alapismeretek&amp;diff=206504</id>
		<title>Jogi alapismeretek</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Jogi_alapismeretek&amp;diff=206504"/>
		<updated>2025-05-31T15:43:00Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: naprakész adatok&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tantárgy&lt;br /&gt;
| nev = Jogi alapismeretek&lt;br /&gt;
| tárgykód = GT55A405&lt;br /&gt;
| régitárgykód = GT55A403&lt;br /&gt;
| szak = info, villany, üzemmérnök&lt;br /&gt;
| kredit = 3&lt;br /&gt;
| felev = info: 4&amp;lt;br&amp;gt;villany: 6&amp;lt;br&amp;gt;üzemmérnök: 5&lt;br /&gt;
| kereszt = van&lt;br /&gt;
| tanszék = GTK&lt;br /&gt;
| kiszh = nincs&lt;br /&gt;
| nagyzh = 2 db&lt;br /&gt;
| hf = nincs&lt;br /&gt;
| vizsga = nincs&lt;br /&gt;
| targyhonlap = https://edu.gtk.bme.hu/&lt;br /&gt;
| levlista = &lt;br /&gt;
| jelenlét = min. 70%&lt;br /&gt;
| GTKTAD = https://edu.gtk.bme.hu/local/tad/tad.php?id=1525&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A tantárgy célja, hogy bevezesse a hallgatókat a későbbi szakmai munkájukhoz szükséges alapvető jogi ismeretekbe. A tantárgy átfogó ismeretet ad az informatikához kapcsolódó jogi területek rendszeréről, hozzájárul a megfelelő (különösen: felelős) szemléletmód kialakulásához. A tárgyon belül különös figyelmet fordítunk a személyiségvédelem egyes aspektusaira (megértés – K2 szint), így a képmás-, hangfelvétel, személyes adatok védelmére, a hírközlés (alkalmazás - K3 szint), az elektronikus kereskedelem (konstrukciós - K3 szint), a szellemi tulajdonjogok (konstrukciós - K4 szint), valamint a médiajog (alkalmazás - K3 szint) releváns kérdéseire. A tárgy harmadik harmadában a hallgatók áttekintést kapnak arról, hogy egy start-up vállalkozás létrehozása során milyen jogi kérdésekkel szembesülhetnek és ezek miként oldhatók meg. A tantárgy a területi ismeretekbe építve tárgyalja az Európai Unió által szabályozott  jogterületek főbb összefüggéseit. &lt;br /&gt;
&lt;br /&gt;
== Követelmények ==&lt;br /&gt;
=== A szorgalmi időszakban ===&lt;br /&gt;
*&#039;&#039;&#039;Jelenlét:&#039;&#039;&#039; Az előadások 70%-án való részvétel kötelező.&lt;br /&gt;
*&#039;&#039;&#039;ZH-k:&#039;&#039;&#039;&lt;br /&gt;
**jelenlétes, de saját gépről írt Moodle tesztek a ZH sáv idejében&lt;br /&gt;
**feleletválasztós és igaz-hamis kérdések&lt;br /&gt;
**rossz válaszért nem jár levonás&lt;br /&gt;
**&#039;&#039;&#039;ZH1&#039;&#039;&#039;&lt;br /&gt;
***24 db 2 pontos kérdés összesen 48 pontért&lt;br /&gt;
***6 óra témája, témánként 4 db kérdés&lt;br /&gt;
***a töbszörös választásos kérdéseknél részpontszámok is járnak&lt;br /&gt;
***25 perc&lt;br /&gt;
**&#039;&#039;&#039;ZH2&#039;&#039;&#039;&lt;br /&gt;
***30 db 2 pontos kérdés összesen 60 pontért&lt;br /&gt;
***az utolsó (start-up) kivételével az összes óra anyaga&lt;br /&gt;
***25 perc&lt;br /&gt;
**&#039;&#039;&#039;Pótlási lehetőségek&#039;&#039;&#039;&lt;br /&gt;
***Mindkét ZH egyszer, a pótlási héten pótolható.&lt;br /&gt;
&lt;br /&gt;
=== Félévvégi jegy ===&lt;br /&gt;
*A félévvégi jegy megszerzéséhez mindkét zárthelyin külön-külön el kell érni legalább a 40%-ot.&lt;br /&gt;
*Az összpontszám a két ZH-ra (PZH-ra) kapott pontok, és az önellenőrző kérdésekre kapott pontok összege.&lt;br /&gt;
*Ponthatárok:{{Jegykonvertálás|0 – 39|40 – 54|55 – 69|70 – 84|85 –&lt;br /&gt;
}}&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
== Tematika ==&lt;br /&gt;
Az előadások után az aktuális diasorok elérhetők Moodle-ön.&lt;br /&gt;
=== 2024. ősz ===&lt;br /&gt;
*[[Média:Uzletijogb ea01 20210907.pdf|1. hét (Dr. Mezei Kitti)]]: követelmények; bevezetés: a jog jelentősége a társadalomban, információs társadalom, e-gazdaság (long tail, figyelemgazdaság), crowdsourcing (crowdtesting, crowdfunding), sharing economy, szabályozási szintek és kihívások, fintech, platform és adatalapú gazdaság, kiberbűnözés, [[Wikipedia:Artificial Intelligence Act|EU AI Act]], [[Wikipedia:Digital Services Act|Digital Services Act]], [[Wikipedia:Digital Markets Act|Digital Markets Act]]&lt;br /&gt;
*[[Média:Jogi-alapismeretek ea Alapjogok BProf.pdf|2. hét (Nagy Krisztina)]]: alkotmányos alapjogi védelem az információs társadalomban: emberi jogok, állami kötelezettségek, [https://hudoc.echr.coe.int/fre?i=001-196418 Szurovecz v. Hungary], alaptörvény, nemzetközi védelem, [https://rankingdigitalrights.org Ranking Digital Rights], The Social Dilemma, EU-s célok&lt;br /&gt;
*3. hét: &#039;&#039;szünet&#039;&#039;&lt;br /&gt;
*[[Média:Jogi-alapismeretek Hirkozles ea Bprof 2024.pdf|4. hét (Nagy Krisztina)]]: hírközlési jog ([[Média:Jogi alapismeretek - Hírközlési jog ea összefoglaló.pdf|összefoglaló]]): monopólium, piacnyitás, EU-s és hazai szabályozás (ex ante / post), NMHH, [https://www.portfolio.hu/gazdasag/20200326/lezajlott-a-licit-128-milliard-forintert-keltek-el-itthon-az-5g-frekvenciak-422234 5G-frekvenciasávlicit Magyarországon], JPE (gatekeeper), [[Wikipedia:Net neutrality|net neutrality]] (EU-s rendelet): nullás díjszabású csomagok betiltása ([https://eur-lex.europa.eu/legal-content/HU/TXT/HTML/?uri=CELEX:62018CJ0807 Telenor], [https://eur-lex.europa.eu/legal-content/HU/TXT/HTML/?uri=CELEX:62020CJ0005 Vodafone DE])&lt;br /&gt;
*5. hét: &#039;&#039;szünet&#039;&#039;&lt;br /&gt;
*[[Média:Jogi-alapismeretek Uzleti jog ea Társasági jog (I, II, III).pdf|6. hét (Dr. Víg Zoltán)]]: gazdasági társaságok: adózás: KATA, beszámlázás, illegalitás (offshore-ozás), lízingelés, koncesszió; hitelezés: &#039;&#039;&#039;kik adhatnak (dolgozók, bank, kötvény)&#039;&#039;&#039;; Ptk.: cégjegyzési jog; fogalma; vagyon: pénz, apportálás (érték, vagyoni értékű jog, követelés, könyvvizsgáló), könyvelő; cégnév (cégvalódiság), székhely, (fő)tevékenység (iparági / Gazdasági és Iparkamara), cégnyilvántartás; alapítás: előtársaság (tulajdonjog), &#039;&#039;&#039;bejegyzés (ekkor jön létre)&#039;&#039;&#039;; szervei: legfelsőbb szerv (pl. taggyűlés: stratégiai döntések, kisrészvényesek képviselete), ügyvezetés (bónusz: részvény, corporate fraud, compliance), fb (belső ellenőrzés), könyvvizsgáló (audit); típusai: kkt., bt., kft., rt.; részvények és típusai; megszűnése: végelszámolás, felszámolás (csőd), feloszlatás, hivatalból törlés&lt;br /&gt;
*7. hét&lt;br /&gt;
**&#039;&#039;&#039;ZH1&#039;&#039;&#039;&lt;br /&gt;
**[[Média:Uzletijogb ea04 20210928.pdf|Szerzői jog]] ([[Wikipedia:hu:Grad-Gyenge Anikó|Grad-Gyenge Anikó]]): szoftverek: szabadalom, piaci részesedés, jogi védelem (titok- és szellemi tulajdonjogi védelem, szerződéses konstrukciók), a szoftver fogalma, üzleti titok, egyéniség, interfész, grafikus felület, weboldal, adatbázis, betűtípus, dokumentáció, más nyelvre átírás, szerző, másolás ([https://eur-lex.europa.eu/legal-content/HU/TXT/HTML/?uri=CELEX:62011CJ0128 Oracle v. UsedSoft]), átdolgozás, biztonsági másolat, tanulmányozás, személyhez fűződő jogok (névfeltüntetés, nyilvánosságra hozatal, visszavonás, integritásvédelem, munkaviszonyban alkotás; adatbázisok: gyűjteményes mű&lt;br /&gt;
*8. hét ([[Wikipedia:hu:Grad-Gyenge Anikó|Grad-Gyenge Anikó]]): az előző heti óra folytatása: adatbázis-előállító, sui generis (másolás, újrahasznosítás), védelmi idő, felhasználás, (text) data mining; [[Média:Jogi-alapismeretek ea 08 Szellemi tulajdonjogok - Iparjogvédelem.pdf|iparjogvédelem]]: szabadalmi oltalom (feltalálói tevékenység, Ipari alkalmazhatóság), használati mintaoltalom, mormatervezési mintaoltalom (újdonság és egyéni jelleg, kizáró okok), védjegyoltalom (márkák, ábrázolás), iparjogvédelmi stratégia&lt;br /&gt;
*[[Média:E-kereskedelem Jogi alapismeretek(VIK)kurzus BVF ea.pdf|9. hét (Dr. Bárány Viktória Fanny)]]: elektronikus kereskedelem: e-gazdaság; Ptk., Fttv.; belső / önszabályozás; [[Wikipedia:Digital Services Act|Digital Services Act]], [[Wikipedia:Digital Markets Act|Digital Markets Act]]: idővonal, területi / tárgyi hatály, közös kötelezettségek, további rendelkezések, [https://digital-strategy.ec.europa.eu/hu/policies/list-designated-vlops-and-vloses VLOP és VLOSE], szankciók; Ekertv.: elemei, területi / személyi / tárgyi hatálya, előzetes engedélyezést kizáró elv, szolgáltatói adatszolgáltatás, elektronikus szerződéskötés, felelősség, értesítés-eltávolítási eljárás, adatvédelem, kiskorúak védelme &lt;br /&gt;
**Az 5. dia alján a &#039;&#039;Dropshopping&#039;&#039; helyesen &#039;&#039;[[Wikipedia:Drop shipping|Drop shipping]]&#039;&#039;, illetve az Alza pont nem egy ilyen oldal – példaként a [https://notebooktherapy.com NotebookTherapy]-t lehetne említeni.&lt;br /&gt;
*[[Média:Uzletijogb ea06 20211019.pdf|10. hét (Dr. Gondos Kitti Katalin):]] szerződések: magánjog és polgári jog, magánjog és közjog, kötelem, áruviszony, gazdasági tartalom, jogi forma, állami elismerés, kereskedelmi ügylet, szerződések szabályozása (dualista / monista), alapelvek, szerződési szabadság, akarati autonómia, a partnerválasztás szabadsága, szerződési típusszabadság, diszpozitivitás, jogszabály által meghatározott szerződési tartalom, a visszterhesség vélelme, együttműködési és tájékoztatási kötelezettség; a szerződési jogviszony alanyai, tárgya és tartalma; alanyváltozás: egyetemes jogutódlás, engedményezés, tartozásátvállalás; dolog; nyilatkozati és akarati elv; ajánlat(i kötöttség), az ajánlat elfogadása, felhívás ajánlattételre; reálaktus, széleskörű ajánlat nyilvános elfogadása; szerződéskötés(i kötöttség), előszerződés; ászf, elektronikus szerződéskötés; hatály, érvényesség, semmisség; teljesítés, megerősítés; zálogjog, személyi biztosíték &lt;br /&gt;
*[[Média:Jogi alapismeretek ea Szerződési joga II.pdf|11. hét (Dr. Gondos Kitti Katalin)]]: szerződések: módosítás és megszűnés: ex tunc és ex nunc, közös megegyezés, egyoldalú jognyilatkozat; (idő előtti) teljesítés: szerződésszerűség, határidő, helyszín, megfizetés (tartozás); érvénytelenség és szerződésszegés (objektív / szubjektív): teljesítés követeléséhez való jog, visszatartási jog, (szankciós) elállás, felmondás; fedezeti szerződés, kártérítés és annak mértéke; késedelem, hibás teljesítés, lehetetlenülés, teljesítésmegtagadás, hibás teljesítés, kellékszavatosság, jótállás; szerződéstípusok: adás(vétel)i (részletvétel, megtekintésre vétel, próbára vétel, minta szerinti vétel; elővásárlási, visszavásárlási és vételi jog), tevési, használati, helytállási; csere, ajándékozás (visszakövetelési jog); vállalkozás&lt;br /&gt;
*[[Média:Jogi-alapismeretek ea MUNKAJOG.pdf|12. hét (Dr. Schubauer Petra)]]: munkajog: alanyai, -viszony, -szerződés, magatartási követelmények, egyenlő bánásmód, kötelezettségek, utasítás megtagadása, mentesülés a munkavégzés alól, szankciók, teljesítményértékelés, -viszony megszűnése (felmondás, végkielégítés), díjazás (munkabér, egyéb juttatások) &lt;br /&gt;
*13. hét : Adatvédelem&lt;br /&gt;
*14. hét&lt;br /&gt;
**&#039;&#039;&#039;ZH2&#039;&#039;&#039;&lt;br /&gt;
**Start up születik – szoftverfejlesztés és szerződések&lt;br /&gt;
&lt;br /&gt;
==Kikérdezők==&lt;br /&gt;
*[[Jogi alapismeretek ZH1 kikérdező|ZH1 kikérdező]]&lt;br /&gt;
*[[Jogi alapismeretek ZH2 kikérdező|ZH2 kikérdező]]&lt;br /&gt;
&lt;br /&gt;
==Tippek==&lt;br /&gt;
*A ZH-k időkerete – főleg a másodiké – elég szűkös, ezért legalább egyszer érdemes előttük a diákat végignézni.&lt;br /&gt;
*Több előadáshoz tartoznak „önellenőrző kérdések” Moodle-ben. Ezek 5 darab, ZH-hoz hasonló kérdést tartalmaznak az adott előadással kapcsolatban. A szorgalmi időszak végéig lehet őket kitölteni, mindegyiket csak egyszer, időkorlát nincs. Ha az 5 kérdésből legalább 4 helyes, akkor +1 ZH pontot érnek.&lt;br /&gt;
*A sima és a pót-ZH kérdései között nagy az átfedés, így viszonylag könnyen lehet póton javítani.&lt;br /&gt;
{{Lábléc - Mérnök informatikus alapszak 2022}}&lt;br /&gt;
{{Lábléc - Villamosmérnök alapszak}}&lt;br /&gt;
{{Lábléc - Üzemmérnök-informatikus alapszak}}&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Szoftver_projekt_laborat%C3%B3rium&amp;diff=206503</id>
		<title>Szoftver projekt laboratórium</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Szoftver_projekt_laborat%C3%B3rium&amp;diff=206503"/>
		<updated>2025-05-31T15:30:59Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: fungorium feladat hozzáadva&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tantárgy&lt;br /&gt;
|név = Szoftver projekt laboratórium&lt;br /&gt;
|tárgykód = VIIIAB11&lt;br /&gt;
|régitárgykód = VIIIAB02, VIIIA220, VIIIAB06&lt;br /&gt;
|szak=info&lt;br /&gt;
|kredit = 4&lt;br /&gt;
|felev = 4&lt;br /&gt;
|kereszt = nincs&lt;br /&gt;
|tanszék = IIT&lt;br /&gt;
|jelenlét = nem kötelező, &amp;lt;br&amp;gt;de erősen ajánlott&lt;br /&gt;
|labor = nincs&lt;br /&gt;
|kiszh = nincs&lt;br /&gt;
|nagyzh = nincs&lt;br /&gt;
|hf = 11 db&lt;br /&gt;
|vizsga = nincs&lt;br /&gt;
|tad = https://portal.vik.bme.hu/kepzes/targyak/VIIIAB11/&lt;br /&gt;
|targyhonlap = https://www.iit.bme.hu/targyak/BMEVIIIAB02&lt;br /&gt;
|levlista = szoftlab4{{kukac}}sch.bme.hu&lt;br /&gt;
|facebook = https://www.facebook.com/groups/338196589708558/&lt;br /&gt;
}}&lt;br /&gt;
{{Átnevezett tárgy | Szoftver laboratórium 4}}&lt;br /&gt;
&lt;br /&gt;
A labor célja objektum orientált alkalmazás készítése UML (Unified Modeling Language) leírással,  JAVA-ban  megvalósítva, RUP (Rational Unified Process) processz szerint. A hallgatók 5 fős csoportokban dolgoznak és készítik el a dokumentumokat a megadott ütemezés szerint (a félév során 11 beadandó feladat lesz). A dokumentumokat a megadott formátumban, az összefoglalás és a programkód kivételével nyomtatott változatban kell beadni.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Követelmények ==&lt;br /&gt;
&lt;br /&gt;
=== Előtanulmányi rend ===&lt;br /&gt;
* A [[Szoftvertechnológia]] tárgyból aláírás és [[A programozás alapjai 3]] tárgyból kredit megszerzése szükséges a tárgy felvételéhez. &lt;br /&gt;
&lt;br /&gt;
=== Szorgalmi időszakban ===&lt;br /&gt;
* A kezdés feltétele, hogy az egyes hallgatók &#039;&#039;csapatokba szerveződjenek (4-5 fő)&#039;&#039;, és &#039;&#039;konzultációs időpontot válasszanak&#039;&#039; maguknak. Ha ez explicit nem történik meg, a tárgyfelelős implicit módon a maradék embereket csapatokká kasztolja.&lt;br /&gt;
* A félév során kiadott &#039;&#039;&#039;11 feladat leadása&#039;&#039;&#039; (8 dokumentáció, 3 dokumentáció+szoftver). Egy feladat leadásának feltétele &#039;&#039;az összes előző feladat sikeres teljesítése&#039;&#039;. A teljesítés feltétele a 3 szoftver fázisnál (Szkeleton, Proto, Grafikus) a kapható pontok 41%-nak teljesítése.&lt;br /&gt;
*&#039;&#039;&#039;Pótlási lehetőségek:&#039;&#039;&#039;&lt;br /&gt;
** Késedelmes leadás esetén a kapható pontok naponta 10%-kal csökkennek, tehát 10 nap késés esetén már biztosan nem jár pont (de ebben az esetben is le lehet adni a feladatot, hiszen ez a többi feladat teljesítésének feltétele). Késés esetén közvetlenül a konzulensnek, vagy a tanszéken lehet leadni az anyagot.&lt;br /&gt;
*** Ha a konzulens egy feladatot nem fogad el, úgy azt a következő hétre (a következő beadandó feladattal együtt) újra be kell adni, ilyenkor a rá kapható pont a maximális pontszám 40%-a. Pótolni egy alkalommal lehet.&lt;br /&gt;
&lt;br /&gt;
=== Féléközi jegy === &lt;br /&gt;
* A három feladatrész (Skeleton, proto, grafika) összesen 100 pontot ér. A sikeres teljesítéshez szükséges, hogy mindegyik ilyen blokkból a csapat legalább 41 pontot elér (és a blokkok végén található szoftver beadásra is legalább 41%-ot kap). &lt;br /&gt;
*Ha ez a feltétel nem teljesül, az egyéni teljesítménytől függetlenül mindenki elégtelent kap a csapatban! Ha a minimum követelmények teljesülnek, úgy a Szkeleton (Sc), Proto (Pr), illetve Grafikus (Gr) feladatrészekre kapott pontok súlyozott átlagát kell venni, ahol a súlyok:&lt;br /&gt;
&amp;lt;math&amp;gt;P= 0,3*Sc+0,5*Pr+0,2*Gr&amp;lt;/math&amp;gt;&lt;br /&gt;
* Az így képzett átlag a csapat pontszáma. Ez a pontszám végül az egyes csapattagok kontribúciójának arányában oszlik el (ezt az arányt a csapat állapítja meg). Amennyiben ez az arány nem tükrözi a napló tartalmát, úgy a konzulens ezt az arányt a csapattagok részvételével (vagy akár anélkül) megváltoztathatja.&lt;br /&gt;
* Ponthatárok:&lt;br /&gt;
:{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 120px; height: 40px;&amp;quot;&lt;br /&gt;
!Pont !!Jegy&lt;br /&gt;
|-&lt;br /&gt;
|   0 - 40 || 1&lt;br /&gt;
|-&lt;br /&gt;
|  41 - 54 || 2&lt;br /&gt;
|-&lt;br /&gt;
|  55 - 68 || 3&lt;br /&gt;
|-&lt;br /&gt;
|  69 - 82 || 4&lt;br /&gt;
|-&lt;br /&gt;
|  83 - 100|| 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== iMSc pontok ===&lt;br /&gt;
* &#039;&#039;&#039;Elérhető pontszám:&#039;&#039;&#039;  20 pont.&lt;br /&gt;
* A tárgyból az IMSC-pontokat a csapat gyűjti. Minden új beadandóra jár IMSC-pont, amennyiben az anyag az elérhető pontok 80%-ánál többet ér. Ebben az esetben az elérhető pontok százalékában mért eredmény 80% feletti részében 10%-pont ér egy IMSC-pontot. Pl. 85% 0,5 IMSC-pont, 93% 1,3 IMSC-pont, 100% 2 IMSC-pont. Az így szerzett pontok összeadódnak és a félév végén a tárgyból jelest szerző hallgatók külön-külön megkapják a csapatuk által szerzett IMSC-pontokat.&lt;br /&gt;
&lt;br /&gt;
== Házi feladat ==&lt;br /&gt;
&lt;br /&gt;
=== Verziókezelés ===&lt;br /&gt;
* Mindenképpen kell egy értelmes verziókezelő rendszer, ha dropboxon vagy hasonlón küldözgetitek, csak magatokkal toltok ki. Jelenleg (2014) működik a [https://git.sch.bme.hu kszk git verziókezelője], pár perc alatt el lehet sajátitani hozzá az alapokat: [https://www.atlassian.com/git/tutorials tutorial]&lt;br /&gt;
&lt;br /&gt;
=== Doksi írás ===&lt;br /&gt;
* Érdemes olyan platformot választani, amit egyszerre mindenki tud használni, nem kell várni a másikra, illetve utólag összeollózni. Nekünk a git+latex jól bevált, esetleg a [https://drive.google.com Google Drive] egy működő alternatíva lehet.&lt;br /&gt;
&lt;br /&gt;
=== Kommunikáció ===&lt;br /&gt;
* Nem kell mindig találkozni, a lényeg, hogy legyen egy olyan közös csatorna, amit mindenki tud követni. Akár facebook beszélgetés, akár Discord, a lényeg hogy mindig, mindenki kapja meg. (A kódokat viszont ne itt küldözgessétek...)&lt;br /&gt;
&lt;br /&gt;
=== Kommentezés ===&lt;br /&gt;
* Bármilyen függvényt írsz, mindig kommenteld oda, hogyan kell használni, mire szánod, mert a csapattársad nem tud olvasni a gondolataid között.&lt;br /&gt;
&lt;br /&gt;
=== Beadandó tartalmi követelménye ===&lt;br /&gt;
&#039;&#039;2017 tavaszán nekünk Goldschmidt Balázs volt a labvezünk, ezek az információk főleg tőle származnak.&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;1. Követelmény, projekt, funkcionalitás:&#039;&#039;&#039; (max 10 pont)&lt;br /&gt;
** Ennek a dokumentumnak a legfontosabb részei:&lt;br /&gt;
*** Funkciók: A feladat szövegében sok olyan részlet van, ami nincsen kifejtve, a csapatra van bízva, hogy ők hogyan képzelik el. Ebben a részben főleg az ilyen részleteket kell kifejteni, azaz úgy kell átfogalmazni a feladat szövegét, hogy abból minden egyértelmű legyen, ne lehessen részeket többféleképpen értelmezni.&lt;br /&gt;
*** Követelmények: Ennek összhangban kell lennie a Funkciók résszel, a szövegben főleg az igékre fókuszálva célszerű kigyűjteni ezeket. (ajánlott legalább 15-20 követelmény megfogalmazása) Ez alapján a use-case-ek meghatározása már könnyű.&lt;br /&gt;
*** Szótár: Mindent fontos benne meghatározni, nem szabad olyan fogalomnak maradnia a korábbi részekben, ami itt nincsen egyértelműen meghatározva. Természetesen nem csak a mennyiség, hanem a minőség is fontos. A funkciók olvasása közben könnyen kigyűjthetőek ezek a fogalmak. Ajánlott, hogy több ember is olvassa át ezt, mert ekkor még a csapatban nem alakul ki egy teljesen közös kép a feladatról, és emiatt mindenki a saját elképzelését fogalmazza meg, így fellelhetőek az olyan részek, amik nem lettek még a csapaton belül normálisan tisztázva.&lt;br /&gt;
** Többi rész főleg a dokumentum keretbe foglalásáért felelős, de azok kitöltése is követelmény.&lt;br /&gt;
* &#039;&#039;&#039;2. Analízis modell kidolgozása 1:&#039;&#039;&#039; (max 20 pont)&lt;br /&gt;
** Objektum katalógus: Ennél a résznél még nem osztályokban kell gondolkodni, hanem a feladatot olvasva ki kell gyűjteni az entitásokat. Ez alapján utána könnyebben lehet az osztályokat meghatározni. Itt még nem szabad az osztályoknak, interfészeknek, öröklésnek megjelennie.&lt;br /&gt;
** Statikus struktúra diagram (osztály diagram), szekvencia diagram: Ezt a két részt együtt ajánlott készíteni, hiszen az osztálydiagram hibái előkerülnek a szekvenciák megfogalmazása közben és fordítva is igaz. Fontos az összhang, azaz ami megjelenik az osztálydiagramon, az legalább egy szekvencián is szerepeljen, és ami a szekvencia diagramokon rajta van, az az osztálydiagramon is kell, hogy szerepeljen. Nagyságrendileg 20 szekvenciadiagram ajánlott.&lt;br /&gt;
** Osztályok leírása: Jellemzően csak szöveg gyártásáról szól ez a rész az eddig elkészítettek alapján.&lt;br /&gt;
** State-chartok: Nálunk az hangzott el, hogy nem túl fontos, csak tényleg akkor rakjunk bele, hogyha van olyan része a feladatnak, amit jól jellemez.&lt;br /&gt;
* &#039;&#039;&#039;3. Analízis modell kidolgozása 2:&#039;&#039;&#039; (max 30 pont)&lt;br /&gt;
** Általában az előző részt nem szokta senki sem elsőre jól megcsinálni, emiatt mégegyszer meg lehet próbálni. A labor vezetők rá fognak mutatni az előző beadandó hibáira, és legalább azokat ajánlott javítani a jó pontért. Természetesen aki az előzőt jobbra megcsinálta, annak itt kevesebb tennivalója van.&lt;br /&gt;
* &#039;&#039;&#039;4. Szkeleton tervezése:&#039;&#039;&#039; (max 20 pont)&lt;br /&gt;
** A szkeleton lényege, hogy a korábban megfogalmazott működést kellene egyszerű konzolos felületen keresztül bemutatnia, azaz nyomon kell tudni követni egy adott szekvenciát például.&lt;br /&gt;
** Sok (&amp;gt;10) use-case-t ajánlott megfogalmazni, nagyjából a program teljes működését le kellene velük fedni.&lt;br /&gt;
** A menüben az előtte megfogalmazott use-case-ek közül kell tudni választani, aminek hatására elindul egy szekvencia végrehajtása. Fontos, hogyha a szekvenciát valamilyen döntési feltétel van (opt, alt), akkor azt a felhasználótól meg kell kérdezni, hogy ez most igaz vagy hamis. Akár az is lehetséges, hogy a felhasználónak előre elmondjuk (kiírjuk), hogy a várt végrehajtáshoz milyen válaszokat kell adnia a megjelenő kérdésekre.&lt;br /&gt;
** A konzolra a függvény meghívását (a paramétereivel együtt akár) és a visszatérését is ki kell írni (identálás - tabulátorok használata erősen javasolt).&lt;br /&gt;
** Kommunikációs diagramok: UML2-ben objektum diagram nincsen, és ennek a résznek az lenne a lényege, hogy az objektumok közötti kapcsolatokat megjelenítse, azaz a szekvencia diagramok felülnézetét. Nálunk azt mondta Goldschmidt Balázs, hogy itt nem kell megjelennie az üzenetváltásoknak, hiszen azok a szekvencia diagramokon már szerepelnek, azaz itt csak össze kell kötni azokat az objektumokat (nem osztályokat), amik a szekvencia diagramokon szerepelnek, tehát egy szekvencia diagramhoz alapvetően tartozik egy &amp;quot;kommunikációs diagram&amp;quot; is.&lt;br /&gt;
* &#039;&#039;&#039;5. Szkeleton beadása:&#039;&#039;&#039; (max 20 pont, min 9 pont)&lt;br /&gt;
** Az első rész vége, tartalmaznia kell egy értékelést is, ahol a tagokra bontva megjelenik, hogy ki mekkora százalékban járúlt hozzá az első rész elkészítéséhez (aláírás javasolt a nevek mellé).&lt;br /&gt;
** A dokumentum többi részének a kitöltése értelemszerű.&lt;br /&gt;
** Ennél a résznél a program elkészítése az, amire több  időt kell fordítani.&lt;br /&gt;
* VÁLTOZÁSOK:&lt;br /&gt;
** A szekelton beadását követően előszeretettel csinálnak valami módosítást a feladat kiírásában (erről emailben értesítenek mindenkit). Általában ez olyan változás, amit jól elkészített modell esetén könnyű elkészíteni. A következő dokumentum elején ezeket a változásokat meg kell jeleníteni, azaz célszerű egy összefoglalást írni a változásról, majd utána a módosított/új osztály és szekvencia diagramokat kell elhelyezni a dokumentumban.&lt;br /&gt;
*&#039;&#039;&#039; 6. Prototípus koncepciója:&#039;&#039;&#039; (max 20 pont)&lt;br /&gt;
** Nagyjából ezt a részt úgy kell elképzelni, mint a szkeleton általánosítását, azaz adott funkciók nem &amp;quot;bedrótozva&amp;quot; vannak, hanem a programunk parancsokat értelmez, és a parancsoknak megfelelő funkcionalitást hajtja végre. Gyakorlatilag ezzel a programnak a modell része majdhogynem teljesen kész lesz, csak a grafikus rész fog hozzákerülni, de az is ehhez hasonló interfészt fog használni.&lt;br /&gt;
** A parancsok beolvasására a konzolról célszerű egy segéd osztályt felvenni, amire jó eséllyel nem lesz már szükség a grafikus résznél.&lt;br /&gt;
** A parancsok definiálásának egyértelműnek kell lennie, azaz még azt is jelölni kell, hogy a parancs paraméterezésénél milyen elválasztó karakter van, mi a paraméterek sorrendje, azok mit jelentenek.&lt;br /&gt;
** A use-case-ek megfogalmazása ezek alapján nem túl nehéz feladat.&lt;br /&gt;
** Tesztelési tervnél a program fontosabb funkcióit legalább le kell fedni. Hogyha van olyan rész, ami több esetben ugyanúgy működik és lényegében csak a megjelenítésben lesz különbség, akkor nem kell többszörösen elkészíteni az adott tesztet.&lt;br /&gt;
** Nem ajánlott JUnit vagy valami ehhez hasonló környezetben gondolkodni, mert csak feleslegesen elbonyolítja a helyzetet, bőven elég karakteres bemenetre és kimenetre gondolni.&lt;br /&gt;
* &#039;&#039;&#039;7. Részletes tervek:&#039;&#039;&#039; (max 45 pont)&lt;br /&gt;
** Az előző rész részletezéséről szól ez a dokumentum.&lt;br /&gt;
** Az osztályok leírása nagyrészt csak copy-paste a korábban beadott leírásokból.&lt;br /&gt;
** Tesztek részletes terveinél az előző dokumentumban definiált nyelvnek megfelelően kell megfogalmazni. Ajánlott tesztenként külön txt-be gyűjteni (főleg a bemenetet), mert később jól fog jönni.&lt;br /&gt;
* &#039;&#039;&#039;8. Prototípus beadása:&#039;&#039;&#039; (max 35 pont, min 15 pont)&lt;br /&gt;
** A második blokk vége ez a doksi, úgyhogy ismét kell bele értékelést rakni.&lt;br /&gt;
** A dokumentum kitöltése nagyjából értelemszerű, hasonlít az előző ilyenhez.&lt;br /&gt;
** Tesztelési jegyzőkönyveknél ajánlott nem csak sikereseket belerakni (mindegyik definiált teszthez kell lennie sikeresnek), hanem egy-két hibás is legyen, hogy látszódjon, hogy van értelme a teszteknek, meg az azért valószínű, hogy elsőre úgysem volt hibátlan a kód, és ez látszódjon a dokumentációban is.&lt;br /&gt;
** Teszt bemeneteket ajánlott txt formátumban is mellékelni a beadásnál, mert a tesztelést végző csapatnak nem túl kellemes élmény lehet mindent kézzel beírni.&lt;br /&gt;
** A programnak működnie kell úgy is, hogy a bemenetét szöveg fájlból kapja, azaz parancssorban a mellékelt txt fájlokat beleirányítjuk. (nem fájlbeolvasó függvényekre kell gondolni)&lt;br /&gt;
* &#039;&#039;&#039;9. Grafikus felület specifikációja:&#039;&#039;&#039; (max 30 pont)&lt;br /&gt;
** Java Swing-ben kötelező gondolkozni, JavaFX-et el kell felejteni!&lt;br /&gt;
** Grafikus interfésznél ajánlott szövegesen leírni, hogy a funkciót hogyan képzeljük el, és néhány (akár paint-ben készült) képpel illusztrálni.&lt;br /&gt;
** Felület működési elvénél meg kell fogalmazni, hogy a grafikus megjelenítésért felelős osztályok és a modell osztályok között milyen jellegű kapcsolat van. Alapvetően mindegyik osztályhoz tartozik egy csomagoló/wrapper osztály, amiben a grafikus megjelenítésért felelős kódrészek vannak, de a működésért felelős információk továbbra is a modell osztályban kell maradniuk, azaz az eddig elkészített kódrészekhez nem igazán kell hozzányúlni majd. Alapvetően kétféle megközelítés van: a garfikus rész kérdezi le a modell osztályoktól, hogy hogyan rajzolja ki magát vagy a modell osztályok szólnak, hogy változás történt és rajzold ki magad. A szekvenciáknál az elképzelt elvet be kell mutatni, hogy hogyan fog majd működni, tehát legalább 5-10 diagram kellhet a normális részletezettséghez.&lt;br /&gt;
* &#039;&#039;&#039;10. Grafikus változat beadása:&#039;&#039;&#039; (max 40 pont, min 17 pont)&lt;br /&gt;
** Ezzel együtt kell beadni a kész programot is.&lt;br /&gt;
** Ismét kell bele értékelést írni a tagok hozzájárulásáról.&lt;br /&gt;
* &#039;&#039;&#039;11. Összefoglalás&#039;&#039;&#039; (max 30 pont)&lt;br /&gt;
** A ráfordított munkaórák alapján a korábban megadott százalékokon akár módosíthat a labvez, hogyha úgy látja, hogy a kettő nincs összhangban.&lt;br /&gt;
** A vélemény nem számít bele a kapott jegybe, de azért illik normálisan kitölteni.&lt;br /&gt;
(A leírtakért felelősséget nem vállalok, nálunk ezek az elvek voltak igazak, bár tapasztaltuk, hogy labvezenként kisebb/nagyobb eltérés volt, de nincs rá garancia, hogy nálatok is ezek igazak lesznek. Ajánlott laborra úgy menni, hogy előre megnézitek, hogy mit kell a héten csinálni, és akár az itt felsoroltak segítségével kérdéseket fogalmazzatok meg magatokban, és ezekre a kérdésekre a labvezek egyértelmű választ tudnak adni. Csak a doksiban leírt kék szövegek alapján elég nehéz a doksi elkészítése. Tényleg ajánlott figyelni a labor során, mert kellemetlen, amikor másoktól kell információmorzsákat összeszedni, mert éppenséggel senki sem figyelt kellő mértékben a laboron, vagy mindenki másra emlékszik.)&lt;br /&gt;
&lt;br /&gt;
== Tippek ==&lt;br /&gt;
* [[Szerkesztő:Madbence/Szoftver labor 4 tanácsok | Lennon tanácsai]] a tárgyhoz&lt;br /&gt;
&lt;br /&gt;
== Kedvcsináló ==&lt;br /&gt;
* [[Szoftlab4_Kindergarten_galéria_2006 | Kindergarten Galéria 2006]]&lt;br /&gt;
* [[SzgLab4Galeria2008 | SnakeFarm Galéria 2008]]&lt;br /&gt;
* [[SzgLab4Galeria2010 | Bankrabló Galéria 2010]]&lt;br /&gt;
* [[SzgLab4Galeria2012 | Continuity Galéria 2012]]&lt;br /&gt;
* [[Szoftlab4_AntFarm_galéria | AntFarm Galéria 2013]]&lt;br /&gt;
* [[Szoftlab4_Két_Torony_galéria | Két Torony Galéria 2014]]&lt;br /&gt;
* [[Szoftver projekt laboratórium - Killer sokoban galéria | Killer sokoban galéria 2018]]&lt;br /&gt;
* [[Szoftver projekt laboratórium - Jégmező galéria | Jégmező galéria 2020]]&lt;br /&gt;
* [[Szoftver projekt laboratórium - Aszteroidabányászat galéria | Aszteroidabányászat galéria 2021]]&lt;br /&gt;
* [[Szoftver projekt laboratórium - Sivatagi vízhálózat galéria | Sivatagi vízhálózat galéria 2023]]&lt;br /&gt;
* [[Szoftver projekt laboratórium - Fungorium | Fungorium 2025]]&lt;br /&gt;
&lt;br /&gt;
{{Lábléc - Mérnök informatikus alapszak 2022}}&lt;br /&gt;
{{Lábléc - Mérnök informatikus alapszak 2014}}&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Szoftver_projekt_laborat%C3%B3rium_-_Fungorium&amp;diff=206502</id>
		<title>Szoftver projekt laboratórium - Fungorium</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Szoftver_projekt_laborat%C3%B3rium_-_Fungorium&amp;diff=206502"/>
		<updated>2025-05-31T15:28:29Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: fungorium&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vissza|Szoftver projekt laboratórium}}&lt;br /&gt;
&lt;br /&gt;
==Feladat kiírás==&lt;br /&gt;
A Fungorium bolygón gombák és rovarok élnek. A bolygó felületét különböző alakú kéregdarabok (tektonok) alkotják, amelyek egy náluk puhább, viszkózus rétegen &amp;quot;úsznak&amp;quot;, de ennek részletei a tudomány előtt egyelőre nem ismertek. Annyit tudunk, hogy a tektonok között keskeny rések találhatók, valamint a tektonok időnként ketté tudnak törni, és ilyenkor a két darab egymástól függetlenül &amp;quot;fejlődik&amp;quot;. Egyelőre nem tudni, hogy egy tektonnak legfeljebb hány szomszédja lehet. Találtak már 2 szomszéddal és 12 szomszéddal rendelkező tektont is.&lt;br /&gt;
&lt;br /&gt;
A tektonokon gombák és rovarok élnek. A gombák gombafonalakból és gombatestből állnak, és a gombatestek időnként spórákat tudnak a tektonjuk szomszédjaira (fejletteb testek esetén akár a szomszédok szomszédjaira is) juttatni. A gombatestnek azonban időre van szüksége, hogy kilőhető mennyiségű spórát termeljen. Egy tektonon legfeljebb egy gombatest tud nőni. A  gombatestből gombafonalak nőnek, amelyek a tektonokon el tudnak ágazni és a tektonok közötti réseken át tudnak nőni. Ha egy tektonon spóra található, akkor az egy időre meggyorsítja a fonal növekedését. A fonalak gombatestet is tudnak növeszteni, amennyiben a tektonjukon elég mennyiségű spóra gyűlik össze (a spórák egy szükséges részét fel is használják a növesztéshez). Közismert, hogy egy gombatest csak véges mennyiségű alkalommal tud spórát szórni, utána elpusztul.&lt;br /&gt;
&lt;br /&gt;
A rovarok a gombafonalakat követve járják be a tektonokat. Ők maguktól nem képesek a résen átlépni. Csak akkor tudnak egyik tektonról a másikra átjutni, ha a két tekton között gombafonal vezet át. A rovarok az elszórt spórákkal táplálkoznak. Minden spórának adott tápanyagtartalma van.&lt;br /&gt;
&lt;br /&gt;
A gombák spórái eltérő hatással vannak az őket elfogyasztó rovarokra. Vannak gyorsító és lassító spórák. Vannak olyan spórák, amelyektől a rovar egy időre megbénul. Van olyan spóra, amelytől a rovar nem tud gombafonalat vágni. &lt;br /&gt;
&lt;br /&gt;
A tektonok változatos összetételűek, ezért különböző hatással vannak a rovarokra és a gombákra. Van olyan tekton, amelyiken a fonalak egy idő után felszívódnak. Egyes tetkonokon több gomba fonaljai is kereszteződni tudnak, de van, amelyiken legfeljebb egy fonal tud nőni, sőt vannak olyan tektonok, amiken bár fonal nőhet, de nem tud gombatest fejlődni.&lt;br /&gt;
&lt;br /&gt;
A tektonok kettétörése a rajta lévő fonalat elszakítja. A fonalakra a rovarok is veszélyesek, mert ők képesek a tekton peremén a réseken áthúzódó fonalakat elvágni. Ha egy fonalnak megszakad a kapcsolata az őt tápláló gombatestekkel, akkor rövid időn belül elpusztul.&lt;br /&gt;
&lt;br /&gt;
A játékosok egy része, a gombászok egy-egy gombafaj terjedését irányítják. A játék során a gombászok a fonalak növekedési irányát szabályozhatják (a fonal merre nőjön tovább), a hozzájuk tartozó gombatestek spóraszórását kezdeményezhetik, illetve eldönthetik, hogy egy adott (megfelelő) helyen nőjön-e gombatest.&lt;br /&gt;
&lt;br /&gt;
A rovarokat irányító rovarászok a rovarok irányát befolyásolhatják és eldönthetik, hogy egy adott fonalat egy rovar elvágjon-e. Ezzel például más rovarok életét lehet megnehezíteni.&lt;br /&gt;
&lt;br /&gt;
A gombászok közül az nyer, akinek egy adott idő végeztével a legtöbb (élő és halott) gombatestje fejlődött ki. A rovarászok közül az nyer, aki ugyanezen idő alatt a legtöbb tápanyagot gyűjtötte be a megevett spórákból.&lt;br /&gt;
&lt;br /&gt;
=== Módosítás ===&lt;br /&gt;
* Létezik olyan spóra, amelyik az őt megevő rovart osztódásra készteti. Ilyenkor keletkezik még egy, az előzőtől függetlenül élő rovar, akinek a rovarásza megegyezik az eredeti rovar rovarászával.&lt;br /&gt;
* Van olyan tekton-fajta, amelyik életben tartja azokat a fonalakat, amelyek nincsenek közvetve vagy közvetlenül gombatesthez kötve.&lt;br /&gt;
* Az elrágott fonalak nem pusztulnak el azonnal, hanem csak egy kis idő elteltével (ez fonaltípustól függő idő).&lt;br /&gt;
* A fonalak képesek megenni a tektonjukon található bénult rovarokat. Ilyenkor a rovar elpusztul, a fonal pedig gombatestet növeszthet.&lt;br /&gt;
&lt;br /&gt;
[[Kategória:Mérnök informatikus]]&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Szoftver_projekt_laborat%C3%B3rium&amp;diff=206501</id>
		<title>Szoftver projekt laboratórium</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Szoftver_projekt_laborat%C3%B3rium&amp;diff=206501"/>
		<updated>2025-05-31T15:23:15Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: naprakész adatok&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tantárgy&lt;br /&gt;
|név = Szoftver projekt laboratórium&lt;br /&gt;
|tárgykód = VIIIAB11&lt;br /&gt;
|régitárgykód = VIIIAB02, VIIIA220, VIIIAB06&lt;br /&gt;
|szak=info&lt;br /&gt;
|kredit = 4&lt;br /&gt;
|felev = 4&lt;br /&gt;
|kereszt = nincs&lt;br /&gt;
|tanszék = IIT&lt;br /&gt;
|jelenlét = nem kötelező, &amp;lt;br&amp;gt;de erősen ajánlott&lt;br /&gt;
|labor = nincs&lt;br /&gt;
|kiszh = nincs&lt;br /&gt;
|nagyzh = nincs&lt;br /&gt;
|hf = 11 db&lt;br /&gt;
|vizsga = nincs&lt;br /&gt;
|tad = https://portal.vik.bme.hu/kepzes/targyak/VIIIAB11/&lt;br /&gt;
|targyhonlap = https://www.iit.bme.hu/targyak/BMEVIIIAB02&lt;br /&gt;
|levlista = szoftlab4{{kukac}}sch.bme.hu&lt;br /&gt;
|facebook = https://www.facebook.com/groups/338196589708558/&lt;br /&gt;
}}&lt;br /&gt;
{{Átnevezett tárgy | Szoftver laboratórium 4}}&lt;br /&gt;
&lt;br /&gt;
A labor célja objektum orientált alkalmazás készítése UML (Unified Modeling Language) leírással,  JAVA-ban  megvalósítva, RUP (Rational Unified Process) processz szerint. A hallgatók 5 fős csoportokban dolgoznak és készítik el a dokumentumokat a megadott ütemezés szerint (a félév során 11 beadandó feladat lesz). A dokumentumokat a megadott formátumban, az összefoglalás és a programkód kivételével nyomtatott változatban kell beadni.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Követelmények ==&lt;br /&gt;
&lt;br /&gt;
=== Előtanulmányi rend ===&lt;br /&gt;
* A [[Szoftvertechnológia]] tárgyból aláírás és [[A programozás alapjai 3]] tárgyból kredit megszerzése szükséges a tárgy felvételéhez. &lt;br /&gt;
&lt;br /&gt;
=== Szorgalmi időszakban ===&lt;br /&gt;
* A kezdés feltétele, hogy az egyes hallgatók &#039;&#039;csapatokba szerveződjenek (4-5 fő)&#039;&#039;, és &#039;&#039;konzultációs időpontot válasszanak&#039;&#039; maguknak. Ha ez explicit nem történik meg, a tárgyfelelős implicit módon a maradék embereket csapatokká kasztolja.&lt;br /&gt;
* A félév során kiadott &#039;&#039;&#039;11 feladat leadása&#039;&#039;&#039; (8 dokumentáció, 3 dokumentáció+szoftver). Egy feladat leadásának feltétele &#039;&#039;az összes előző feladat sikeres teljesítése&#039;&#039;. A teljesítés feltétele a 3 szoftver fázisnál (Szkeleton, Proto, Grafikus) a kapható pontok 41%-nak teljesítése.&lt;br /&gt;
*&#039;&#039;&#039;Pótlási lehetőségek:&#039;&#039;&#039;&lt;br /&gt;
** Késedelmes leadás esetén a kapható pontok naponta 10%-kal csökkennek, tehát 10 nap késés esetén már biztosan nem jár pont (de ebben az esetben is le lehet adni a feladatot, hiszen ez a többi feladat teljesítésének feltétele). Késés esetén közvetlenül a konzulensnek, vagy a tanszéken lehet leadni az anyagot.&lt;br /&gt;
*** Ha a konzulens egy feladatot nem fogad el, úgy azt a következő hétre (a következő beadandó feladattal együtt) újra be kell adni, ilyenkor a rá kapható pont a maximális pontszám 40%-a. Pótolni egy alkalommal lehet.&lt;br /&gt;
&lt;br /&gt;
=== Féléközi jegy === &lt;br /&gt;
* A három feladatrész (Skeleton, proto, grafika) összesen 100 pontot ér. A sikeres teljesítéshez szükséges, hogy mindegyik ilyen blokkból a csapat legalább 41 pontot elér (és a blokkok végén található szoftver beadásra is legalább 41%-ot kap). &lt;br /&gt;
*Ha ez a feltétel nem teljesül, az egyéni teljesítménytől függetlenül mindenki elégtelent kap a csapatban! Ha a minimum követelmények teljesülnek, úgy a Szkeleton (Sc), Proto (Pr), illetve Grafikus (Gr) feladatrészekre kapott pontok súlyozott átlagát kell venni, ahol a súlyok:&lt;br /&gt;
&amp;lt;math&amp;gt;P= 0,3*Sc+0,5*Pr+0,2*Gr&amp;lt;/math&amp;gt;&lt;br /&gt;
* Az így képzett átlag a csapat pontszáma. Ez a pontszám végül az egyes csapattagok kontribúciójának arányában oszlik el (ezt az arányt a csapat állapítja meg). Amennyiben ez az arány nem tükrözi a napló tartalmát, úgy a konzulens ezt az arányt a csapattagok részvételével (vagy akár anélkül) megváltoztathatja.&lt;br /&gt;
* Ponthatárok:&lt;br /&gt;
:{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 120px; height: 40px;&amp;quot;&lt;br /&gt;
!Pont !!Jegy&lt;br /&gt;
|-&lt;br /&gt;
|   0 - 40 || 1&lt;br /&gt;
|-&lt;br /&gt;
|  41 - 54 || 2&lt;br /&gt;
|-&lt;br /&gt;
|  55 - 68 || 3&lt;br /&gt;
|-&lt;br /&gt;
|  69 - 82 || 4&lt;br /&gt;
|-&lt;br /&gt;
|  83 - 100|| 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== iMSc pontok ===&lt;br /&gt;
* &#039;&#039;&#039;Elérhető pontszám:&#039;&#039;&#039;  20 pont.&lt;br /&gt;
* A tárgyból az IMSC-pontokat a csapat gyűjti. Minden új beadandóra jár IMSC-pont, amennyiben az anyag az elérhető pontok 80%-ánál többet ér. Ebben az esetben az elérhető pontok százalékában mért eredmény 80% feletti részében 10%-pont ér egy IMSC-pontot. Pl. 85% 0,5 IMSC-pont, 93% 1,3 IMSC-pont, 100% 2 IMSC-pont. Az így szerzett pontok összeadódnak és a félév végén a tárgyból jelest szerző hallgatók külön-külön megkapják a csapatuk által szerzett IMSC-pontokat.&lt;br /&gt;
&lt;br /&gt;
== Házi feladat ==&lt;br /&gt;
&lt;br /&gt;
=== Verziókezelés ===&lt;br /&gt;
* Mindenképpen kell egy értelmes verziókezelő rendszer, ha dropboxon vagy hasonlón küldözgetitek, csak magatokkal toltok ki. Jelenleg (2014) működik a [https://git.sch.bme.hu kszk git verziókezelője], pár perc alatt el lehet sajátitani hozzá az alapokat: [https://www.atlassian.com/git/tutorials tutorial]&lt;br /&gt;
&lt;br /&gt;
=== Doksi írás ===&lt;br /&gt;
* Érdemes olyan platformot választani, amit egyszerre mindenki tud használni, nem kell várni a másikra, illetve utólag összeollózni. Nekünk a git+latex jól bevált, esetleg a [https://drive.google.com Google Drive] egy működő alternatíva lehet.&lt;br /&gt;
&lt;br /&gt;
=== Kommunikáció ===&lt;br /&gt;
* Nem kell mindig találkozni, a lényeg, hogy legyen egy olyan közös csatorna, amit mindenki tud követni. Akár facebook beszélgetés, akár Discord, a lényeg hogy mindig, mindenki kapja meg. (A kódokat viszont ne itt küldözgessétek...)&lt;br /&gt;
&lt;br /&gt;
=== Kommentezés ===&lt;br /&gt;
* Bármilyen függvényt írsz, mindig kommenteld oda, hogyan kell használni, mire szánod, mert a csapattársad nem tud olvasni a gondolataid között.&lt;br /&gt;
&lt;br /&gt;
=== Beadandó tartalmi követelménye ===&lt;br /&gt;
&#039;&#039;2017 tavaszán nekünk Goldschmidt Balázs volt a labvezünk, ezek az információk főleg tőle származnak.&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;1. Követelmény, projekt, funkcionalitás:&#039;&#039;&#039; (max 10 pont)&lt;br /&gt;
** Ennek a dokumentumnak a legfontosabb részei:&lt;br /&gt;
*** Funkciók: A feladat szövegében sok olyan részlet van, ami nincsen kifejtve, a csapatra van bízva, hogy ők hogyan képzelik el. Ebben a részben főleg az ilyen részleteket kell kifejteni, azaz úgy kell átfogalmazni a feladat szövegét, hogy abból minden egyértelmű legyen, ne lehessen részeket többféleképpen értelmezni.&lt;br /&gt;
*** Követelmények: Ennek összhangban kell lennie a Funkciók résszel, a szövegben főleg az igékre fókuszálva célszerű kigyűjteni ezeket. (ajánlott legalább 15-20 követelmény megfogalmazása) Ez alapján a use-case-ek meghatározása már könnyű.&lt;br /&gt;
*** Szótár: Mindent fontos benne meghatározni, nem szabad olyan fogalomnak maradnia a korábbi részekben, ami itt nincsen egyértelműen meghatározva. Természetesen nem csak a mennyiség, hanem a minőség is fontos. A funkciók olvasása közben könnyen kigyűjthetőek ezek a fogalmak. Ajánlott, hogy több ember is olvassa át ezt, mert ekkor még a csapatban nem alakul ki egy teljesen közös kép a feladatról, és emiatt mindenki a saját elképzelését fogalmazza meg, így fellelhetőek az olyan részek, amik nem lettek még a csapaton belül normálisan tisztázva.&lt;br /&gt;
** Többi rész főleg a dokumentum keretbe foglalásáért felelős, de azok kitöltése is követelmény.&lt;br /&gt;
* &#039;&#039;&#039;2. Analízis modell kidolgozása 1:&#039;&#039;&#039; (max 20 pont)&lt;br /&gt;
** Objektum katalógus: Ennél a résznél még nem osztályokban kell gondolkodni, hanem a feladatot olvasva ki kell gyűjteni az entitásokat. Ez alapján utána könnyebben lehet az osztályokat meghatározni. Itt még nem szabad az osztályoknak, interfészeknek, öröklésnek megjelennie.&lt;br /&gt;
** Statikus struktúra diagram (osztály diagram), szekvencia diagram: Ezt a két részt együtt ajánlott készíteni, hiszen az osztálydiagram hibái előkerülnek a szekvenciák megfogalmazása közben és fordítva is igaz. Fontos az összhang, azaz ami megjelenik az osztálydiagramon, az legalább egy szekvencián is szerepeljen, és ami a szekvencia diagramokon rajta van, az az osztálydiagramon is kell, hogy szerepeljen. Nagyságrendileg 20 szekvenciadiagram ajánlott.&lt;br /&gt;
** Osztályok leírása: Jellemzően csak szöveg gyártásáról szól ez a rész az eddig elkészítettek alapján.&lt;br /&gt;
** State-chartok: Nálunk az hangzott el, hogy nem túl fontos, csak tényleg akkor rakjunk bele, hogyha van olyan része a feladatnak, amit jól jellemez.&lt;br /&gt;
* &#039;&#039;&#039;3. Analízis modell kidolgozása 2:&#039;&#039;&#039; (max 30 pont)&lt;br /&gt;
** Általában az előző részt nem szokta senki sem elsőre jól megcsinálni, emiatt mégegyszer meg lehet próbálni. A labor vezetők rá fognak mutatni az előző beadandó hibáira, és legalább azokat ajánlott javítani a jó pontért. Természetesen aki az előzőt jobbra megcsinálta, annak itt kevesebb tennivalója van.&lt;br /&gt;
* &#039;&#039;&#039;4. Szkeleton tervezése:&#039;&#039;&#039; (max 20 pont)&lt;br /&gt;
** A szkeleton lényege, hogy a korábban megfogalmazott működést kellene egyszerű konzolos felületen keresztül bemutatnia, azaz nyomon kell tudni követni egy adott szekvenciát például.&lt;br /&gt;
** Sok (&amp;gt;10) use-case-t ajánlott megfogalmazni, nagyjából a program teljes működését le kellene velük fedni.&lt;br /&gt;
** A menüben az előtte megfogalmazott use-case-ek közül kell tudni választani, aminek hatására elindul egy szekvencia végrehajtása. Fontos, hogyha a szekvenciát valamilyen döntési feltétel van (opt, alt), akkor azt a felhasználótól meg kell kérdezni, hogy ez most igaz vagy hamis. Akár az is lehetséges, hogy a felhasználónak előre elmondjuk (kiírjuk), hogy a várt végrehajtáshoz milyen válaszokat kell adnia a megjelenő kérdésekre.&lt;br /&gt;
** A konzolra a függvény meghívását (a paramétereivel együtt akár) és a visszatérését is ki kell írni (identálás - tabulátorok használata erősen javasolt).&lt;br /&gt;
** Kommunikációs diagramok: UML2-ben objektum diagram nincsen, és ennek a résznek az lenne a lényege, hogy az objektumok közötti kapcsolatokat megjelenítse, azaz a szekvencia diagramok felülnézetét. Nálunk azt mondta Goldschmidt Balázs, hogy itt nem kell megjelennie az üzenetváltásoknak, hiszen azok a szekvencia diagramokon már szerepelnek, azaz itt csak össze kell kötni azokat az objektumokat (nem osztályokat), amik a szekvencia diagramokon szerepelnek, tehát egy szekvencia diagramhoz alapvetően tartozik egy &amp;quot;kommunikációs diagram&amp;quot; is.&lt;br /&gt;
* &#039;&#039;&#039;5. Szkeleton beadása:&#039;&#039;&#039; (max 20 pont, min 9 pont)&lt;br /&gt;
** Az első rész vége, tartalmaznia kell egy értékelést is, ahol a tagokra bontva megjelenik, hogy ki mekkora százalékban járúlt hozzá az első rész elkészítéséhez (aláírás javasolt a nevek mellé).&lt;br /&gt;
** A dokumentum többi részének a kitöltése értelemszerű.&lt;br /&gt;
** Ennél a résznél a program elkészítése az, amire több  időt kell fordítani.&lt;br /&gt;
* VÁLTOZÁSOK:&lt;br /&gt;
** A szekelton beadását követően előszeretettel csinálnak valami módosítást a feladat kiírásában (erről emailben értesítenek mindenkit). Általában ez olyan változás, amit jól elkészített modell esetén könnyű elkészíteni. A következő dokumentum elején ezeket a változásokat meg kell jeleníteni, azaz célszerű egy összefoglalást írni a változásról, majd utána a módosított/új osztály és szekvencia diagramokat kell elhelyezni a dokumentumban.&lt;br /&gt;
*&#039;&#039;&#039; 6. Prototípus koncepciója:&#039;&#039;&#039; (max 20 pont)&lt;br /&gt;
** Nagyjából ezt a részt úgy kell elképzelni, mint a szkeleton általánosítását, azaz adott funkciók nem &amp;quot;bedrótozva&amp;quot; vannak, hanem a programunk parancsokat értelmez, és a parancsoknak megfelelő funkcionalitást hajtja végre. Gyakorlatilag ezzel a programnak a modell része majdhogynem teljesen kész lesz, csak a grafikus rész fog hozzákerülni, de az is ehhez hasonló interfészt fog használni.&lt;br /&gt;
** A parancsok beolvasására a konzolról célszerű egy segéd osztályt felvenni, amire jó eséllyel nem lesz már szükség a grafikus résznél.&lt;br /&gt;
** A parancsok definiálásának egyértelműnek kell lennie, azaz még azt is jelölni kell, hogy a parancs paraméterezésénél milyen elválasztó karakter van, mi a paraméterek sorrendje, azok mit jelentenek.&lt;br /&gt;
** A use-case-ek megfogalmazása ezek alapján nem túl nehéz feladat.&lt;br /&gt;
** Tesztelési tervnél a program fontosabb funkcióit legalább le kell fedni. Hogyha van olyan rész, ami több esetben ugyanúgy működik és lényegében csak a megjelenítésben lesz különbség, akkor nem kell többszörösen elkészíteni az adott tesztet.&lt;br /&gt;
** Nem ajánlott JUnit vagy valami ehhez hasonló környezetben gondolkodni, mert csak feleslegesen elbonyolítja a helyzetet, bőven elég karakteres bemenetre és kimenetre gondolni.&lt;br /&gt;
* &#039;&#039;&#039;7. Részletes tervek:&#039;&#039;&#039; (max 45 pont)&lt;br /&gt;
** Az előző rész részletezéséről szól ez a dokumentum.&lt;br /&gt;
** Az osztályok leírása nagyrészt csak copy-paste a korábban beadott leírásokból.&lt;br /&gt;
** Tesztek részletes terveinél az előző dokumentumban definiált nyelvnek megfelelően kell megfogalmazni. Ajánlott tesztenként külön txt-be gyűjteni (főleg a bemenetet), mert később jól fog jönni.&lt;br /&gt;
* &#039;&#039;&#039;8. Prototípus beadása:&#039;&#039;&#039; (max 35 pont, min 15 pont)&lt;br /&gt;
** A második blokk vége ez a doksi, úgyhogy ismét kell bele értékelést rakni.&lt;br /&gt;
** A dokumentum kitöltése nagyjából értelemszerű, hasonlít az előző ilyenhez.&lt;br /&gt;
** Tesztelési jegyzőkönyveknél ajánlott nem csak sikereseket belerakni (mindegyik definiált teszthez kell lennie sikeresnek), hanem egy-két hibás is legyen, hogy látszódjon, hogy van értelme a teszteknek, meg az azért valószínű, hogy elsőre úgysem volt hibátlan a kód, és ez látszódjon a dokumentációban is.&lt;br /&gt;
** Teszt bemeneteket ajánlott txt formátumban is mellékelni a beadásnál, mert a tesztelést végző csapatnak nem túl kellemes élmény lehet mindent kézzel beírni.&lt;br /&gt;
** A programnak működnie kell úgy is, hogy a bemenetét szöveg fájlból kapja, azaz parancssorban a mellékelt txt fájlokat beleirányítjuk. (nem fájlbeolvasó függvényekre kell gondolni)&lt;br /&gt;
* &#039;&#039;&#039;9. Grafikus felület specifikációja:&#039;&#039;&#039; (max 30 pont)&lt;br /&gt;
** Java Swing-ben kötelező gondolkozni, JavaFX-et el kell felejteni!&lt;br /&gt;
** Grafikus interfésznél ajánlott szövegesen leírni, hogy a funkciót hogyan képzeljük el, és néhány (akár paint-ben készült) képpel illusztrálni.&lt;br /&gt;
** Felület működési elvénél meg kell fogalmazni, hogy a grafikus megjelenítésért felelős osztályok és a modell osztályok között milyen jellegű kapcsolat van. Alapvetően mindegyik osztályhoz tartozik egy csomagoló/wrapper osztály, amiben a grafikus megjelenítésért felelős kódrészek vannak, de a működésért felelős információk továbbra is a modell osztályban kell maradniuk, azaz az eddig elkészített kódrészekhez nem igazán kell hozzányúlni majd. Alapvetően kétféle megközelítés van: a garfikus rész kérdezi le a modell osztályoktól, hogy hogyan rajzolja ki magát vagy a modell osztályok szólnak, hogy változás történt és rajzold ki magad. A szekvenciáknál az elképzelt elvet be kell mutatni, hogy hogyan fog majd működni, tehát legalább 5-10 diagram kellhet a normális részletezettséghez.&lt;br /&gt;
* &#039;&#039;&#039;10. Grafikus változat beadása:&#039;&#039;&#039; (max 40 pont, min 17 pont)&lt;br /&gt;
** Ezzel együtt kell beadni a kész programot is.&lt;br /&gt;
** Ismét kell bele értékelést írni a tagok hozzájárulásáról.&lt;br /&gt;
* &#039;&#039;&#039;11. Összefoglalás&#039;&#039;&#039; (max 30 pont)&lt;br /&gt;
** A ráfordított munkaórák alapján a korábban megadott százalékokon akár módosíthat a labvez, hogyha úgy látja, hogy a kettő nincs összhangban.&lt;br /&gt;
** A vélemény nem számít bele a kapott jegybe, de azért illik normálisan kitölteni.&lt;br /&gt;
(A leírtakért felelősséget nem vállalok, nálunk ezek az elvek voltak igazak, bár tapasztaltuk, hogy labvezenként kisebb/nagyobb eltérés volt, de nincs rá garancia, hogy nálatok is ezek igazak lesznek. Ajánlott laborra úgy menni, hogy előre megnézitek, hogy mit kell a héten csinálni, és akár az itt felsoroltak segítségével kérdéseket fogalmazzatok meg magatokban, és ezekre a kérdésekre a labvezek egyértelmű választ tudnak adni. Csak a doksiban leírt kék szövegek alapján elég nehéz a doksi elkészítése. Tényleg ajánlott figyelni a labor során, mert kellemetlen, amikor másoktól kell információmorzsákat összeszedni, mert éppenséggel senki sem figyelt kellő mértékben a laboron, vagy mindenki másra emlékszik.)&lt;br /&gt;
&lt;br /&gt;
== Tippek ==&lt;br /&gt;
* [[Szerkesztő:Madbence/Szoftver labor 4 tanácsok | Lennon tanácsai]] a tárgyhoz&lt;br /&gt;
&lt;br /&gt;
== Kedvcsináló ==&lt;br /&gt;
* [[Szoftlab4_Kindergarten_galéria_2006 | Kindergarten Galéria 2006]]&lt;br /&gt;
* [[SzgLab4Galeria2008 | SnakeFarm Galéria 2008]]&lt;br /&gt;
* [[SzgLab4Galeria2010 | Bankrabló Galéria 2010]]&lt;br /&gt;
* [[SzgLab4Galeria2012 | Continuity Galéria 2012]]&lt;br /&gt;
* [[Szoftlab4_AntFarm_galéria | AntFarm Galéria 2013]]&lt;br /&gt;
* [[Szoftlab4_Két_Torony_galéria | Két Torony Galéria 2014]]&lt;br /&gt;
* [[Szoftver projekt laboratórium - Killer sokoban galéria | Killer sokoban galéria 2018]]&lt;br /&gt;
* [[Szoftver projekt laboratórium - Jégmező galéria | Jégmező galéria 2020]]&lt;br /&gt;
* [[Szoftver projekt laboratórium - Aszteroidabányászat galéria | Aszteroidabányászat galéria 2021]]&lt;br /&gt;
* [[Szoftver projekt laboratórium - Sivatagi vízhálózat galéria | Sivatagi vízhálózat galéria 2023]]&lt;br /&gt;
&lt;br /&gt;
{{Lábléc - Mérnök informatikus alapszak 2022}}&lt;br /&gt;
{{Lábléc - Mérnök informatikus alapszak 2014}}&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Sznik%C3%A1k_vizsga_kik%C3%A9rdez%C5%91&amp;diff=206500</id>
		<title>Sznikák vizsga kikérdező</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Sznik%C3%A1k_vizsga_kik%C3%A9rdez%C5%91&amp;diff=206500"/>
		<updated>2025-05-31T14:50:00Z</updated>

		<summary type="html">&lt;p&gt;Kovács Hunor Lajos: forms-al kapcsolatos kérdések eltávolítása&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vissza|Szoftvertechnikák}}&lt;br /&gt;
&#039;&#039; Megjegyzés: A (?) jelölt kérdésekre a válasz nem 100%-ig helyes, amennyiben tudod rá a helyes választ, írd át a helyes megoldásra vagy épp szedd ki a ?-et a kérdésből, ha alapból jó a válasz, ezzel segítve a többiek, és az én munkámat! :) &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{kvízoldal|cím=vizsga felkészítő kikérdező|pontozás=-}}&lt;br /&gt;
&lt;br /&gt;
== .JIT köztes kódot fordítja natív gépi kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET Framework alapú konzol alkalmazások Linuxon is futnak. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET Framework alapú környezetben egy könyvtárat (dll) készítünk. Jelölje meg, mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# A könyvtár kódja könnyen visszafejthető.&lt;br /&gt;
# Lehetőség van a könyvtár egy kulcspár privát tagjával történő digitális aláírására.&lt;br /&gt;
# A könyvtárat semmilyen feltételek mellett nem célszerű központi helyre telepíteni, mert névütközés veszélye áll fent.&lt;br /&gt;
# A könyvtárat semmilyen feltételek mellett nem célszerű központi helyre telepíteni, mert verzióütközés veszélye áll fent.&lt;br /&gt;
# A könyvtárat priváttá tehetjük azáltal, hogy egy kulcspár titkos kulcsával titkosítjuk.&lt;br /&gt;
&lt;br /&gt;
== .NET NuGet csomagok formájában lehet kiegészítő könyvtárakat letölteni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET beépített osztályok legtöbbje szálbiztos. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET környezetben 2 folyamat között kölcsönös kizárás a lock utasítással megvalósítható. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .NET környezetben egy folyamat a kilépéskor bevárja az összes előtér szálat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== .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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
# Control.Invoke&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# WriterLock&lt;br /&gt;
# ReaderLock&lt;br /&gt;
# ReaderWriterLock&lt;br /&gt;
# ExecuterLock&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Lock&lt;br /&gt;
# Synchronized&lt;br /&gt;
# Mutex&lt;br /&gt;
# ManualResetEvet&lt;br /&gt;
# ReaderWriterLock&lt;br /&gt;
# Semaphore&lt;br /&gt;
&lt;br /&gt;
== .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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
&lt;br /&gt;
== .NET több nyelvet is támogat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET Core csak Windowson fut. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET alkalmazásban a .NET &amp;quot;megkerülésével&amp;quot;, 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET nem támogatja a (managed) C++ nyelvet. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET szerelvények (exe, dll) natív gépi kódú utasításokat tartalmaznak. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A .NET több programozási nyelvet is támogat. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A C# delegate objektumok a C függvénypointerek modern megfelelői, ugyanakkor több függvényre is tudnak mutatni/hivatkozni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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). ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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). ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A JIT fordító a C# kódot fordítja IL kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A JIT fordító a köztes kódot fordítja natív gépi kódra. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Singleton tervezési minta célja mindösszesen az, hogy egy adott osztályból egyetlen példányt lehessen létrehozni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Win32 API függvények számos programozói környezetből, pl. .NET alól is elérhetők. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A Win32 API-t jellemzően C# nyelven programozzuk. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,4,9,12|pontozás=-}}&lt;br /&gt;
# Event void SpeedLimitExceededDelegate(int speed, double percent);&lt;br /&gt;
# Delegate void SpeedLimitExceededDelegate(int speed, double percent);&lt;br /&gt;
# Public SpeedLimitExceededDelegate SpeedLimitExceeded;&lt;br /&gt;
# Public event SpeedLimitExceededDelegate SpeedLimitExceeded;&lt;br /&gt;
# Public delegate SpeedLimitExceededDelegate SpeedLimitExceeded;&lt;br /&gt;
# Public event SpeedLimitExceededDelegate SpeedLimitExceeded(int speed, double percent);&lt;br /&gt;
# Public SpeedLimitExceededDelegate SpeedLimitExceeded(int speed, double percent);&lt;br /&gt;
# Public delegate SpeedLimitExceededDelegate SpeedLimitExceeded(int speed, double percent);&lt;br /&gt;
# If (SpeedLimitExceeded != null)&lt;br /&gt;
# If (SpeedLimitExceededDelegate != null)&lt;br /&gt;
# SpeedLimitExceededDelegate(speed, percent);&lt;br /&gt;
# SpeedLimitExceeded(speed, percent)&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}&lt;br /&gt;
# Passzív szűrő által vezérelt&lt;br /&gt;
# Csővezeték által vezérelt&lt;br /&gt;
# Adatnyelő által vezérelt&lt;br /&gt;
# Adatforrás által vezérelt&lt;br /&gt;
# Aktív szűrő által vezérelt&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=7|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=9|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Factory method&lt;br /&gt;
# Abstract method&lt;br /&gt;
# Composite&lt;br /&gt;
# Proxy&lt;br /&gt;
# Observer&lt;br /&gt;
# Adapter&lt;br /&gt;
# Singleton&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A privát .NET szerelvények telepítése egyszerű, csak fel kell másolni a számítógépre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== A szoftverarchitektúra jelentőségét szokás egy kiegyensúlyozott mérleggel is ábrázolni. Mire vonatkozik ez? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# A szoftvernek jól kell működnie (funkcionalitás), de ugyanilyen fontos, hogy legyen jól struktúrált.&lt;br /&gt;
# Az architektúra különböző aspektusainak, úgymint szerkezet, karbantarthatóság, tesztelhetőség egyensúlyban kell lennie.&lt;br /&gt;
# A szoftvert magas szinten alapvetően azonos léptékű modulokra célszerű bontani.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Adja meg mely állítás igaz a kiszolgáló oldali megvalósításra! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,4,5|pontozás=-}}&lt;br /&gt;
# A kiszolgáló oldali kód általában lefordítható, így a hibák egy része már fordításkor kiderül.&lt;br /&gt;
# Ha szüksége van interakcióra a kliens oldallal, akkor kis adatforgalommal, hatékonyan tud kommunikálni.&lt;br /&gt;
# Gyorsabb, mint a kliens oldali, mert nincs szükség interakcióra a klienssel.&lt;br /&gt;
# A kiszolgáló oldali kóddal általában könnyebb böngésző független megvalósítást készíteni.&lt;br /&gt;
# Az alkalmazás futása gyorsabb a kliens oldalihoz képest.&lt;br /&gt;
&lt;br /&gt;
== Adja meg mely állítás igaz a kliens oldali megvalósításra! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3|pontozás=-}}&lt;br /&gt;
# A kliens oldali kód általában lefordítható, így a hibák egy része már fordításkor kiderül.&lt;br /&gt;
# Ha szüksége van interakcióra a kiszolgálóval, akkor kis adatforgalommal, hatékonyan tud kommunikálni.&lt;br /&gt;
# Gyorsabb, mint a kiszolgáló oldali, mert nincs szükség interakcióra a kiszolgálóval.&lt;br /&gt;
# A kliens oldali kóddal általában könnyebb böngésző független megvalósítást készíteni.&lt;br /&gt;
# Az alkalmazás futása gyorsabb a kiszolgáló oldalihoz képest.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, mely egymásba ágyazott zárakat tartalmaz.&amp;lt;code&amp;gt;&amp;lt;br&amp;gt;class Program{&amp;lt;br&amp;gt;static object syncObject = new object();&amp;lt;br&amp;gt;static void Main(string[] args){&amp;lt;br&amp;gt;lock (syncObject) {&amp;lt;br&amp;gt;f();}}&amp;lt;br&amp;gt;static void f(){&amp;lt;br&amp;gt;lock (syncObject) {&amp;lt;br&amp;gt;Console.WriteLine(&amp;quot;Hello!&amp;quot;);}}}&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Az alkalmazás kiírja a &amp;quot;Hello!&amp;quot; szöveget a konzolra.&lt;br /&gt;
# 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).&lt;br /&gt;
# Az f() függvényben a lock utasítás kivételt dob annak érdekében, hogy ne alakuljon ki holtpont.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, melyben a .NET beépített List&amp;lt;T&amp;gt; osztályát használjuk (és nem lehet helyette más osztályt használni).&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;class DataProcessor{&amp;lt;br&amp;gt;List&amp;lt;int&amp;gt; items = new List&amp;lt;int&amp;gt;();&amp;lt;br&amp;gt;static object syncObject = new object();&amp;lt;br&amp;gt;public int GetItem(int index) {&amp;lt;br&amp;gt;lock (syncObject) { return items[index]; }}&amp;lt;br&amp;gt;public void AddItem(int n) {&amp;lt;br&amp;gt;lock (syncObject) { items.Add(n); }}} &amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=3|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# A megoldás szálbiztos (thread safe) és nem tehető triviális módon hatékonyabbá.&lt;br /&gt;
# 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ő.&lt;br /&gt;
# A megoldás szálbiztos (thread safe), de a lock utasítások eltávolításával hatékonyabbá tehető.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet. &amp;lt;code&amp;gt;&amp;lt;br&amp;gt;class Counter{&amp;lt;br&amp;gt;int counter = 0; // *1&amp;lt;br&amp;gt;object syncRoot = new object(); // *2&amp;lt;br&amp;gt;public int GetValue() // *3&amp;lt;br&amp;gt;{&amp;lt;br&amp;gt;lock (syncRoot)&amp;lt;br&amp;gt;{ return counter; }&amp;lt;br&amp;gt;}&amp;lt;br&amp;gt;public void IncreaseCounter(int delta) // *4&amp;lt;br&amp;gt;{&amp;lt;br&amp;gt;lock (syncRoot)&amp;lt;br&amp;gt;{ counter += delta; }}}&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,3|pontozás=-}}&lt;br /&gt;
# A *2 sor elejére nem kell plusszban beírni a static kulcsszót, anélkül is helyes a működés.&lt;br /&gt;
# A kód nem működne megfelelően, ha a *2 sorban a syncRoot típusát int-re cserélnénk.&lt;br /&gt;
# A *3 GetValue() függvényben a lock utasítás eltávolítható (ha legalább 32 bites környezetről van szó).&lt;br /&gt;
# A *4 IncreaseCounter() függvényben a lock utasítás eltávolítható.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet.&amp;lt;code&amp;gt;&amp;lt;br&amp;gt;class ClassA&amp;lt;br&amp;gt;{&amp;lt;br&amp;gt;int counter = 0;&amp;lt;br&amp;gt;List&amp;lt;int&amp;gt; values = new List&amp;lt;int&amp;gt;();&amp;lt;br&amp;gt;public void SetValue (int n) { counter = n; }&amp;lt;br&amp;gt;public void ResetIfGreaterThanZero() { if(counter &amp;gt; 0) counter = 0; }&amp;lt;br&amp;gt;public void Subtract(int n) { counter -= n; }&amp;lt;br&amp;gt;public void AddItem(int n) { values.Add(n); }&amp;lt;br&amp;gt;… további kód&amp;lt;br&amp;gt;}&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt; 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,4|pontozás=-}}&lt;br /&gt;
# SetValue&lt;br /&gt;
# Subtract&lt;br /&gt;
# ResetIfGreaterThanZero&lt;br /&gt;
# AddItem&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;Data Read(){&amp;lt;br&amp;gt;Data data = prevFilter.Read();&amp;lt;br&amp;gt;Data processedData = ProcessedData(data);return processedData; }&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Adatforrás által vezérelt.&lt;br /&gt;
# Adatnyelő által vezérelt.&lt;br /&gt;
# Csővezeték által vezérelt.&lt;br /&gt;
# Aktív szűrő által vezérelt.&lt;br /&gt;
# Passzív szűrő által vezérelt.&lt;br /&gt;
&lt;br /&gt;
== Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;void Write(Data data){&amp;lt;br&amp;gt;Data processedData ProcessData(data);&amp;lt;br&amp;gt;nextFilter.Write(processedData);&amp;lt;br&amp;gt;}&amp;lt;/code&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Adatforrás által vezérelt.&lt;br /&gt;
# Adatnyelő által vezérelt.&lt;br /&gt;
# Csővezeték által vezérelt.&lt;br /&gt;
# Aktív szűrő által vezérelt.&lt;br /&gt;
# Passzív szűrő által vezérelt.&lt;br /&gt;
&lt;br /&gt;
== 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? &amp;lt;br&amp;gt;&amp;lt;p style = &amp;quot;font-family:consolas&amp;quot;&amp;gt;void Run(){ &amp;lt;br&amp;gt; Data data; &amp;lt;br&amp;gt; while(data = inputPipe.Read()){ &amp;lt;br&amp;gt; Data processedData = ProcessedData(data); &amp;lt;br&amp;gt; outputPipe.Write(processedData);}}}&amp;lt;/p&amp;gt; ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Csővezeték által vezérelt.&lt;br /&gt;
# Passzív szűrő által vezérelt.&lt;br /&gt;
# Adatnyelő által vezérelt.&lt;br /&gt;
# Aktív szűrő által vezérelt.&lt;br /&gt;
# Adatforrás által vezérelt.&lt;br /&gt;
&lt;br /&gt;
== 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. &amp;lt;code&amp;gt; &amp;lt;br&amp;gt; IConnection conn = new OracleConnection(); &amp;lt;br&amp;gt;conn.Open(); &amp;lt;br&amp;gt;ICommand cmd = new OracleCommand(&amp;quot;SELECT * FROM Orders&amp;quot;); &amp;lt;br&amp;gt;cmd.ExecuteReader(); &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Proxy&lt;br /&gt;
# Abstract Factory&lt;br /&gt;
# Factory Method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Csak az első tagmondat igaz (+ -)&lt;br /&gt;
# Csak a második tagmondat igaz (- +)&lt;br /&gt;
# Mindkét tagmondat igaz, de a következtetés hamis (+ + -)&lt;br /&gt;
# Mindkét tagmondat igaz és a következtetés is helyes (+ + +)&lt;br /&gt;
# Egyik tagmondat sem igaz (- -)&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}&lt;br /&gt;
# Proxy&lt;br /&gt;
# Repository&lt;br /&gt;
# Strategy&lt;br /&gt;
# Command Processor&lt;br /&gt;
# Snapshot&lt;br /&gt;
# Memento&lt;br /&gt;
# Command&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások .NET szerelvények (assembly) vonatkozásában. Jelölje meg az igaz állításokat. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4|pontozás=-}}&lt;br /&gt;
# Privát szerelvényekből lehet két azonos nevűt egymás mellé telepíteni.&lt;br /&gt;
# Az azonosított szerelvények titkosítottak a kiadó privát kulcsával.&lt;br /&gt;
# Az azonosított szerelvények digitálisan alá vannak írva a kiadó privát kulcsával.&lt;br /&gt;
# A .NET szerelvényekben a kód IL (Intermediate Language) formátumban van, mely telepítéskor vagy első művelethíváskor fordul le gépi kódra.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a .NET szálkezelés/szinkronizáció vonatkozásában. Jelölje meg a helyes állításokat. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4|pontozás=-}}&lt;br /&gt;
# A ManualResetEvent szinkronizációs objektumot tipikusan kölcsönös kizárás megvalósítására alkalmazzuk.&lt;br /&gt;
# A ManualResetEvent objektum set művelete lezárja az objektumot, így a többi szál várakozni kényszerül.&lt;br /&gt;
# Arra várakozni, hogy ManualResetEvent objektum jelzett állapotba kerüljön, az objektum WaitOne műveletével lehet.&lt;br /&gt;
# ManualResetEvent és AutoResetEvent típusú objektumokra ugyanúgy kell várakozni.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a C# események (event) vonatkozásában. Jelölje meg a helyes állításokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,4|pontozás=-}}&lt;br /&gt;
# A C# delegate-ek állnak a működésük hátterében.&lt;br /&gt;
# Adott eseményre feliratkozni a &amp;quot;++&amp;quot; operátorral lehet.&lt;br /&gt;
# Adott eseményre egyszerre egy előfizető iratkozhat fel.&lt;br /&gt;
# Egy osztály több eseményt is publikálhat.&lt;br /&gt;
# Egy esemény tag osztályban való felvételkor az esemény tagváltozó előtt a delegate kulcsszót kell szerepeltetni.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a C# nyelvi eszközökről (property, delegate, event és attribute). Jelölje meg, hogy mely állítások igazak. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4,6,9,10,11,12,14|pontozás=-}}&lt;br /&gt;
# A C# property-k 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.&lt;br /&gt;
# C# eventre feliratkozni az &amp;quot;=&amp;quot; operátorral lehet.&lt;br /&gt;
# C# event tagváltozóra helyes példa a következő: &amp;lt;code&amp;gt;event int CompareDelegate(object a, object b);&amp;lt;/code&amp;gt;&lt;br /&gt;
# C# event tag értéke null abban az esetben, ha nincs az eseményre feliratkozó.&lt;br /&gt;
# A C# attribútumok definiálásakor egy get és egy set blokkot adunk meg, melyek az attribútum lekérdezésekor, illetve beállításakor hívódnak meg (nem kötelező mindkettőt megadni).&lt;br /&gt;
# C# delegate objektumot át lehet adni függvényparaméterként is.&lt;br /&gt;
# C# delegate típus definícióra szintaktikailag helyes példa a következő: &amp;lt;code&amp;gt;event int CompareDelegate(object a, object b);&amp;lt;/code&amp;gt;&lt;br /&gt;
# C# event események vonatkozásában a -= operátor valamennyi előfizetőt leiratkoztat.&lt;br /&gt;
# Egy delegate objektum/változó több metódusra is hivatkozhat.&lt;br /&gt;
# A C# attribútumok 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.&lt;br /&gt;
# C# eventre feliratkozni a &amp;quot;+=&amp;quot; operátorral lehet.&lt;br /&gt;
# C# delegate típus definícióra szintaktikailag helyes példa a következő: &amp;lt;code&amp;gt;delegate int CompareDelegate(object a, object b);&amp;lt;/code&amp;gt;&lt;br /&gt;
# C# események elsütésekor a beregisztrált eseménykezelő függvények a hatékonyság érdekében külön szálakon hívódnak meg.&lt;br /&gt;
# Egy osztály több eseményt is publikálhat.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4,5|pontozás=-}}&lt;br /&gt;
# A Document-View architektúrában a Controller osztály feladata a felhasználói interakciók kezelése.&lt;br /&gt;
# A Document-View architektúrában a dokumentumban külön tagváltozót vezetünk be minden egyes nézetre.&lt;br /&gt;
# A Document-View architektúrában a dokumentumnak van egy vagy több olyan művelete, mellyel az állapotát a nézetek bármikor le tudják kérdezni.&lt;br /&gt;
# A Document-View architektúrában a nézetnek van egy hivatkozása a dokumentumára.&lt;br /&gt;
# A dokumentumnak van egy listája a beregisztrált nézeteire.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a Memento tervezési mintával kapcsolatban. Jelölje meg a helyes válaszokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,6,7|pontozás=-}}&lt;br /&gt;
# A 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 a Memento állapotát állítja.&lt;br /&gt;
# A 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.&lt;br /&gt;
# A 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.&lt;br /&gt;
# A mintában a CareTaker Originator objektumokat tárol.&lt;br /&gt;
# A mintában az Originator osztályt becsomagoljuk egy Memento objektummal, a Memento tárolja az Originator állapotát.&lt;br /&gt;
# A minta elérhetővé teszi a külvilág számára az objektum belső állapotát az egységbezárás megsértése nélkül (vagyis anélkül, hogy publikussá tennénk az állapotát.)&lt;br /&gt;
# A mintát használhatjuk az Undo funkció megvalósítására.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a Strategy tervezési mintával kapcsolatban. Jelölje meg, mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,5|pontozás=-}}&lt;br /&gt;
# A minta globális függvénypointereket vezet be annak érdekében, hogy a kliens szemszögéből az általa használt algoritmusok szabadon kicserélhetőek legyenek.&lt;br /&gt;
# A minta lehetővé teszi, hogy egy adott osztály viselkedésének különböző aspektusai paraméterezhetőek legyenek. Mindezt elsődlegesen úgy éri el, hogy magából az osztályból számos leszármazottat vezet be (minden viselkedés kombinációhoz egyet).&lt;br /&gt;
# A minta lehetővé teszi, hogy egy adott osztály viselkedésének különböző aspektusai paraméterezhetőek legyenek. Mindezt úgy, hogy minden aspektushoz egy osztályhierarchiát vezet be.&lt;br /&gt;
# A mintában a Context (vagy Client) osztályban van egy vagy több mutató/referencia, mely típusa egy vagy több konkrét algoritmus implementáció.&lt;br /&gt;
# A mintában a Context (vagy Client) osztályban van egy vagy több mutató/referencia, mely típusa egy vagy több algoritmus interfész/absztrakció.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások a kétrétegű, valamint a háromrétegű architektúrával kapcsolatban! Jelölje meg, mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3,4|pontozás=-}}&lt;br /&gt;
# A kétrétegű architektúrát ma már soha nem használjuk a háromrétegű architektúra előnyei miatt.&lt;br /&gt;
# A kétrétegű architektúra lehetővé teszi, hogy adott üzleti logikához egyszerűen készítsünk különböző frontend alkalmazásokat, úgy mint desktop, web, mobil.&lt;br /&gt;
# A háromrétegű architektúra lehetővé teszi, hogy adott üzleti logikához egyszerűen készítsünk különböző frontend alkalmazásokat, úgy mint desktop, web, mobil.&lt;br /&gt;
# A háromrétegű architektúra előnye a kétrétegűvel szemben, hogy az adatbázis sémája a kliensalkalmazástól függetlenül egyszerűbben átszervezhető.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások az Observer tervezési mintával kapcsolatban. Jelölje meg, mely állítások igazak. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# A minta az egyes subject típusoknak bevezet egy ősosztályt, melynek szerepe többek között az, hogy tárolja a beregisztrált observereket.&lt;br /&gt;
# A minta az egyes observer típusoknak bevezet egy ősosztályt (vagy interfészt), melynek szerepe, hogy a subject számára egységessé tegyék az egyes observer típusok kezelését.&lt;br /&gt;
# Az observer implementációkból egy dependency (függőség) kapcsolat mutat a konkrét subject osztály irányába.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások különböző tervezési mintákkal kapcsolatban! Jelölje meg a helyes állításokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# A Proxy tervezési mintában a Proxy objektum egy transzparens csomagoló az eredeti objektum körül, mely szabályozhatja az eredeti objektumhoz való hozzáférést.&lt;br /&gt;
# Az Adapter minta - pontosabban annak Object Adapter változata - az objektum becsomagolásával teszi lehetővé, hogy az objektum interfésze kompatibilis legyen azzal, amit a kliens/környezete elvár.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,4,5,6,7|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# Az Adapter tervezési mintában az Adapter osztály a Target osztályból származik (vagy a Target interfészt implementálja).&lt;br /&gt;
# Az Adapter minta Object Adapter változatában a Adaptee implementálja a Target interfészt (vagy a Target osztályból származik).&lt;br /&gt;
# Az Adapter tervezési mintában (legalábbis annak object adapter változatában) az Adapter (adaptáló) osztály – amennyibe lehetősége van rá – továbbítja (delegálja) a kéréseket az Adaptee (adaptálandó) osztálynak.&lt;br /&gt;
# Bár az Adaptert tervezési mintának tekintik, valójában ez egy idióma, mert csak egy adott programozási nyelv kontextusában (Java) használatos.&lt;br /&gt;
# A minta lehetővé teszi olyan osztályok együttműködését, melyek egyébként az inkompatbilis interfészeik miatt nem tudnának együttműködni.&lt;br /&gt;
# Az Adapter mintában - pontosabban annak Object Adapter változatában - az Adapter osztály tartalmaz egy mutatót vagy referenciát az adaptálandó (Adaptee) osztályra. Az Adapter osztály a műveleteinek megvalósításában felhasználja az adaptálandó (Adaptee) osztály szolgáltasait.&lt;br /&gt;
&lt;br /&gt;
== Adottak az alábbi állítások különböző tervezési mintákkal kapcsolatban. Jelölje meg, mely állítások igazak. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,3,4,5|pontozás=-}}&lt;br /&gt;
# A Document-View architektúra az Observer tervezési minta egy speciális alkalmazása.&lt;br /&gt;
# A Document-View architektúra a Composite tervezési minta egy speciális alkalmazása.&lt;br /&gt;
# Az Adapter minta lehetővé teszi olyan osztályok együttműködését, melyek egyébként az inkompatbilis interfészeik miatt nem tudnának együttműködni.&lt;br /&gt;
# Az Adapter mintában - pontosabban annak Object Adapter változatában - az Adapter osztály tartalmaz egy mutatót vagy referenciát az adaptálandó (Adaptee) osztályra. Az Adapter osztály a műveleteinek megvalósításában felhasználja az adaptálandó (Adaptee) osztály szolgáltatásait.&lt;br /&gt;
# A felhasználói interakciókat a View osztály kezeli.&lt;br /&gt;
# A nézethez tipikusan több dokumentum tartozik.&lt;br /&gt;
&lt;br /&gt;
== Amikor egy AutoResetEvent objektum jelzett lesz, a rá várakozó szálak közül csak 1 futhat tovább. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Az AutoResetEvent osztályt jellemzően arra használjuk, hogy hatékonyan tudjunk várakozni más szál jelzésére. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,3,4,5|pontozás=-}}&lt;br /&gt;
# .NET platformra lehet C++ nyelven is fejleszten.&lt;br /&gt;
# .NET környezetben az objektumok azonnal felszabadulnak, amint az utolsó hivatkozás is megszűnik rájuk.&lt;br /&gt;
# A .NET futtatókörnyezet rövid neve: CLR.&lt;br /&gt;
# Egy alkalmazás több szerelvényből is állhat.&lt;br /&gt;
# A dinamikusan lefoglalt memória felszabadítása nem a fejlesztő feladata.&lt;br /&gt;
# Az elterjedtebb processzorok képesek a köztes (IL) kódot közvetlenül futtatni.&lt;br /&gt;
# A C# kódot a JIT compiler fordítja köztes (IL) kódra.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Név, fejlesztő cég privát kulcsa, verzió, opcionális kultúra információ&lt;br /&gt;
# Név, fejlesztő cég nyilvános kulcsa, verzió, opcionális kultúra információ&lt;br /&gt;
# Név, verzió, pcionális kultúra információ&lt;br /&gt;
# Név, fejlesztő cég nyilvános kulcsa, verzió, digitális aláírás, opcionális kultúra információ&lt;br /&gt;
&lt;br /&gt;
== Az alábbiak közül melyik definiálja a legjobban a klasszikus DLL hell problémát? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=3|pontozás=-}}&lt;br /&gt;
# Egy alkalmazás telepítésekor hiányzik egy vagy több DLL a célkörnyezetben, mely szükséges lenne az alkalmazás futásához, így az alkalmazás nem működik megfelelően (mert a szükséges DLL-ek telepítéséről a felhasználó nem gondoskodott).&lt;br /&gt;
# Egy alkalmazás telepítésekor felteszi a célkörnyezetbe az általa használt DLL-eket egy közös mappába. Ezeket a DLL-eket további alkalmazások is használják, melyek közül az egyik eltávolításakor (uninstall) a DLL-ek egy része eltávolításra kerül, így az alkalmazásunk működésképtelenné válik.&lt;br /&gt;
# Egy alkalmazás telepítésekor felteszi a célkörnyezetbe az általa használt DLL-eket egy közös mappába. Később, egy másik alkalmazás a telepítésekor felülírja a korábban telepített alkalmazás egyik DLL-jét egy másik verzióval. A korábban telepített alkalmazás ezzel az újonnan telepített DLL-lel nem működik megfelelően.&lt;br /&gt;
# Egy alkalmazás telepítésekor felülírja az operációs rendszer bizonyos DLL-jeit, mely következtében az operációs rendszer instabillá válik.&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== Azonosított .NET szerelvényekből lehet két ugyanolyan nevű telepítve egy számítógépre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== C# nyelven az &amp;quot;@attribútumnév&amp;quot; szintaktikával lehet deklaratívan annotációkat osztályokhoz fűzni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== C# nyelven egy eseményre kötelező legalább egy előfizetőt beregisztrálni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Destroy&lt;br /&gt;
# Discard&lt;br /&gt;
# Dispose&lt;br /&gt;
# Using blokk&lt;br /&gt;
# Finalize&lt;br /&gt;
# Destruktor&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# A Composite osztálynak van egy Component gyűjteménye.&lt;br /&gt;
# A Component osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból.&lt;br /&gt;
# A Component osztálynak van egy közös gyűjteménye (heterogén kollekció) Composite és Leaf objektumokból.&lt;br /&gt;
# A Composite osztálynak van egy gyűjteménye Component, valamint egy másik gyűjteménye Leaf objektumokból.&lt;br /&gt;
# A Client osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból.&lt;br /&gt;
&lt;br /&gt;
== Egy .NET alkalmazásban a .NET &amp;quot;megkerülésével&amp;quot;, közvetlenül a Win32 API használatával erőforrásokat foglalunk egy osztályunkban (pl. Fájlt nyitunk meg). Milyen műveletet/műveleteket írunk ilyen esetben? Több válasz is megadható! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4|pontozás=-}}&lt;br /&gt;
# Deadlock&lt;br /&gt;
# Lock&lt;br /&gt;
# Thread-pool&lt;br /&gt;
# Dispose&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy 32 bites számmal történő egyszerű értékadás .NET környezetben mindig atomi. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy C# eseményre feliratkozni az = operátorral lehet. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Egy Win32 üzenet billentyűlenyomás esetén tartalmazza a lenyomott billentyű kódját. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Factory method&lt;br /&gt;
# Abstract method&lt;br /&gt;
# Composite&lt;br /&gt;
# Proxy&lt;br /&gt;
# Observer&lt;br /&gt;
# Adapter&lt;br /&gt;
# Singleton&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=6|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== Egy alkalmazáson belül a Windows üzenetek feldolgozása párhuzamos. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Factory method&lt;br /&gt;
# Abstract method&lt;br /&gt;
# Composite&lt;br /&gt;
# Proxy&lt;br /&gt;
# Observer&lt;br /&gt;
# Adapter&lt;br /&gt;
# Singleton&lt;br /&gt;
# Strategy&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Csak az első tagmondat igaz (+ -)&lt;br /&gt;
# Csak a második tagmondat igaz (- +)&lt;br /&gt;
# Mindkét tagmondat igaz, de a következtetés hamis (+ + -)&lt;br /&gt;
# Mindkét tagmondat igaz és a következtetés is helyes (+ + +)&lt;br /&gt;
# Egyik tagmondat sem igaz (- -)&lt;br /&gt;
&lt;br /&gt;
== Egy nem statikus változót célszerű statikus lockkal (osztályszintű zárral) védeni, mert ez hatékonyabb megoldást jelent. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Composite&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Adapter&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== Egy változó növelése .NET környezetben atomi. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Feladatunk egy .NET alkalmazásban Oracle adatbázisban bizonyos rekordok módosítása. Mi(k)re van ehhez szükség? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=4,6,7|pontozás=-}}&lt;br /&gt;
# SQLCommand&lt;br /&gt;
# SQLDataReader&lt;br /&gt;
# SQLConnection&lt;br /&gt;
# OracleConnection&lt;br /&gt;
# OracleDataReader&lt;br /&gt;
# OracleCommand&lt;br /&gt;
# Try/finally vagy using blokk&lt;br /&gt;
&lt;br /&gt;
== 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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=8|pontozás=-}}&lt;br /&gt;
# Prototype&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Composite&lt;br /&gt;
# Abstract factory&lt;br /&gt;
&lt;br /&gt;
== 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. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== 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.(?) ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== IL-t könnyű visszafejteni. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Jelöje meg, hogy a .NET Framework esetében mely állítások igazak! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,4,5|pontozás=-}}&lt;br /&gt;
# Az alábbi forgatókönyv a klasszikus DLL hell probléma legjellemzőbb esetének jó definíciója: egy alkalmazás telepítésekor hiányzik egy vagy több DLL a célkörnyezetben, mely szükséges lenne az alkalmazás futásához, így az alkalmazás nem működik megfelelően (mert a szükséges DLL-ek telepítéséről a felhasználó nem gondoskodott).&lt;br /&gt;
# A .NET IL kód processzor-és architektúrafüggetlen.&lt;br /&gt;
# A .NET IL kód nagyon hatékony, mert a processzorok közvetlenül tudják futtatni.&lt;br /&gt;
# Az azonosított (erős névvel aláírt) szerelvények lehetővé teszik, hogy a több kiadó/fejlesztőcég azonos fájlnévvel és azonos verzióval telepítsen .NET szerelvényeket.&lt;br /&gt;
# A privát szerelvényeket egyszerűbb telepíteni, mint az azonosított szerelvényeket.&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg a helyes választ! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=1|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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&lt;br /&gt;
# A Proxy tervezési minta lehetővé teszi az egymással nem kompatibilis objektumok együttműködését.&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg, mely állítások igazak a Pipes and Filters architektúrára. ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2|pontozás=-}}&lt;br /&gt;
# Egyik előnye, hogy a filterek tetszőlegesen kombinálhatók.&lt;br /&gt;
# Egyik előnye a párhuzamos feldolgozás lehetősége (aktív szűrők esetén).&lt;br /&gt;
# Adatnyelő által vezérelt architektúra esetén a szűrő egy ciklusban dolgozza fel a bemenetére érkező adatokat.&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg, mely állítások igazak a szálkezelésre .NET környezetben! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,5,6|pontozás=-}}&lt;br /&gt;
# A ManualResetEvent osztályt jellemzően arra használjuk, hogy adott erőforrás elérésére vonatkozó kölcsönös kizárást valósítunk meg a segítségével.&lt;br /&gt;
# A ManualResetEvent osztályt jellemzően arra használjuk, hogy hatékonyan tudjunk várakozni más szál jelzésére.&lt;br /&gt;
# A Mutex előnye a lock utasítással szemben, hogy különböző folyamatok szálai között is használható.&lt;br /&gt;
# Az x++ művelet .NET környezetben atomi (és így szálbiztos), ha az x típusa int (32 bites).&lt;br /&gt;
# A ReaderWriterLock használata akkor célszerű használni kölcsönös kizárásra, ha a védett erőforrást gyakran olvassuk és ritkán írjuk.&lt;br /&gt;
# Az x=10 művelet .NET környezetben atomi (és így szálbiztos), ha az x típusa int (32 bites).&lt;br /&gt;
&lt;br /&gt;
== Jelölje meg, mely állítások igazak az alábbiak közül! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2|pontozás=-}}&lt;br /&gt;
# A JIT compiler fordítja a forrásfájlokat - pl. A .cs állományokat - IL (Intermediate Language) kódra.&lt;br /&gt;
# Az IL (Intermediate Language) kódot könnyű visszafejteni.&lt;br /&gt;
# .NET környezetben az adott nyelvhez tartozó fordító (compiler) kimenete forrásfájlonként egy .obj kiterjesztésű fájl. Mely IL (Intermediate Language) kódot tartalmaz. A .obj kiterjesztésű fájlokat a linker fűzi össze egy .exe vagy .dll kiterejesztésű állománnyá, mely natív hardverfüggő gépi kódot tartalmaz, majd ezeket a .exe és .dll állományokat telepítjük a célkörnyezetbe.&lt;br /&gt;
# C# támogatja a többszörös öröklést.&lt;br /&gt;
&lt;br /&gt;
== Melyek a Singleton tervezési minta megvalósításának kellékei? Jelölje meg a helyes válaszokat! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3,6|pontozás=-}}&lt;br /&gt;
# Globális változó&lt;br /&gt;
# Statikus tagváltozó&lt;br /&gt;
# Statikus metódus vagy statikus property&lt;br /&gt;
# Virtuális metódus&lt;br /&gt;
# Absztrakt metódus&lt;br /&gt;
# Védett konstruktor&lt;br /&gt;
# Védett destruktor&lt;br /&gt;
# Globális pointer vagy referencia&lt;br /&gt;
&lt;br /&gt;
== Mi a Composite tervezési minta elsődleges célja? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
== Mi a tervezési minták egyik elsődleges célja? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Adott funckionalitás legkevesebb kóddal történő megvalósítása.&lt;br /&gt;
# A kód újrafelhasználhatóságának elősegítése.&lt;br /&gt;
# Adott üzleti problémák jól érthető modellezése.&lt;br /&gt;
# Jobb teljesítményű kód írása.&lt;br /&gt;
# A valóság minél érthetőbb modellezése.&lt;br /&gt;
&lt;br /&gt;
== Mi az Observer tervezési minta elsődleges célja? Jelölje meg a helyes választ! ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=4|pontozás=-}}&lt;br /&gt;
# Lehetővé teszi a felhasználói eseményekre való reagálást.&lt;br /&gt;
# Lehetővé teszi, hogy egy dokumentum nézetei értesüljenek a dokumentum változásáról.&lt;br /&gt;
# Lehetővé teszi objektumok könnyű megfigyelését az objektumok becsomagolásával.&lt;br /&gt;
# 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.&lt;br /&gt;
# Lehetővé teszi algoritmusok folyamatának (progress) monitorozását.&lt;br /&gt;
&lt;br /&gt;
== Miben segítenek a tervezési minták? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,2,4|pontozás=-}}&lt;br /&gt;
# Rendszer karbantarthatóság és módosíthatóság elősegítése.&lt;br /&gt;
# A kód újrafelhasználhatóságának elősegítése.&lt;br /&gt;
# Adott üzleti problémák jól érthető modellezése.&lt;br /&gt;
# Nem maguktól értetődő kódok megtalálása.&lt;br /&gt;
# A valóság minél érthetőbb modellezése.&lt;br /&gt;
&lt;br /&gt;
== Milyen lépéseket tartalmaz jellemzően egy meglévő modális dialógusablak használata? ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,5,6|pontozás=-}}&lt;br /&gt;
# A dialógusablakon levő vezérlők közvetlen inicializálása.&lt;br /&gt;
# A dialógusablak visszatérésének (DialogResult) vizsgálata.&lt;br /&gt;
# A dialógusablakon levő vezérlők inicializálása property-k (tulajdonságok) segítségével.&lt;br /&gt;
# MessageBox megjelenítés.&lt;br /&gt;
# Dialógusablak megjelenítése.&lt;br /&gt;
# Dialógusablak példányosítása.&lt;br /&gt;
# Időzítő felparaméterezése.&lt;br /&gt;
&lt;br /&gt;
== ReaderWriterLock osztály lehetővé teszi, hogy egy erőforrást több szál is írjon egyszerre. ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=2|pontozás=-}}&lt;br /&gt;
# Igaz&lt;br /&gt;
# Hamis&lt;br /&gt;
&lt;br /&gt;
== Ö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? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=5|pontozás=-}}&lt;br /&gt;
# Lock&lt;br /&gt;
# Synchronized&lt;br /&gt;
# StartCoordinator&lt;br /&gt;
# AutoResetEvent&lt;br /&gt;
# Mutex&lt;br /&gt;
# Singleton&lt;br /&gt;
# ThreadPool&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=1,3|pontozás=-}}&lt;br /&gt;
# Feltéve, hogy adott egy Circle osztály és annak egy int típusú Radius tulajdonsága (property), valamint a Circle osztály egy circle nevű példánya/objektuma, akkor a tulajdonság lekérdezése pl. az int n = circle.Radius; formában lehetséges.&lt;br /&gt;
#  Egy C# attribútum alkalmazásakor az attribútum neve elé a @ karaktert kell tenni.&lt;br /&gt;
# A C# attribútumok 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.&lt;br /&gt;
# Egy C# property (tulajdonság) bevezetésekor mindig be kell vezetni egy tagváltozót is az osztályban, melyben a property értéke tárolásra kerül.&lt;br /&gt;
&lt;br /&gt;
== 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! ==&lt;br /&gt;
{{kvízkérdés|típus=több|válasz=2,3|pontozás=-}}&lt;br /&gt;
#  Amikor egy AutoResetEvent objektum jelzett állapotba kerül, valamennyi rá várakozó szál tovább futhat.&lt;br /&gt;
# .NET környezetben egy folyamat (processz) akkor áll le, ha az összes előtérszála leáll.&lt;br /&gt;
# Egy változó növelése a ++ operátorral nem szálbiztos (nem thread safe).&lt;br /&gt;
&lt;br /&gt;
== A feladat fájlrendszerbeli mappák és bennük levő fájlok nyilvántartása egy adott objektumstrukturában. Az egyes fájlokról a nevüket és a méretüket, valamint a mappákra a nevüket kell nyilvántartani (memóriában). Elegáns megoldást szeretnénk a következőre: Mappa tartalmának listázásakor a mappában levő fájlok és a közvetlen benne levő mappák nevét és méretét kell kiírni a konzolra. Az előző pontban, amikor egy mappa méretét írjuk ki a konzolra, akkor a mappa összméretét kell kiírni, melybe valamennyi - a hierarchiában tetszőlegesen mélységben levő - almappájában levő fájlok mérete is beleszámolódik. Mely tervezési minta biztosít a fentiekre elegáns megoldást? ==&lt;br /&gt;
{{kvízkérdés|típus=egy|válasz=8|pontozás=-}}&lt;br /&gt;
# Prototype&lt;br /&gt;
# Memento&lt;br /&gt;
# Observer&lt;br /&gt;
# Strategy&lt;br /&gt;
# Singleton&lt;br /&gt;
# Proxy&lt;br /&gt;
# Factory method&lt;br /&gt;
# Composite&lt;br /&gt;
# Abstract factory&lt;/div&gt;</summary>
		<author><name>Kovács Hunor Lajos</name></author>
	</entry>
</feed>