Saturs[Paslēpt][Rādīt]
- 1. Kas īsti ir objektorientētā programmēšana?
- 2. Kāpēc ir nepieciešami OOP?
- 3. Kādas priekšrocības piedāvā OOPS principi?
- 4. Kādi ir OOP koncepcijas pīlāri?
- 5. Kas īsti ir klase?
- 6. Kas īsti ir objekts?
- 7. Kādi ir OOP ierobežojumi?
- 8. Kas ir mantojums?
- 9. Kas īsti ir iekapsulēšana?
- 10. Kas ir polimorfisms?
- 11. Kas īsti ir abstrakcija?
- 12. Kas īsti ir metodes pārslodze?
- 13. Kas īsti ir metodes ignorēšana?
- 14. Kas īsti ir superklase?
- 15. Kas īsti ir apakšklase?
- 16. Kas īsti ir statiskais polimorfisms?
- 17. Kas īsti ir dinamiskais polimorfisms?
- 18. Aprakstiet konstruktora jēdzienu.
- 19. Kas īsti ir piekļuves modifikatori?
- 20. Kas īsti ir destruktors?
- 21. Kas īsti ir hibrīda mantošana?
- 22. Kas īsti ir hierarhiskā mantošana?
- 23. Kādi ir mantojuma trūkumi?
- 24. Kas īsti ir izņēmums?
- 25. Kas īsti ir izņēmumu apstrāde, un kādas ir tās priekšrocības?
- 26. Kas īsti ir virtuālās funkcijas?
- 27. Kas īsti ir drauga funkcija?
- 28. Kas īsti ir Atkritumu savākšana?
- 29. Kas īsti ir sakabe?
- 30. Kas īsti ir kohēzija?
- 31. Aprakstiet try/catch bloku.
- 32. Aprakstiet beigu bloku.
- 33. Kas īsti ir interfeiss?
- 34. Kas īsti ir kompozīcija?
- 35. Kas īsti ir konstruktora ķēdēšana?
- Secinājumi
Viena no ietekmīgākajām programmēšanas paradigmām tiek saukta par OOP jeb objektorientēto programmēšanu. Funkciju un procesu vietā tas uzsver klases un objektus.
Tās galvenais mērķis ir savienot datus un lietas, lai ar tiem būtu vieglāk strādāt. Katrs OOP objekts sastāv no koda procedūru vai metožu veidā un datiem lauku veidā.
Valodas, piemēram, C++, Objective C, Python, Perl un Java, ir dažas no populārākajām objektorientētajām valodām. programmēšanas valodas.
Ir svarīgi par to vairāk izprast, jo intervijas jautājumi ir ļoti tipiski. Lielākā daļa uzņēmumu meklē inženierus, kuri ir iepazinušies ar objektorientētām metodēm un modeļiem. Tātad, ja plānojat apmeklēt interviju, jums ir labi jāpārzina OOP idejas.
Šajā ierakstā tiks parādīti dažādi objektorientētas programmēšanas intervijas jautājumi no iesācēja līdz eksperta līmenim. Tādējādi jūs varat nokārtot jebkura līmeņa interviju un nodrošināt savu sapņu pozīciju.
1. Kas īsti ir objektorientētā programmēšana?
Programmēšana, kas ir orientēta uz objektu (OOP), balstās uz faktiskiem objektiem, nevis tikai funkcijām un procesiem. Klases tiek veidotas atsevišķiem produktiem.
Mantojums, polimorfisms un slēpšana ir reālās pasaules koncepciju piemēri, ko OOP iekļauj programmēšanā. Tas arī ļauj savienot datus un kodu.
2. Kāpēc ir nepieciešami OOP?
Ir vairāki iemesli, kāpēc priekšroka tiek dota OOP, tomēr tālāk minētie ir vissvarīgākie.
- OOPs, ļauj cilvēkiem viegli saprast programmatūru pat tad, ja viņi nav pazīstami ar ieviešanu.
- Hmm, desmit reizes uzlabojiet koda lasāmību, saprotamību un apkopi.
- Izmantojot OOP, pat ļoti lielas lietojumprogrammas var vienkārši izveidot un kontrolēt.
3. Kādas priekšrocības piedāvā OOPS principi?
- OOPS, programmēšanas objekti simulē reālās pasaules objektus, samazinot sarežģītību un uzlabojot programmas skaidrību.
- Daudzās programmās objektus var izmantot atkārtoti.
- Katrs objekts izveido atsevišķu entītiju, kuras iekšējās darbības ir neatkarīgas no citiem sistēmas komponentiem.
- Ieviešot dažus jaunus objektus un atjauninot dažus jau esošos, ir iespējams pievienot jaunu funkcionalitāti vai pielāgoties mainīgajiem darbības apstākļiem.
- OOPs programmas procesos vai datu attēlojumā var viegli veikt nelielas korekcijas.
4. Kādi ir OOP koncepcijas pīlāri?
Tālāk ir norādīti galvenie OOP pīlāri:
Mantojums: Tas ļauj klasēm mantot citas klases atribūtus.
Iekapsulēšana: tas ir definēts kā objekta rekvizīts, kas slēpj svarīgu informāciju. Tādējādi dati tiek slēpti no klases dalībniekiem. Specifikācijas apraksta, kā objekta atribūtam tiek piekļūts kodā.
Polimorfisms: ļauj veikt vienu darbību vairākos veidos. Tas tiek paveikts, izmantojot saskarnes, kurās mēs deklarējam vienu interfeisu, kas pēc tam tiek ieviests vairākas reizes.
Abstrakcija: varat izmantot šo funkciju, lai paslēptu svarīgu informāciju no ārpasaules un parādītu tikai būtiskos faktus.
5. Kas īsti ir klase?
Klase ir prototips, kas sastāv no objektiem dažādos stāvokļos un ar atšķirīgu uzvedību. Tam ir vairākas metodes, kuras koplieto šīs klases objekti.
6. Kas īsti ir objekts?
Objekts ir reāla vienība, kas kalpo kā OOP pamatvienība, piemēram, krēsls, kaķis vai suns. Dažādiem objektiem ir dažādi stāvokļi, īpašības un darbības.
7. Kādi ir OOP ierobežojumi?
- Izmērs ir lielāks nekā citām lietojumprogrammām.
- Tas prasa zināmu pierašanu.
- Dažu veidu problēmas to neprasa.
- Tās izveide bija darbietilpīga, un, salīdzinot ar citām lietojumprogrammām, tā darbojas lēnāk.
8. Kas ir mantojums?
Jēdziens, ko sauc par mantojumu, attiecas uz klases izveidotās struktūras un uzvedības koplietošanu citai klasei. Ja mantojums tiek piemērots vienai klasei, to sauc par vienu mantojumu; ja tas ir atkarīgs no daudzām klasēm, to sauc par vairākiem mantojumiem.
9. Kas īsti ir iekapsulēšana?
OOP ideja ietver arī iekapsulēšanu. Tajā aprakstīta datu un datu apstrādes metožu sajaukšana. Turklāt tas palīdz novērst tiešu piekļuvi dažām objekta daļām.
10. Kas ir polimorfisms?
OOP valodās polimorfisms ir pamatjēdziens. Tas parāda, kā dažādas klases var koplietot saskarni. Visām šīm klasēm var būt unikālas saskarnes ieviešanas.
11. Kas īsti ir abstrakcija?
Abstrakcija ir objektorientētas programmēšanas (OOP) koncepcija, ko izmanto, lai izveidotu reālās pasaules objektu struktūru. Tas "parāda" tikai vissvarīgākās īpašības un "slēpj" svešu informāciju no ārējās pasaules. Abstrakcijas pamatmērķis ir pasargāt cilvēkus no nevajadzīgas informācijas.
12. Kas īsti ir metodes pārslodze?
Divām vai vairākām procedūrām var būt vienāds nosaukums. Tomēr tiem jābūt atšķirīgiem parametriem, atšķirīgam parametru skaitam, atšķirīgiem veidiem vai abiem. Tās ir pazīstamas kā pārslogotas metodes, un funkcija ir pazīstama kā metodes pārslodze.
13. Kas īsti ir metodes ignorēšana?
Objektorientētā programmēšana ietver ideju par metodes ignorēšanu. Tā ir valodas funkcija, kas ļauj apakšklasei vai pakārtotajai klasei piedāvāt pielāgotu metodes ieviešanu, ko jau nodrošina viena no tās virsklasēm vai vecākklasēm.
14. Kas īsti ir superklase?
Virsklase, ko bieži sauc par pamatklasi, ir klases veids, kas darbojas kā citas klases vai klašu vecāks. Piemēram, automašīnu klasei ir apakšklase ar nosaukumu Transportlīdzeklis.
15. Kas īsti ir apakšklase?
Apakšklase ir citas klases apakšklase. Piemēram, furgons ir transportlīdzekļu apakšklase vai atvasināta klase.
16. Kas īsti ir statiskais polimorfisms?
Kompilēšanas laikā notiek polimorfisma veids, kas pazīstams kā statiskais polimorfisms (statiskā saistīšanās). Metodes pārslodze ir kompilēšanas laika polimorfisma veids.
17. Kas īsti ir dinamiskais polimorfisms?
Polimorfismu, kas tiek atrisināts izpildlaikā, sauc par izpildlaika polimorfismu, ko sauc arī par dinamisko polimorfismu (dinamisko saistīšanu). Metožu ignorēšana ir izpildlaika polimorfisma ilustrācija.
18. Aprakstiet konstruktora jēdzienu.
Konstruktors ir noteikta klases metode, kas tiek automātiski izsaukta, kad tiek izveidots klases gadījums. Kad piekļūstat klasei, tā tiek veidota ar tādu pašu nosaukumu kā klasei un inicializē visus tās dalībniekus. Konstruktora galvenās īpašības ir šādas:
Konstruktoriem nav atgriešanas veida.
Iespējama konstruktoru pārslodze.
Konstruktors nav jānorāda; NET Framework to darīs automātiski.
19. Kas īsti ir piekļuves modifikatori?
Objektorientētās valodās atslēgvārdi ir piekļuves modifikatori vai piekļuves norādītāji. Tas palīdz konfigurēt klases, metodes un citu dalībnieku pieejamību.
20. Kas īsti ir destruktors?
Destruktors ir metode objektam piešķirto resursu atbrīvošanai. Kad objekts tiek iznīcināts, šī metode tiek automātiski izsaukta.
21. Kas īsti ir hibrīda mantošana?
Hibrīda mantojuma veids ir mantojuma veids, kas rodas, sajaucot vairākas mantojuma formas, piemēram, vienreizēju, daudzkārtēju un tā tālāk.
22. Kas īsti ir hierarhiskā mantošana?
Vairākas apakšklases manto no vecākklases hierarhiskās mantošanas situācijā. Mantojums, kurā daudzas klases cēlies no viena vecāka vai bāzes klases, ir pazīstama kā hierarhiskā mantošana. Piemēram, augļu klasē var būt apakšklases, piemēram, “ābols”, “mango”, “banāns”, “ķirsis” un tā tālāk.
23. Kādi ir mantojuma trūkumi?
Tas pagarina un sarežģī izpildes procesu. Tas arī rada nepieciešamību pārslēgties starp dažādām klasēm. Vecāku un bērnu klases vienmēr ir nesaraujami saistītas.
Izmaiņas mācību programmā radītu nepieciešamību pārskatīt gan vecāku, gan bērna klasi. Mantojums jāīsteno uzmanīgi, pretējā gadījumā rezultāti būs nepareizi.
24. Kas īsti ir izņēmums?
Izņēmums ir incidents, kas traucē parasto koda darbību. Lai turpinātu izpildi, varat apstrādāt šos izņēmumus programmā Java. Programmā Java ir daudz veidu iepriekš definētu izņēmumu, un tiek nodrošināta izņēmumu apstrāde, lai kontrolētu izvirzītos izņēmumus, izmantojot try-catch blokus.
25. Kas īsti ir izņēmumu apstrāde, un kādas ir tās priekšrocības?
Vissvarīgākā Java metode neparedzētu izpildlaika kļūmju risināšanai ir izņēmumu apstrāde. Tas ļauj kontrolēt izpildlaika kļūdas, kas rodas programmas izpildes laikā.
Izņēmumu apstrādes priekšrocības ietver iespēju saglabāt regulāru programmu plūsmu, vienlaikus pārvaldot izņēmumus. Piemēram, ja kļūda notiek vienā programmas sadaļā, tai nebūs nekādas ietekmes uz pārējo programmas daļu, ja mēs apstrādāsim izņēmumu ar try-catch blokiem.
26. Kas īsti ir virtuālās funkcijas?
Virtuālās funkcijas ir iekļautas arī vecāku klases funkcijās, un apakšklase tās ignorē. Šīs rutīnas palīdz sasniegt izpildlaika polimorfismu.
27. Kas īsti ir drauga funkcija?
Drauga funkcija ir funkcija, kas pieder klasei un kurai ir atļauta piekļuve tās publiskajiem, privātajiem vai aizsargātajiem datiem. Ja funkcija ir definēta ārpus klases, šos datus nav iespējams izgūt. Piekļuves kontroles atslēgvārdi privāts, publisks un aizsargāts neietekmē drauga deklarāciju, ko var veikt jebkurā klases deklarācijā.
28. Kas īsti ir Atkritumu savākšana?
Atkritumu savākšana (GC) ir programmēšanas valodu, piemēram, C# un Java, elements, kas kalpo kā atmiņas atjaunošanas sistēma. Atkritumu savākšanas (GC) dzinējs ir programmēšanas valodas sastāvdaļa, kas ļauj automātiski atbrīvot atmiņas vietu objektiem, kurus lietojumprogramma vairs neizmanto.
29. Kas īsti ir sakabe?
Tas attiecas uz situācijām, kurās dažādas klases paļaujas viena uz otru un dalās zināšanās. Spēcīga saikne rodas, ja vienai klasei ir detalizētas zināšanas par citu klasi. Varat norādīt klašu, metožu vai mainīgo redzamību, izmantojot piekļuves modifikatorus. Saskarnes tiek izmantotas, lai nodrošinātu vājāku savienojumu.
30. Kas īsti ir kohēzija?
Veids, kā komponents veic noteiktu darbību, tiek saukts par tā kohēziju. Spēcīga, saskaņota pieeja vienkārši izpildīs definēto uzdevumu, savukārt vāja, saskaņota metode sadalītu vienu uzdevumu vairākos mazākos uzdevumos un pēc tam tos pabeigtu.
Java.io pakotne ir diezgan saskaņota, bet java.util pakotne nav.
31. Aprakstiet try/catch bloku.
Ja programma saskaras ar kļūdu nepareiza koda vai datu dēļ, “izmēģināt” un “noķert” norāda, kā to pārvaldīt. Izmēģināšanas bloks ir koda daļas nosaukums, kad notiek izņēmumi. Noķeršanas bloks tiek izmantots, lai uztvertu un apstrādātu izņēmumus no mēģinājuma blokiem.
32. Aprakstiet beigu bloku.
Izmēģinājuma atslēgvārda darba koda daļa ir norādīta pēdējā. Tas apzīmē kodu, kas vienmēr tiek palaists tūlīt pēc izmēģinājuma, un visus nozvejas blokus pirms metodes pabeigšanas. Pēdējais bloks vienmēr tiek izpildīts neatkarīgi no tā, vai tiek izmests vai noķerts izņēmums.
33. Kas īsti ir interfeiss?
Interfeiss ir abstraktu metožu un lietotāja definēta datu tipa kombinācija. Klase ievieš saskarni, pārmantojot interfeisa abstraktās funkcijas.
Klase atspoguļo objekta īpašības un uzvedību, savukārt saskarne ietver klases īstenotās darbības. Saskarne apzīmē “ko”, savukārt klase norāda “kā”.
34. Kas īsti ir kompozīcija?
Sastāvu var izmantot, lai panāktu savienojumu. Tas demonstrē spēcīgu objektu saikni starp atkarīgiem un neatkarīgiem objektiem, nevis apkopošanu. Atkarīgais objekts šajā gadījumā nepastāv un tiks noņemts, ja vecākobjekts tiks izdzēsts.
35. Kas īsti ir konstruktora ķēdēšana?
Konstruktoru ķēde ir paņēmiens viena konstruktora izsaukšanai no cita saistībā ar pašreizējo objekta atsauci. Ir divas iespējas:
- Uz pašreizējās klases konstruktoru var atsaukties, izmantojot atslēgvārdu “this”.
- Atslēgvārds “super” tiks izmantots, lai izsauktu konstruktoru no bāzes klases.
Secinājumi
Objektorientētā programmēšana liek domāt par programmas struktūru un sagatavoties iepriekš. Pārbaudot, kā prasības sadalīt pamata, atkārtoti lietojamās klasēs, kuras var izmantot lietu gadījumu izveidošanai.
Kopumā OOP ietveršana nodrošina uzlabojumus datu struktūras un atkārtota izmantošana, kas ilgtermiņā ietaupa laiku. Skat Hašdorka interviju sērija par palīdzību interviju sagatavošanā.
Atstāj atbildi