C# Tech. interjú – Algoritmus javítása

Az előző részben átírtuk a tesztfeladat adatbázisát hierarchikus szerkezetűre – ez azonban újabb file-ok feldolgozási igényét hozta magával. Ennyi adattal az alkalmazásban használt algoritmus már nehezen boldogul. Erről a kódról van szó: Ha ránézünk a kódra azonnal látszik az egymásba ágyazott ciklus, mind a kettő a persons listán halad végig. Így ez egy négyzetes algoritmus […]

12 Comments

C# Tech. interjú – nem-rekurzív könyvtárbejárás

Korábban adtunk egy rekurzív megvalósítást a könyvtárbejárás problémájára. Az a megoldás rendben van, azonban felvetettünk egy elvi problémát: mi van akkor, ha valamilyen oknál fogva az algoritmust szakaszosan kell végrehajtani. Az önmagát hívó metódusokkal az a baj, hogy az algoritmus munkaállapota a hívási vermen van szétterítve metódus paraméterek és lokális változók formájában. Emiatt nem megy […]

1 Comment

StackOverflow kivédése rekurziónál

Az előző cikkben rekurzióval oldottunk meg egy feladatot. Ennek keretében egy metódus folyamatosan hívta saját magát. Amikor egy metódus hív egy másikat, akkor annak adminisztrációs költsége van, ami memóriát igényel. Talán a legismertebb ebben az adminisztrációban, hogy amikor a metódus futása véget ért, a keretrendszernek/CPU-nak tudni kell, hogy melyik metódus melyik pontján kell folytatni a […]

1 Comment

C# Tech. interjú – rekurzív könyvtárbejárás

Az interjú C# gyakorlati feladatban a második megoldandó lépés a file alapú adatbázis szerkezetének átalakítása. Az az igény, hogy egy adott gyökérkönyvtártól számítva az összes file-t fel kell dolgozni, beleértve az alkönyvtárban található állományokat is. A program jelenlegi felépítése olyan, hogy egy IEnumerable<string> ként várja a feldolgozandó állományok neveit, így a dolgunk az, hogy a […]

2 Comments

Try Pattern

Az előző cikkben elkészült EnumeratorFactory kódja nagyobb refaktort igényel, mert számos funkció zsúfolódott egyetlen metódusba. Nem fogunk a teljes átalakításon végigmenni, ennek a cikknek csupán az a célja, hogy bemutasson egy furcsa pattern-t. A pattern furcsasága abban rejlik, hogy látszólag ütközik más elvekkel. Nem is nagyon láttam még máshol alkalmazni, leszámítva a .NET néhány, ráadásul […]

3 Comments

C# Tech. interjú – Convention Based Factory

Az előző cikkben rendbetettük azt a kódot, ami különböző formátumú állományokból képes felolvasni a Person példányokat. Ennek a kódnak a része egy factory, amely egy formatType alapján képes létrehozni egy megfelelő enumerátort. Ez a factory így néz ki: Az a kifogás ezzel a factory-val kapcsolatban, hogy minden új enumerátor esetén ide is be kell illeszteni […]

3 Comments

C# Tech. interjú – SOLID refaktor

Az előző cikkben refaktoráltuk a parser-eket, hogy egységes felülettel rendelkezzenek. Ennek köszönhetően a nagy switch blokkot jelentősen egyszerűsíteni lehetett, illetve magát a switch-et ki lehetett mozgatni egy factory metódusba. A megoldás nem lett olyan rossz, sőt, egy 90 perces technikai interjún jónak számítana. Lehet azonban tovább javítani rajta. Ez a cikk nagymértékben támaszkodik a SOLID […]

1 Comment

Follow

Get every new post delivered to your Inbox.

Join 37 other followers