Obsah[Skrýt][Ukázat]
- 1. Co přesně je objektově orientované programování?
- 2. Proč jsou OOP nutné?
- 3. Jaké výhody nabízejí principy OOPS?
- 4. Jaké jsou pilíře konceptu OOPs?
- 5. Co je to vlastně třída?
- 6. Co je to vlastně předmět?
- 7. Jaká jsou omezení OOP?
- 8. Co je dědictví?
- 9. Co přesně je zapouzdření?
- 10. Co je to polymorfismus?
- 11. Co přesně je abstrakce?
- 12. Co přesně je přetížení metody?
- 13. Co přesně je přednostní metoda?
- 14. Co přesně je nadtřída?
- 15. Co přesně je podtřída?
- 16. Co je to vlastně statický polymorfismus?
- 17. Co je to vlastně dynamický polymorfismus?
- 18. Popište pojem konstruktor.
- 19. Co přesně jsou modifikátory přístupu?
- 20. Co je to vlastně destruktor?
- 21. Co je to vlastně hybridní dědičnost?
- 22. Co přesně je hierarchická dědičnost?
- 23. Jaké jsou nevýhody dědictví?
- 24. Co je to vlastně výjimka?
- 25. Co přesně je zpracování výjimek a jaké jsou jeho výhody?
- 26. Co jsou to vlastně virtuální funkce?
- 27. Co přesně je funkce přítele?
- 28. Co je to vlastně Garbage Collection?
- 29. Co přesně je spojka?
- 30. Co přesně je soudržnost?
- 31. Popište blok pokusu/chytání.
- 32. Popište závěrečný blok.
- 33. Co je to vlastně rozhraní?
- 34. Co je to vlastně kompozice?
- 35. Co přesně je řetězení konstruktorů?
- Proč investovat do čističky vzduchu?
Jedno z nejvlivnějších programovacích paradigmat se nazývá OOP, neboli objektově orientované programování. Místo funkcí a procesů klade důraz na třídy a objekty.
Jeho hlavním cílem je propojit data a věci tak, aby se s nimi lépe pracovalo. Každý objekt v OOP je tvořen kódem ve formě procedur nebo metod a daty ve formě polí.
Jazyky jako C++, Objective C, Python, Perl a Java jsou jedny z nejoblíbenějších objektově orientovaných programovací jazyky.
Je důležité porozumět tomu více, protože otázky pohovoru oops jsou extrémně typické. Většina firem hledá inženýry, kteří jsou obeznámeni s objektově orientovanými metodami a vzory. Pokud se tedy hodláte zúčastnit pohovoru, musíte se dobře orientovat v myšlenkách OOP.
V tomto příspěvku budou uvedeny různé otázky pohovoru o objektově orientovaném programování od začátečníků až po expertní úrovně. Můžete tedy projít jakoukoli úrovní pohovoru a zajistit si svou vysněnou pozici.
1. Co přesně je objektově orientované programování?
Objektově orientované programování (OOP) je založeno spíše na skutečných objektech než jen na funkcích a procesech. Pro jednotlivé produkty jsou vytvořeny třídy.
Dědičnost, polymorfismus a skrývání jsou příklady konceptů reálného světa, které OOP začleňují do programování. Umožňuje také propojit data a kód.
2. Proč jsou OOP nutné?
Existuje několik důvodů, proč jsou OOP vhodnější, ale ty nejdůležitější jsou následující:
- OOP umožňují lidem snadno porozumět softwaru, i když nejsou obeznámeni s implementací.
- Jejda, zlepšit čitelnost kódu, srozumitelnost a udržovatelnost desetkrát.
- Pomocí OOPs lze jednoduše sestavovat a ovládat i extrémně velké aplikace.
3. Jaké výhody nabízejí principy OOPS?
- OOPS, programovací objekty simulují objekty skutečného světa, snižují složitost a zvyšují přehlednost programu.
- Objekty lze opakovaně používat v mnoha programech.
- Každý objekt vytváří samostatnou entitu, jejíž vnitřní operace jsou nezávislé na ostatních komponentách systému.
- Zavedením několika nových objektů a aktualizací několika již existujících je možné přidat nové funkce nebo se přizpůsobit měnícím se provozním podmínkám.
- Procesy nebo reprezentace dat programu OOPs mohou snadno projít malými úpravami.
4. Jaké jsou pilíře konceptu OOPs?
Níže jsou uvedeny hlavní pilíře OOP:
Dědictví: Umožňuje třídám zdědit atributy jiné třídy.
Zapouzdření: Toto je definováno jako vlastnost objektu, která skrývá kritické informace. Tím jsou data před členy třídy skryta. Specifikátory popisují, jak se v kódu přistupuje k atributu objektu.
Polymorfismus: To vám umožňuje provádět jednu činnost několika způsoby. Dosahuje se to prostřednictvím rozhraní, ve kterých deklarujeme jedno rozhraní, které je následně implementováno několikrát.
Abstrakce: Pomocí této funkce můžete skrýt důležité informace před vnějším světem a prezentovat pouze podstatná fakta.
5. Co je to vlastně třída?
Třída je prototyp složený z objektů v různých stavech a s různým chováním. Má řadu metod, které jsou sdíleny objekty v této třídě.
6. Co je to vlastně předmět?
Objekt je entita reálného světa, která slouží jako základní jednotka OOP, jako je židle, kočka nebo pes. Různé objekty mají různé stavy, vlastnosti a akce.
7. Jaká jsou omezení OOP?
- Velikost je větší než u jiných aplikací.
- Vyžaduje to určité zvykání.
- Určité druhy problémů si to nevyžadují.
- Jeho vytvoření bylo pracné a ve srovnání s jinými aplikacemi funguje pomaleji.
8. Co je dědictví?
Pojem zvaný dědičnost se týká sdílení zavedené struktury a chování třídy jinou třídou. Když je dědičnost aplikována na jednu třídu, označuje se jako jediná dědičnost; když závisí na mnoha třídách, označuje se jako vícenásobná dědičnost.
9. Co přesně je zapouzdření?
Myšlenka OOP zahrnuje také zapouzdření. Popisuje prolínání dat a techniky manipulace s daty. Navíc pomáhá zabránit přímému přístupu k některým částem objektu.
10. Co je to polymorfismus?
V jazycích OOP je polymorfismus základním pojmem. Ukazuje, jak mohou různé třídy sdílet rozhraní. Všechny tyto třídy jsou schopny mít jedinečné implementace rozhraní.
11. Co přesně je abstrakce?
Abstrakce je koncept objektově orientovaného programování (OOPs), který se používá k vytvoření struktury objektů reálného světa. „Zobrazuje“ jen ty nejdůležitější vlastnosti a „skrývá“ cizí informace z vnějšího světa. Základním cílem abstrakce je chránit lidi před zbytečnými informacemi.
12. Co přesně je přetížení metody?
Je možné, aby dvě nebo více procedur měly stejný název. Měly by však mít odlišné parametry, různý počet parametrů, odlišné druhy nebo obojí. Tyto metody jsou známé jako přetížené metody a tato funkce je známá jako přetížení metod.
13. Co přesně je přednostní metoda?
Objektově orientované programování zahrnuje myšlenku přepisování metod. Je to jazyková funkce, která umožňuje podtřídě nebo podřízené třídě nabízet přizpůsobenou implementaci metody, kterou již poskytuje jedna z jejích nadtříd nebo nadřazených tříd.
14. Co přesně je nadtřída?
Nadtřída, často známá jako základní třída, je typ třídy, která funguje jako rodič jiné třídy nebo tříd. Třída Car má například podtřídu nazvanou Vehicle.
15. Co přesně je podtřída?
Podtřída je podtřídou jiné třídy. Dodávka je například podtřída vozidla nebo odvozená třída.
16. Co je to vlastně statický polymorfismus?
V době kompilace dochází k typu polymorfismu známému jako statický polymorfismus (statická vazba). Přetížení metody je typ polymorfismu v době kompilace.
17. Co je to vlastně dynamický polymorfismus?
Určitý druh polymorfismu, který je vyřešen za běhu, se nazývá běhový polymorfismus, také známý jako dynamický polymorfismus (dynamická vazba). Přepsání metod je ilustrací polymorfismu za běhu.
18. Popište pojem konstruktor.
Konstruktor je specifická metoda třídy, která se automaticky volá při vytvoření instance třídy. Když přistoupíte ke třídě, je vytvořena se stejným názvem jako třída a inicializuje všechny její členy. Primární vlastnosti konstruktéra jsou následující:
Pro konstruktory neexistuje žádný návratový typ.
Přetížení konstruktérů je možné.
Není nutné specifikovat konstruktor; .NET Framework to udělá automaticky.
19. Co přesně jsou modifikátory přístupu?
V objektově orientovaných jazycích jsou klíčová slova modifikátory přístupu nebo specifikátory přístupu. Pomáhá při konfiguraci tříd, metod a přístupnosti ostatních členů.
20. Co je to vlastně destruktor?
Destruktor je metoda pro uvolnění zdrojů přiřazených k objektu. Když je objekt zničen, je tato metoda automaticky volána.
21. Co je to vlastně hybridní dědičnost?
Hybridní dědičnost je druh dědičnosti generovaný smícháním několika forem dědičnosti, jako je jednoduchá, vícenásobná a tak dále.
22. Co přesně je hierarchická dědičnost?
Více podtříd dědí z nadřazené třídy v situaci hierarchické dědičnosti. Druh dědičnosti, ve kterém mnoho tříd pochází z jedné nadřazené nebo základní třídy, se nazývá hierarchická dědičnost. Třída ovoce může například obsahovat podtřídy jako 'jablko, „mango“, 'banán', 'třešeň' a tak dále.
23. Jaké jsou nevýhody dědictví?
Prodlužuje a komplikuje proces provádění. Vyžaduje také přepínání mezi různými třídami. Rodičovské a dětské třídy jsou vždy neoddělitelně propojeny.
Úpravy kurikula by si vyžádaly revize jak pro rodiče, tak pro třídu dítěte. Dědičnost musí být implementována opatrně, jinak budou výsledky špatné.
24. Co je to vlastně výjimka?
Výjimkou je incident, který narušuje obvyklou činnost kódu. Chcete-li pokračovat v provádění, můžete tyto výjimky zpracovat v jazyce Java. V Javě existuje mnoho druhů předdefinovaných výjimek a zpracování výjimek je k dispozici pro řízení vyvolaných výjimek pomocí bloků try-catch.
25. Co přesně je zpracování výjimek a jaké jsou jeho výhody?
Nejdůležitější metodou v Javě pro řešení neočekávaných selhání běhového prostředí je zpracování výjimek. Umožňuje vám kontrolovat chyby za běhu, které vznikají během provádění programu.
Mezi výhody zpracování výjimek patří schopnost zachovat pravidelný tok programu při správě výjimek. Pokud se například vyskytne chyba v jedné části programu, nebude to mít žádný vliv na zbytek programu, pokud výjimku zpracujeme pomocí bloků try-catch.
26. Co jsou to vlastně virtuální funkce?
Virtuální funkce jsou také zahrnuty ve funkcích nadřazené třídy a jsou přepsány podtřídou. Tyto rutiny pomáhají dosáhnout polymorfismu za běhu.
27. Co přesně je funkce přítele?
Funkce přátel je funkce, která patří do třídy a má povolený přístup k jejím veřejným, soukromým nebo chráněným datům. Pokud je funkce definována mimo třídu, není možné tato data načíst. Klíčová slova řízení přístupu private, public a protected nemají žádný vliv na deklaraci přátel, kterou lze provést kdekoli v deklaraci třídy.
28. Co je to vlastně Garbage Collection?
Garbage collection (GC) je prvek programovacích jazyků jako C# a Java, který slouží jako systém obnovy paměti. Motor garbage collection (GC) je součástí programovacího jazyka, který umožňuje automatické uvolnění paměťového prostoru pro objekty, které aplikace již nepoužívá.
29. Co přesně je spojka?
Týká se situací, ve kterých se různé třídy navzájem spoléhají a sdílejí znalosti. K silnému spojení dochází, když má jedna třída podrobné znalosti o jiné třídě. Viditelnost tříd, metod nebo proměnných můžete určit pomocí modifikátorů přístupu. Rozhraní se používají k zajištění slabší vazby.
30. Co přesně je soudržnost?
Způsob, jakým složka vykonává určitou činnost, se nazývá její soudržnost. Silný, soudržný přístup jednoduše provede definovaný úkol, zatímco slabý, soudržný způsob by rozdělil jediný úkol na několik menších úkolů a ty by pak dokončil.
Balíček Java.io je docela koherentní, ale balíček java.util nikoli.
31. Popište blok pokusu/chytání.
Když program narazí na chybu kvůli nesprávnému kódu nebo datům, „zkusit“ a „chytit“ označují, jak ji spravovat. Blok try je název části kódu, když nastanou výjimky. Blok catch se používá k zachycení a řešení výjimek z bloků try.
32. Popište závěrečný blok.
Jako poslední je uvedena pracovní část kódu klíčového slova try. Označuje kód, který se vždy spustí bezprostředně po zkoušce, a všechny bloky catch před dokončením metody. Poslední blok je spuštěn vždy, ať je výjimka vyvolána nebo zachycena.
33. Co je to vlastně rozhraní?
Rozhraní je kombinací abstraktních metod a uživatelem definovaného datového typu. Třída implementuje rozhraní, které zdědí abstraktní funkce rozhraní.
Třída představuje vlastnosti a chování objektu, zatímco rozhraní zahrnuje chování, které třída implementuje. Rozhraní představuje „co“, zatímco třída vyjadřuje „jak“.
34. Co je to vlastně kompozice?
Kompozici lze použít k dosažení spojení. Demonstruje silné objektové spojení mezi závislými a nezávislými objekty, na rozdíl od agregace. Závislý objekt za těchto okolností neexistuje a bude odstraněn, pokud bude nadřazený objekt vymazán.
35. Co přesně je řetězení konstruktorů?
Řetězení konstruktoru je technika pro volání jednoho konstruktoru z jiného ve vztahu k aktuální referenci na objekt. Jsou dvě možnosti:
- Na konstruktor v aktuální třídě lze odkazovat pomocí klíčového slova „this“.
- Klíčové slovo „super“ bude použito k vyvolání konstruktoru ze základní třídy.
Proč investovat do čističky vzduchu?
Objektově orientované programování vyžaduje promyslet strukturu programu a připravit se předem. Zkoumání toho, jak rozdělit požadavky do základních, opakovaně použitelných tříd, které lze použít k vytváření instancí věcí.
Celkově znamená přijetí OOP zlepšení datové struktury a znovupoužitelnost, což z dlouhodobého hlediska šetří čas. Vidět Hašdorkův seriál rozhovorů za pomoc s přípravou na pohovor.
Napsat komentář