Programozás .Net-ben

67 flashcardsby Szatyi
Study these flashcardsFree · spaced repetition · iPhone, Android, Mac & web

All cards

1
Nagyon sok elem feldolgozására van szükség. Minden elemen egy komplx számítást kell
ehhez elvégezni. Melyik technikát alkalmazná?
  • Minden elemre egy Task létrehozása, majd megvárni, míg minden Task befejeződik.
  • Parallel.For használatával a feldolgozást párhuzamosítani.
  • Async/await használatával a feldolgozást párhozamosítani.
  • Minden elem hozzáadása egy BlockingCollection-höz, majd ezt a Thread osztály segítégével
    létrehozott szálon feldolgozni.
2
Egy komplex lekérdezést kell létrehozni, amihez rendezésre nincs szükség, de jó lenne
párhozamosan futtatni. Melyik metódus használható?
  • AsParallel
  • AsSequential
  • AsOrdered
  • WithDegreeOfParallelism
3
Egy ASP.NET alkalmazáson dolgozik, mely a tervek szerint egy másik webszervertől kér
adatokat, majd a választ adatbázisban rögzíti. Használható ilyen esetben az async/await?
  • Nem, mivel mindkét művelet külső tényezőkön múlik. Meg kell várni, míg befejeződnek.
  • Nem, szerveroldalon nem szükséges async/await használata. Ez csak a kliens reszponzivitását
    szolgálná.
  • Igen, ez által a szál felszabadul és más műveletek végezhetőek, míg I/O műveletek befejezésére vár
  • Igen, ez által a szál futása megszakad, alvó módba kerül, hogy I/O várakozás közben ne használjon
    felesleges processzoridőt.
4
Hozzáférés-szinkronizációt szeretnénk végezni lock segítségével. Melyik attribútum
használható?
  • this
  • string _lock = “mylock”
  • int _lock = 42;
  • object _lock = new object();
5
Szeretnénk megszakítani egy hosszan futó taszkot. Melyik objektumot kell átadnunk?
  • CancellationTokenSource
  • CancellationToken
  • Boolean isCancelled változót
  • Volatile
6
Többszálon működő osztály segítségével állapotgépet valósítunk meg. Meg kell állapítani,
hogy mi az aktuális állapot és minden lépésben át kell állítani az újra. Melyik metódust célszerű
alkalmazni?
  • Volatile.Write(ref currentState)
  • Interlocked.CompareExchange(ref currentState, ref newState, expectedState)
  • Interlocked.Exchange(ref currentState, newState)
  • Interlocked.Decrement(ref newState)
7
Végig kell iterálni egy kollekción, melynek elemszáma ismert. Bizonyos elemeket el kell
távolítani a kollekcióból. Melyik parancsot használná?
  • Switch
  • Foreach
  • For
  • Goto
8
Az alkalmazásban sok null-ellenőrzés van. Azonban ha az érték nem null, egy metódust
szeretnénk meghívni. Cél a kód egyszerűsítése. Melyik technikát alkalmazná?
  • For
  • Feltételes operátor
  • Null-egyesítő operátor
  • És operátor rövidzárlati viselkedése használható
9
Hálózaton keresztól érkező adatokat kell feldolgozni. Ennek során a HasNext és a Read
metódusokat használjuk. Minden elemen valamilyen kódot kell futtatni. Melyik parancs használható?
  • For
  • Foreach
  • While
  • Do-while
10
Adott egy privát metódus egy osztályban és szeretnénk lehetővé tenni ennek meghívását
bizonyos hívóknak. Melyik megoldás lehet helyes?
  • Metódus publikussá tétele
  • Egy esemény segítségével külső felhasználók is értesíthetőek, amikor a metódus meghívásra kerül.
  • Egy új metódus létrehozása, mely egy delegátumot ad az azonosított hívóknak.
  • A privát metódust lambda kifejezéssé kell alakítani.
11
Egy esemény került definiálásra az osztályon és szeretnénk ezt az eseményt külső helyről
kezdeményezhetővé tenni. Mit csinálhatunk?
  • Az eseményt publikussá tesszük.
  • Hozzáadunk egy publikus metódust, amely meghívja az eseményt.
  • Esemény helyett publikus delegátumot kell használni.
  • A hozzáférést egyedi metódussal kell szabályozni külső hívók számára.
12
Adott egy multicast delegátum több feliratkozóval. A cél annak biztosítása, hogy minden
feliratkozó értesítést kapjon, még akkor is, ha közben kivétel keletkezik. Melyik megoldás helyes?
  • Az események manuális indítása GetInvocationList segítségével.
  • Az esemény kezdeményezését try/catch blokkba foglaljuk.
  • Nincs mit tenni, ezt a helyzetet el kell fogadni.
  • A feliratkozókat kell módosítani, hogy kivételek helyett true/false visszatérésük legyen.
13
Adott egy metódus, melynek bemenő paramétereit ellenőrizzük meg nem engedett null
értékek miatt. Ha egy ilyet találunk, melyik kivételt célszerű dobni?
  • ArgumentException
  • InvalidOperationException
  • NullReferenceException
  • ArgumentNullException
14
A megírt kódunk elkap egy IOException-t, amikor egy fájlhoz nem tudunk hozzáférni. A cél a
hívó számára több információ biztosítása. Mit tehetünk?
  • A kivétel message paraméterének megváltoztatása után a kivételt tovább dobjuk
  • Egy új kivételt dobunk egyedi szöveggel, melyben az InnerException egy IOException.
  • Egy új kivételt dobunk egyedi szöveggel és több információval.
  • Thorw segítségével újra dobjuk a kivételt, a hívási hierarchia megőrzésével.
15
A cél egy egyedi kivétel létrehozása LogonFailedException néven. Melyik konstruktor muszáj
hozzáadni?
  • LogonFailed()
  • LogonFailed(string message)
  • LogonFailed(string message, Exception innerException)
  • LogonFailed(Exception innerException)
16
Egy új kollekció-típus készítése közben biztosítani kell, hogy annak elemei könnyen
hozzáférhetőek legyenek. Mit kell a típushoz adni?
  • Konstruktor
  • Indexelő tulajdonság
  • Generikus típus paraméter
  • Statikus tulajdonság
17
Olyan generikus osztály készítése a cél, mely csak referencia-típusokkal működik. Melyik
típus-megszorítást kell hozzáadni?
  • where T : class
  • where T : struct
  • where T : new()
  • where T : IDisposable
18
Egy metódus egyik bemenő paramétere egy struktúra. A metódus ez értéket megváltoztatja,
de visszatérése után a változó változatlan. Mi történhetett?
  • A változó átadás előtt nem volt inicializálva.
  • Érték-típus értéke nem változhat meg metóduson belül.
  • Érték típus átadása másolatkészítéssel jár; az eredeti változatlan marad.
  • A metódus nem adta vissza a változtatásokat.
19
Új osztályt készítünk Távolság néven. A cél a double típusba való konverzió megkönnyítése.
Mely rész adandó hozz?
  • Semmi, ez minden nélkül is lehetséges.
  • Implicit cast operátor.
  • Explicit cast operátor
  • Statikus Parse metódus.
20
Cél annak kiderítése, hogy egy adott objektum leszármazottja egy adott osztálynak. Mely
megoldások használhatóak?
  • as operátor
  • implicit cast
  • is operátor
  • a dynamic kulcsszó
21
Egy ArrayList-ben szeretnénk tárolni s Pont nevű struktúra példányait. Hatalmas elemszám
esetén teljesítményproblémák adódnak. Mi a teendő?
  • ArrayList helyett generikus kollekciót kell használni.
  • A Pont referencia-típussá alakítása.
  • Implicit konverziót kell lehetővé tenni a Pont és object között.
  • A kollekció típusa dynamic kell legyen.
22
Milyen láthatóságot kell definiálni ahhoz, hogy egy metódus az osztályban csak az azonos
assembly-ben elhelyezett, leszármazott osztályok által legyen hozzáférhető?
  • Megoldás az osztályon public, a metóduson public alkalmazása.
  • Megoldás az osztályon public, a metóduson protected alkalmazása.
  • Megoldás az osztályon internal, a metóduson internal alkalmazása.
  • Megoldás az osztályon internal, a metóduson protected alkalmazása.
23
Szükség van adatok hozzáférhetőségének biztosítására egy osztályban. Ennek az adattagnak
olvashatónak kell lenni a többi típusból, de változtathatónak csak a tartalmazó leszármazottaiból.
Melyik megoldás javasolható?
  • protected mező használata
  • publikus tulajdonság, protected set kiegészítéssel
  • protected tulajdonság
  • protected tulajdonság, publikus get kiegészítéssel
24
Adott egy osztály, mely két interfészt is megvalósít, ám mindkettőben definiálva van egy
azonos nevű metódus. IA interfész kellen, hogy az alapértelmezett legyen. IB csak különleges
esetekre szolgál. Hogyan valósítja meg az interfészeket?
  • IA implicit megvalósítása, IB explicit megvalósítása.
  • Mindkettő explicit megvalósítása.
  • Mindkettő implicit megvalósítása.
  • IA explicit megvalósítása, IB implicit megvalósítása
25
Osztályhierarchiát szeretne képezni, mert adott némi implementációs kód, amit meg kellene
osztani több típus között. Ugyanígy adott néhány metódus-szignatúra, mely megosztandó. Mit
célszerű tenni?
  • Interfész használata
  • Osztály virtuális metódusokkal
  • Absztrakt osztály készítése
  • Sealed (zárt) osztály használata
26
A cél egy olyan osztály készítése, mely könnyedén rendezhető. Melyik interfész
megvalósítása célszerű?
  • IEnumerable
  • IComparable
  • IDisposable
  • IUnknown
27
Egy már meglévő osztályból szeretnénk örököltetni, és más viselkedést rendelni egy
metódushoz. Mely lépések ajánlhatóak?
  • Abstract kulcsszó használata az ősosztályon
  • Virtual kulcsszó használata az ősosztály metódusán
  • New kulcsszó használata a leszármazott osztály metódusán
  • Override kulcsszó használata a leszármazott osztály metódusán
28
Szeretnénk beolvasni egy private mező értékét az osztályon? Melyekre van szükség
(BindingFlags)?
  • Instance
  • DeclaredOnly
  • Static
  • NonPublic
29
Olyan Attribute létrehozása a cél, mely többször alkalmazható, metódusra és paraméterre
egyaránt. Melyik szintaxis helyes?
  • [AttributeUsage(AttributeTargets.GenericParameter | AttributeTargets.Method,AllowMultiple =
    true)]
  • [AttributeUsage(AttributeTargets.Method | AttributeTargets.Parameter, AllowMultiple = true)]
  • [AttributeUsage(AttributeTargets.All)]
  • [AttributeUsage(AttributeTargets.Method | AttributeTargets.Parameter)]
30
Cél olyan delegátum készítése, mely képes string listát szűrni, adott értékre. Melyik típus
használata ajánlható?
  • Action<bool, IEnumerable<string>>
  • Func<IEnumerable<string>, IEnumerable<string>>
  • Func<string, IEnumerable<string>, IEnumerable<string>>
  • Func<IEnumerable<string>>
31
Teljesítmény-érzékeny kódrész futása következne. Attól tart, hogy futás közben
szemétgyűjtés következne be. Mit lenne célszerű meghívni a kódrész kezdeményezése előtt?
  • GC.RemoveMemoryPressure()
  • GC. SuppressFinalize()
  • GC.Collect()
  • GC.WaitForPendingFinalizers()
32
Bemenő paraméterként olyan objektumot kepunk, melynek osztálya megvalósítja az
IDisposable interfészt. Szükséges-e using blokk használata?
  • Igen, különben memória-vesztés történhet.
  • Nem, de az objektumon a Close() meghívása ajánlott.
  • Nem, try/finally használata után a Dispose() meghívása ajánlott menuálisan.
  • Nem, a hívó metódusban kellene a using blokk.
33
A fejlesztés alatt álló alkalmazás rengeteg memóriát fogyaszt. Melyik megoldás ajánlható?
  • Minden referencia WeakReference-é alakítása
  • Minden referencia null értékre állítása, amikor már nem szükségesek
  • Cachelési algoritmus használata segítségével megadható, mely objektumok nem kellenek már
  • Egy háttérben futó szálon rendszeresen a GC.Collect() meghívása
34
Adott egy DateTime, melynek csak a dátum részét szeretnénk megjeleníteni, Francia nyelvi
beállítások alapján. Melyik metódus használható?
  • dt.ToString(new CultureInfo(“fr-FR”))
  • dt.ToString(“M”, new CultureInfo(“fr-FR”));
  • dt.ToString(“d”);
  • dt.ToString(“d”, new CultureInfo(“fr-FR”));
35
Új típus készítése során cél, hogy string-ből konvertálható legyen. Melyik interfész
megvalósítása ajánlott?
  • IFormattable
  • IFormatProvider
  • IComparable
  • IConvertible
36
Nagyobb adag szövegben értékeket cserélünk ki, adott, komplex algoritmus alapján. Melyik
megoldás javasolt?
  • StringReader
  • StringBuilder
  • StringWriter
  • String
37
A felhasználónak egy DateTime értéket kellene megadni egy szöveges mezőben, ezt kódban
kell dátummá alakítani. Melyik metódus használható?
  • DateTime.Parse
  • DateTime.TryParse
  • Convert.ToDateTime
  • Regex.Match
38
Globalizált webalkalmazásban a felhasználónak pénzösszeget kell megadni egy
szövegmezőben. Meliyk metódus használata a helyes megoldás?
  • int.TryParse(value, NumberStyles.Currency, UICulture);
  • decimal.TryParse(value, NumberStyles.Currency, UICulture);
  • decimal.TryParse(value, ServerCulture);
  • decimal.TryParse(value)
39
Melyik használható XML fájl validálásához?
  • JavaScriptSerializer
  • RegEx
  • StringBuilder
  • XSD
40
Bob és Alice aszimmetrikus algoritmust használnak adatcseréhez. Melyik kulcsot kell
eljuttatniuk a másik félhez, hogy működjön?
  • Bob elküldi Alicenak a privát kulcsát, és Alice küldi Bobnak a publikus kulcsát.
  • Bob elküldi Alicenak a privát kulcsát, és Alice küldi Bobnak a privát kulcsát.
  • Bob elküldi Alicenak a publikus kulcsát, és Alice küldi Bobnak a publikus kulcsát.
  • Bob elküldi Alicenak a publikus kulcsát, és Alice küldi Bobnak a privát kulcsát.
41
Nagy mennyiségű adat titkosítására van szükség. Melyik algoritmust használná?
  • SHA256
  • RSACryptoServiceProvider
  • MD5CryptoServiceProvider
  • AesManaged
42
Érzékeny adatokat szeretne valahova küldeni, biztosítva, hogy azokat más ne módosíthassa.
Melyik metódust használná?
  • X509Certificate2.SignHash
  • RSACryptoServiceProvider.Encrypt
  • UnicodeEncoding.GetBytes
  • Marshal.ZeroFreeBSTR
43
Jelenleg épp egy strong-named/erős nevű assemblyn dolgozik, és egy normál assembly
hivatkozást szeretne használni, kódújrafelhasználás miatt. Melyik megoldás a helyes?
  • Először az assmblyt a GAC-ban kell elhelyezni.
  • Semmi teendő. Másik assembly hivatkozása mindig lehetséges.
  • A másik assemblyt először alá kell írni.
  • A másik assembly publik key token-je segítségével hivatkozható.
44
Olyan assemblyn dolgozik, melyet több szerveroldali alkalmazás fog használni. Lehetővé kell
tenni, hogy ennek a frissítési folyamata a lehető legegyszerűbb legyen. Mi a teendő?
  • WinMD metadata fájl készítése
  • Az assembly GAC-ban elhelyezése
  • Minden kliensalkalmazásban egy assemblyBinding szekciót kell elhelyezni, mely a pontos elérési
    helyre mutat.
  • Erős névvel kell ellátni
45
Egy új assemblyt intraneten szeretnénk megosztani. Mely lépések ajánlhatóak?
  • Erős névvel ellátni
  • Az alkalmazásokban, melyek felhasználják, konfigurációben kell beállítani
  • Az assemblyt GAC-ban kell elhelyezni.
  • A konfigurációban az assemblyBinding-ot kell használni, ’probing’ opcióval
46
Készen áll az alkalmazás éles szerverre történő kibocsátására. Melyik konfiguráció a
kibocsátandó?
  • Debug konfiguráció
  • Release konfiguráció
  • Egyedi konfiguráció, PDB fájlokkal kiegészítve
  • Release konfiguráció, de csak a /debug:full történő fordítás után
47
Webalkalmazás debugolása közben nagyon sok Rendelés típusú elemet kell megvizsgálni.
Mivel tehetné gyorsabbá a folyamatot?
  • A Rendelés osztályon a DebuggerDisplayAttribute attribútum használatával
  • A Rendelés osztály ToString() metódusának felülbírálásával
  • A Rendelés osztályon a ConditionalAttribute attribútum használatával
  • A #line compiler direktíva használatával megtalálható a kivétel keletkezésének helye
48
Egyedi kódgenerálás közben biztonsági ellenőrző pontokat teszünk az osztályokba. Kivétel
esetén nehéz megtalálni a tényleges helyet a kódban. Mi a teendő?
  • #error segítségével jelezhető, ha ott a hiba a kódban.
  • #line hidden segítségével elrejthetőek a nem kívánt sorok a debugger elől
  • ConditionalAttribute segítségével a biztonsági ellenőrzések kiiktathatóak.
  • A #line direktíva segítségével helyreállítható a valódi kódsor számozás a generált kódban.
49
TraceSource osztály segítségével követési/trace adatokhoz jut az alkalmazás futása során.
Jelen pillanatban épp olyan trace adatokra van szükség, melyek egy rendelés adatbázisba írásának
sikertelenségét jelzik, cél az újrapróbálkozás megállapítása. Melyik TraceEventType használata
ajánlható?
  • Information
  • Verbose
  • Critical
  • Error
50
A felhasználók hibákat jelentenek az alkalmazásban. Úgy akarja beállítani a konfigurációt,
hogy több trace adat keletkezzen. Milyen konfigurációs beállítás használata javasolt?
  • NumberOfItems32
  • Listener
  • Filter
  • Switch
51
Globalizált alkalmazáson dolgozik, nagy felhasználószám mellett. Az üzemeltetők szeretnék
tudni, hogy másodpercenként hány bejelentkezés történik. Mit kellene tenni?
  • TraceSource hozzáadásával minden bejelentkezést szövegfájlban rögzíthetünk.
  • Teljesítménymérő megvalósítása a RateOfCountsPerSecond64 osztály segítségével
  • Profiler használatával és beállításával megállapítható, hogy hányszor hívódik a bejelentkezésért
    felelős metódus.
  • EventLog segítségével minden bejelentkezés rögzíthető.
52
Új fájlt hoz létre, logolási céllal. Minden alkalommal, mikor új logbejegyzés szükséges, egy
string kerül a fájlba. Melyik metódus használata ajánlott?
  • File.CreateText
  • FileInfo.Create
  • File.Create
  • File.AppendText
53
Épp elkészült egy bonyolult számítási algoritmussal. Futása sok időt vesz igénybe, de
biztosítani szeretné, hogy futás közben is az alkalmazás reszponzív marad. Mi a teendő?
  • Async/await használata
  • A kód szinkron futtatása
  • Task.Run használata
  • BackgroundWorker használata
54
Olyan alkalmazást fejleszt, melyet nyugati országokban fognak használni és a használata
során szövegfájlok keletkeznek. Melyik kódolást választaná?
  • UTF-8
  • UTF-7
  • ASCII
  • UTF-32
55
Egy adott sort szeretne frissíteni az adatbázisban. Milyen objektumot használna?
  • SqlCommand
  • SqlDataReader
  • SqlConnection
  • TransactionScope
56
Egy új objektumorientált alkalmazás fejlesztésén gondolkozik. Várhatóan egyszerre több
felhasználó fogja használni. Melyik technológiát választaná?
  • XML fájlok
  • Entity Framework
  • ADO.NET
  • Web Service
57
Adatkinyeréshez egy ütemezett feladat során nagy mennyiségű XML fájlt kell feldolgozni.
Melyik osztályt használná?
  • XmlReader
  • XmlDocument
  • XmlWriter
  • FileStream
58
Adott egy dátumlista. Aktuális évre szeretné szűrni, majd kiválasztani a legnagyobbat. Melyik
lekérdezést használná?
  • DateTime result = dates.Where(d => d == DateTime.Now).OrderBy(d => d).First();
  • DateTime result = dates.Where(d => d.Year == DateTime.Now.Year). OrderByDescending(d =>
    d).FirstOrDefault();
  • DateTime result = dates.Where(d => d.Year == DateTime.Now.Year). OrderByDescending(d =>
    d).First();
  • DateTime result = dates.Where(d => d.Year == DateTime.Now.Year). OrderByDescending(d =>
    d).Single();
59
LINQ lekérdezést szeretne használni a kódban, de a fordító a Where() metódust nem találja.
Mi a teendő?
  • using System.Linq parancs hozzáadása
  • Ellenőrizni, hogy a felhasznált típus megvalósítja-e az IEnumerable interfészt
  • Át kell alakítani lekérdezés-szintaxisból metódus-szintaxissá
  • A lekérdezés típusát var-ra kell változtatni.
60
Az alábbi LINQ to Entities lekérdezést használja:
  • Célszerű lenne elkerülni, hogy többször futtassuk
  • ToList() elhagyásával
  • Lapozás használatával
  • Át kell alakítani lekérdezés-szintaxisból metódus-szintaxissá
61
Nagy mennyiségű adat tárolását szeretnénk optimálisan megoldani. Melyik szerializálót
(serializer) használná?
  • XmlSerializer
  • BinaryFormatter
  • DataContractSerializer
  • DataContractJsonSerializer
62
Érzékeny adatokat szerializálunk bináris formátummá. Melyiket használná?
  • XmlSerializer
  • ISerializable
  • DataContractSerializer
  • BinaryFormatter
63
Adatokat XML-é szeretnénk alakítani, ám cél, hogy bizonyos tulajdonságok ne kerüljenek
bele. Melyik attribútumot használná?
  • XmlElement
  • XmlAttribute
  • XmlIgnore
  • NonSerialized
64
Egy rendelés-csoportot szeretnénk tárolni, és biztosítani kell, hogy a felhasználók rendelési
szám alapján könnyen kiválaszthassanak egyet. Melyik kollekció-típust választaná?
  • List<Order>
  • Dictionary<int,Order>
  • HashSet<Order>
  • Queue<Order>
65
Az alkalmazásban Queue típust használ és szeretne új elemet hozzáadni. Melyik metódust
használná?
  • Push
  • Add
  • Dequeue
  • Enqueue
66
Családnév objektumok nagy csoportjával dolgozik. El kell távolítani minden ismétlődést, majd
utónév szerint csoportosítani. Melyik kollekció-típust használná?
  • List<T>
  • Stack<T>
  • Dictionary<string,T>
  • T[]
67
Hogy fejezné be a kódot?
DRAG DROP
Van egy Ügyfél és egy Order nevű osztály.
Az ügyfélosztálynak olyan tulajdonsága van, amely rendelési objektumok listáját tartalmazza.
A Order osztálynak van egy OrderDate nevű tulajdonsága, amely tartalmazza a Megrendelés
dátumát.
Hozzon létre LINQ lekérdezést , amely az összes olyan ügyfelet visszaadja, akinek legalább egy
megrendelése volt a 2005-ös év során.
A következő kódot írja. Hogy fejezné be a kódot? Adja meg a sorrendet! Nem kell mindent felhasználni.
  • ==
  • =>
  • Any
  • Join
  • Select
  • Where
  • 6,3,2,1
Study all 67 cards for free