Download PDF
1) Wat zijn de belangrijkste categorieën software?
- Systeem software
- Applicatiesoftware
- Ingebouwde software
- Web applicaties
- Software voor kunstmatige intelligentie
- Wetenschappelijke software.
2) Wat is het belangrijkste verschil tussen een computerprogramma en computersoftware?
Een computerprogramma is een stukje programmeercode. Het voert een goed gedefinieerde taak uit. Aan de andere kant bevat de software programmeercode, documentatie en gebruikershandleiding.
3) Wat is software re-engineering?
Het is een proces van softwareontwikkeling dat wordt gedaan om de onderhoudbaarheid van een softwaresysteem te verbeteren.
4) Geef een korte beschrijving van het softwareontwikkelingsproces:
De softwareontwikkeling is een levenscyclus die bestaat uit de volgende fasen:
- Vereiste analyse
- Specificatie
- Software architectuur
- Implementatie
- Testen
- Documentatie
- Training en ondersteuning
- Onderhoud
5) Welke SDLC-modellen zijn beschikbaar?
Watervalmodel, spiraalmodel, Big-bag-model, iteratief model en V-model zijn enkele van de beroemde SDLC-modellen.
6) Wat is verificatie en validatie?
Verificatie:
Verificatie is een term die verwijst naar de reeks activiteiten die ervoor zorgen dat software een specifieke functie implementeert.
Validatie:
Het verwijst naar de reeks activiteiten die ervoor zorgen dat software is gebouwd op basis van de behoefte van klanten.
7) Wat is de betekenis van foutopsporing in het softwareontwikkelingsproces?
Foutopsporing is het proces dat resulteert in het verwijderen van fouten. Het is een heel belangrijk onderdeel van het succesvol testen.
8) Hoe kunt u ervoor zorgen dat uw code zowel veilig als snel is?
In de software staat ontwikkelingsbeveiliging altijd voorop. Dus als de uitvoering van het programma traag is, zal ik proberen de reden te achterhalen om de tijdscomplexiteit te achterhalen.
9) Noem twee tools die worden gebruikt om de softwarevereisten bij te houden?
Er zijn veel manieren om de vereisten bij te houden.
Twee veelgebruikte zijn:
- Maak een specificatiedocument met vereisten om alle vereisten op te sommen.
- Maak een Excel-blad met de lijst met vereisten, type, afhankelijkheid, prioriteit, enz.
10) Wat is het belangrijkste verschil tussen een stomp, een mock?
Een stub is een minimale implementatie van een interface die over het algemeen hardgecodeerde gegevens retourneert, terwijl mock de uitvoer meestal verifieert aan de hand van de verwachtingen. Die verwachtingen worden in de test gezet.
11) Welke taal schrijft u graag programmeeralgoritmen?
Elke ontwikkelaar heeft zo zijn mening over de programmeertaalkeuzes. Men zou echter de voorkeur moeten geven aan talen op hoog niveau, omdat ze dynamisch zijn. Zoals C- en C ++ -talen.
12) Wat is computersoftware?
Computersoftware is een pakket dat een softwareprogramma, de bijbehorende documentatie en gebruikershandleiding voor het gebruik van de software bevat.
13) Welk SDLC-model is volgens u het beste?
Er is geen rangorde, aangezien SDLC-modellen worden aangenomen volgens de behoefte voor het ontwikkelingsproces. Het kan software-naar-software verschillen.
14) Wie is softwareprojectmanager? Wat is zijn rol?
Een softwareprojectmanager is een persoon die verantwoordelijk is voor het beheer van het softwareontwikkelingsproject.
De projectmanager doet de projectplanning, bewaakt de voortgang, communiceert. Hij of zij beheert ook risico's en middelen om het project op te leveren binnen de beperkingen van tijd, kosten en kwaliteit.
15) Wat wordt bedoeld met softwarebereik?
Softwarebereik is een goed gedefinieerde grens. Het omvat allerlei activiteiten die worden gedaan om het softwareproduct te ontwikkelen en te leveren.
De software-scope definieert alle functionaliteiten en artefacten die als onderdeel van de software moeten worden geleverd. De scope geeft ook aan wat het product zal doen? Wat is niet het deel van het project? Wat is een projectschatting?
Dit proces is handig om verschillende aspecten van het softwareproduct in te schatten. Deze schatting kan worden besloten door experts te raadplegen of door vooraf gedefinieerde formules te gebruiken.
16) Hoe vind ik de grootte van een softwareproduct?
De grootte van het softwareproduct kan worden berekend met behulp van twee methoden
- De regels met geleverde code tellen
- Afgeleverde functiepunten tellen
17) Wat zijn functiepunten?
Functiepunten zijn de functies die worden geboden door het softwareproduct. Het wordt beschouwd als de belangrijkste maatstaf voor softwaregrootte.
18) Welke technieken voor het schatten van softwareprojecten zijn beschikbaar?
De meest gebruikte schattingstechnieken zijn:
- Ontbindingstechniek
- Empirische techniek
19) Wat is softwareconfiguratiebeheer?
Softwareconfiguratiebeheer is een proces van het volgen en besturen van wijzigingen die in de software plaatsvinden.
Veranderingsbeheer is een functie die ervoor zorgt dat alle wijzigingen die in het softwaresysteem worden aangebracht, consistent zijn en worden gemaakt met behulp van organisatorische regels en voorschriften.
20) Hoe kunt u de uitvoering van projecten meten?
We kunnen de uitvoering van projecten meten met behulp van activiteitenbewaking, statusrapporten en mijlpaalcontrolelijsten.
21) Vertel me over enkele projectmanagementtools.
Er zijn veel soorten beheertools die worden gebruikt volgens de behoefte aan een softwareproject. Sommigen van hen zijn Pert Chart, Gantt Chart, Resource Histogram, Status Reports, etc.
22) Wat zijn softwarevereisten?
Softwarevereisten zijn een functionele beschrijving van een voorgesteld softwaresysteem. Aangenomen wordt dat het de beschrijving is van het doelsysteem, zijn functionaliteiten en kenmerken.
23) Wat is een haalbaarheidsstudie?
Het is een maatstaf om erachter te komen hoe praktisch en nuttig de ontwikkeling van softwareprojecten zal zijn voor de organisatie. De softwareanalysator voert een studie uit om de economische, technische en operationele haalbaarheid van het project te kennen.
-
Economisch: het omvat de kosten van opleiding, kosten van extra en hulpmiddelen en algemene schatting van kosten en baten van het project.
-
Technisch: Het evalueert technisch aspect. Is het mogelijk om dit systeem te ontwikkelen? Beoordeling van de geschiktheid van machine (s) en besturingssysteem waarop software zal worden uitgevoerd, kennis van de softwareontwikkeling en tools die beschikbaar zijn voor dit project.
-
Operationeel: hier moet de analist beoordelen of de organisatie zich soepel kan aanpassen aan de aangebrachte wijzigingen volgens de vraag naar het project. Is het probleem de moeite waard om tegen de geschatte kosten op te lossen?
Na dit alles te hebben bestudeerd, wordt het definitieve haalbaarheidsrapport gemaakt.
24) Wat zijn functionele en niet-functionele vereisten?
Functionele vereisten zijn functionele kenmerken die door gebruikers van het voorgestelde softwareproduct worden verwacht.
Niet-functionele vereisten hebben betrekking op beveiliging, prestaties, uiterlijk en gevoel van de gebruikersinterface.
25) Wat is softwaremetriek?
Software Metrics biedt maatregelen voor verschillende aspecten van het softwareproces die zijn onderverdeeld in:
- Vereistenstatistieken: lengtevereisten, volledigheid
- Productstatistieken: aantal coderingslijnen, objectgeoriënteerde statistieken, ontwerp- en teststatistieken.
26) Wat is modularisatie?
Modularisatie is een techniek die wordt gebruikt om een softwaresysteem op te splitsen in verschillende discrete modules. Dat moet de taken zelfstandig uitvoeren.
27) Wat is cohesie?
Cohesie is een maatstaf die de intra-afhankelijkheid tussen de elementen van de module definieert.
28) Noemt enkele software-analyse- en ontwerptools?
Enkele van de belangrijkste software-analyse- en ontwerptools zijn:
- Gegevensstroomdiagrammen
- Gestructureerde grafieken
- Gestructureerd Engels
- Data woordenboek
- Hiërarchische Input Process Output diagrammen
- Entiteitsrelatiesdiagrammen en beslissingstabellen
29) Wat wordt bedoeld met gegevensstroomdiagram op niveau 0?
Het hoogste abstractieniveau wordt niveau 0 van DFD genoemd. Het wordt ook wel contextniveau-DFD genoemd. Het geeft het hele informatiesysteem weer als één diagram.
30) Wat is het belangrijkste verschil tussen gestructureerd Engels en pseudo-code?
Gestructureerd Engels is de moedertaal Engels. Het wordt gebruikt om de structuur van een programmamodule te schrijven. Het maakt gebruik van sleutelwoorden in de programmeertaal. Aan de andere kant lijkt pseudo-code meer op de programmeertaal zonder syntaxis van een specifieke taal.
31) Wat is gestructureerd ontwerp?
Gestructureerd ontwerp is een conceptuele voorstelling van een probleem. Het wordt ook oplossingsontwerp genoemd en is gebaseerd op de 'verdeel en heers'-strategie.
32) Wat is functioneel programmeren?
Het is een programmeermethode die de concepten van een wiskundige functie gebruikt. Het biedt berekeningsmiddelen als wiskundige functies, die ook resultaten opleveren, ongeacht de programmastatus.
33) Wat is kwaliteitsborging versus kwaliteitscontrole?
Quality Assurance controleert of het juiste proces wordt gevolgd tijdens het ontwikkelen van de software, terwijl Quality Control zich bezighoudt met het handhaven van de kwaliteit van het softwareproduct.
34) Wat zijn CASE-tools?
CASE betekent Computer Aided Software Engineering. Het zijn een reeks geautomatiseerde softwareapplicatieprogramma's die worden gebruikt om de SDLC-activiteiten te ondersteunen, verbeteren en versterken.
35) Welk procesmodel verwijdert defecten voordat software in de problemen komt?
Cleanroom software engineering methode verwijdert defecten voordat software in de problemen komt.
36) Los dit probleem op
Er liggen twintig verschillende sokken van twee soorten in een la in één donkere kamer. Wat is het minimum aantal sokken dat je moet meenemen om er zeker van te zijn dat je een bijpassend paar hebt? "
Als je drie sokken oppakt, kunnen ze van hetzelfde type zijn, zelfs als de kans 50% is. Odds nooit een gelijke realiteit. Daarom is de enige manier om 'ervoor te zorgen dat u een bijpassend paar hebt', door ten minste 11 schokken op te vangen.
37) Hoe kunt u ervoor zorgen dat uw geschreven code die verschillende soorten foutsituaties aankan?
Ik kan tests schrijven die de verwachte foutsituaties definiëren.
38) Leg de verschillen uit tussen een thread en een proces?
Een proces is een instantie van het computerprogramma. In een enkel programma is het mogelijk om een of meer threads te hebben.
39) Vertel me het verschil tussen een EXE en een DLL?
Een exe is een uitvoerbaar programma, terwijl een DLL een bestand is dat dynamisch door programma's kan worden geladen en uitgevoerd. Het is een externe coderepository voor programma's. Aangezien beide verschillende programma's zijn, hergebruikt u dezelfde DLL in plaats van die code in hun bestand te hebben. Het vermindert ook de benodigde opslagruimte.
40) Wat is sterk typen en zwak typen? Welke heeft de voorkeur? Waarom?
Sterk typen controleert de soorten variabelen tijdens het compileren. Aan de andere kant controleert zwak typen de typen van het systeem tijdens runtime. Onder hen heeft Sterk typen altijd de voorkeur omdat het de bugs minimaliseert.
41) Beschrijf het verschil tussen interfacegeoriënteerd, objectgeoriënteerd en aspectgeoriënteerd programmeren.
- Interfaceprogrammering is gebaseerd op contracten.
- Objectgeoriënteerd is een manier om granulaire objecten te schrijven die maar één doel hebben.
- Aspect Oriented Programming is om de code zodanig te scheiden dat verschillende objecten de hoofdtaken dragen en de neven taken worden gedragen door onafhankelijke objecten.
42) Waarom is het gebruik van catch (exception) altijd een slecht idee?
Het is een slecht idee omdat:
- Aangezien er geen variabele is gedefinieerd, is het niet mogelijk om de uitzondering te lezen
- Het is goed om een uitzondering te gebruiken als u bekende uitzonderingstypes heeft.
43) Welk type gegevens wordt doorgegeven via HTTP-headers?
Script en metadata doorgegeven via HTTP-headers.
44) Hoe geef je prioriteiten aan eisen?
Eerst moet u een systeem ontwerpen door de gegevensstructuur te evalueren. Ga dan verder met de codestructuur die nodig is om deze te ondersteunen.
45) Wat zijn de verschillen tussen objectgeoriënteerd en componentgebaseerd ontwerp?
Objectgeoriënteerd ontwerp kan gemakkelijk tot op zekere hoogte worden ingekapseld in op componenten gebaseerd ontwerp.
46) Wanneer gebruik je polymorfisme?
Polymorfisme wordt gebruikt wanneer er behoefte is aan override-functionaliteit bij het erven van klasse. Het gaat over gedeelde lessen en gedeelde contracten.
47) Wat is het verschil tussen stapel en wachtrij?
- Wachtrij is altijd First In, First Out
- Stack is altijd Last In, First Out
48) Wat is essentieel voor het testen van de kwaliteit van de code?
Volgens mij is het unit testing framework essentieel voor het testen van de kwaliteit van de code.
49) Vindt u het onderhoud van software duur?
Volgens mij zal het onderhoud van software nooit duur zijn als we het juiste ontwikkelproces gebruiken.
50) Geef me verschillen tussen tags en branches?
Tags zijn voor releases met versiebeheer die tijdelijke bewaarplaatsen zijn om zoiets te doen. Vertakkingen worden echter verwijderd wanneer die wijzigingen in de trunk worden samengevoegd.
51) Waar is een beschermde variabele op klassenniveau beschikbaar?
Beveiligde variabelen op klassenniveau zijn beschikbaar voor elke subklasse die is afgeleid van de basisklasse.
52) Is het mogelijk om meerdere catch-blokken uit te voeren voor een enkele try-instructie?
Ja. Meerdere catch-blokken kunnen worden uitgevoerd voor een enkele try-instructie.
53) Wanneer moet u een klasse als abstract declareren?
We zouden een klasse als abstract moeten declareren in de volgende situaties:
- Wanneer de klasse is geërfd van een abstracte klasse, maar niet alle abstracte methoden zijn overschreven.
- In het geval dat minimaal één van de methoden in de klasse als abstract wordt gedeclareerd.
54) Ontwikkel een algoritme dat uw huidige locatie en een lijst met geldautomatenlocaties in dat gebied weergeeft. Brengt u de dichtstbijzijnde K-geldautomaten naar uw locatie.
Maak een methode getDistance (a, b) die de afstand tussen a en b berekent.
Code:
import java.util.HashMap;import java.util.Map;import java.util.PriorityQueue;public class PrioRQueueExample {public static void main(String[] args){PriorityQueuepq = new PriorityQueue ((x,y)-> {Double z = y-x;return z.intValue(); });PrioRQueueExample pqe = new PrioRQueueExample();//Number of ATMs to return i.e. Kint num_ATMs = 3;double curr_loc = 0.00;Map nallATMLocs = new HashMap ();//Map of ATM names and their distance co-ordinatesnallATMLocs.put("atm1",45.0);nallATMLocs.put("atm2",78.0);nallATMLocs.put("atm3",54.0);nallATMLocs.put("atm4",64.0);nallATMLocs.put("atm5",35.0);nallATMLocs.put("atm6",42.0);nallATMLocs.put("atm7",57.0);nallATMLocs.put("atm7",1.00);nallATMLocs.forEach((atm,dist) ->{if(pq.size() < num_ATMs){pq.add(pqe.getLocation(curr_loc,dist));}else{if( pq.peek() > pqe.getLocation(curr_loc,dist)){pq.poll();pq.add(pqe.getLocation(curr_loc,dist));}}});pq.forEach(atmLoc -> System.out.println(atmLoc));}private double getLocation(double curr,double atm){return atm - curr;}}