Stáhnout PDF
1) Jaké jsou důležité kategorie softwaru?
- Systémový software
- Aplikační software
- Integrovaný software
- Webové aplikace
- Software pro umělou inteligenci
- Vědecký software.
2) Jaký je hlavní rozdíl mezi počítačovým programem a počítačovým softwarem?
Počítačový program je část programovacího kódu. Provádí přesně definovaný úkol. Na druhou stranu software obsahuje programovací kód, dokumentaci a uživatelskou příručku.
3) Co je re-engineering softwaru?
Jedná se o proces vývoje softwaru, který se provádí za účelem zlepšení udržovatelnosti softwarového systému.
4) Stručně popište proces vývoje softwaru:
Vývoj softwaru je životní cyklus, který se skládá z následujících fází:
- Analýza požadavků
- Specifikace
- Softwarová architektura
- Implementace
- Testování
- Dokumentace
- Školení a podpora
- Údržba
5) Jaké jsou dostupné modely SDLC?
Waterfall Model, Spiral Model, Big-bag model, Iterative Model a V- Model are some of the famous SDLC models.
6) Co je to ověření a ověření?
Ověření:
Ověření je termín, který označuje soubor činností, které zajišťují, že software implementuje konkrétní funkci.
Validace:
Vztahuje se na soubor činností, které zajišťují, že software, který byl vytvořen podle potřeb klientů.
7) Co znamená v procesu vývoje softwaru ladění?
Ladění je proces, jehož výsledkem je odstranění chyby. Je to velmi důležitá součást úspěšného testování.
8) Jak se můžete ujistit, že je váš kód bezpečný a rychlý?
V softwaru je vývojová bezpečnost vždy první. Pokud je tedy provádění programu pomalé, pokusím se zjistit příčinu způsobů jeho časové složitosti.
9) Uveďte dva nástroje, které se používají ke sledování požadavků na software?
Existuje mnoho způsobů, jak sledovat požadavky.
Dva běžně používané jsou:
- Vytvořte dokument se specifikacemi požadavků, který obsahuje seznam všech požadavků.
- Vytvořte list aplikace Excel se seznamem požadavků, typu, závislosti, priority atd.
10) Jaký je hlavní rozdíl mezi útržky, falešnými zprávami?
Útržek je minimální implementace rozhraní, které obecně vrací pevně zakódovaná data, zatímco falešná obvykle ověřuje výstupy podle očekávání. Tato očekávání jsou stanovena v testu.
11) V jakém jazyce píšete programovací algoritmy?
Každý vývojář má své názory, pokud jde o výběr programovacího jazyka. Jeden by však měl upřednostňovat jazyky na vysoké úrovni, protože jsou dynamické. Jako jazyky C a C ++.
12) Co je počítačový software?
Počítačový software je balíček, který obsahuje softwarový program, jeho dokumentaci a uživatelskou příručku o tom, jak software používat.
13) Podle vás, který model SDLC je nejlepší?
Takové hodnocení neexistuje, protože SDLC modely jsou přijímány podle potřeby vývojového procesu. Může se lišit software od softwaru.
14) Kdo je manažer softwarového projektu? Jaká je jeho role?
Manažer softwarového projektu je osoba odpovědná za řízení projektu vývoje softwaru.
Projektový manažer dělá plánování projektu, sleduje pokrok, komunikaci. Řídí také rizika a zdroje, aby mohl projekt dodat v časových, nákladových a kvalitativních omezeních.
15) Co je míněno rozsahem softwaru?
Rozsah softwaru je dobře definovaná hranice. Zahrnuje všechny druhy činností, které se provádějí za účelem vývoje a dodávky softwarového produktu.
Rozsah softwaru definuje všechny funkce a artefakty, které mají být dodány jako součást softwaru. Rozsah také určuje, co bude produkt dělat? Co není součástí projektu? Co je odhad projektu?
Tento proces je užitečný pro odhad různých aspektů softwarového produktu. O tomto odhadu lze rozhodnout buď po konzultaci s odborníky, nebo pomocí předdefinovaných vzorců.
16) Jak zjistit velikost softwarového produktu?
Velikost softwarového produktu lze vypočítat pomocí následujících dvou metod
- Počítání řádků doručeného kódu
- Počítání dodaných funkčních bodů
17) Co jsou funkční body?
Funkční body jsou funkce poskytované softwarovým produktem. Je považováno za nejdůležitější měření pro velikost softwaru.
18) Jaké jsou techniky odhadu softwarového projektu?
Nejčastěji používané techniky odhadu jsou:
- Technika rozkladu
- Empirická technika
19) Co je správa konfigurace softwaru?
Správa konfigurace softwaru je proces sledování a řízení změn, ke kterým v softwaru dochází.
Řízení změn je funkce, která zajišťuje, že všechny změny provedené v softwarovém systému jsou konzistentní a vytvářejí se pomocí organizačních pravidel a předpisů.
20) Jak můžete měřit realizaci projektu?
Můžeme měřit provádění projektu pomocí sledování aktivity, zpráv o stavu a kontrolních seznamů milníků.
21) Povězte mi o některých nástrojích pro správu projektů.
Podle potřeby softwarového projektu se používá mnoho typů nástrojů pro správu. Některé z nich jsou Pertův graf, Ganttův diagram, histogram zdrojů, zprávy o stavu atd.
22) Jaké jsou softwarové požadavky?
Softwarové požadavky jsou funkčním popisem navrhovaného softwarového systému. Předpokládá se popis cílového systému, jeho funkcí a vlastností.
23) Co je studie proveditelnosti?
Jde o opatření, jehož cílem je zjistit, jak praktický a přínosný bude vývoj softwarového projektu pro organizaci. Softwarový analyzátor provádí studii, aby poznal ekonomickou, technickou a provozní proveditelnost projektu.
-
Ekonomické: Zahrnuje náklady na školení, náklady na další a nástroje a celkový odhad nákladů a přínosů projektu.
-
Technické: Vyhodnocuje technické aspekty. Je možné tento systém vyvinout? Posouzení vhodnosti strojů a OS, na kterých bude software spuštěn, znalost vývoje softwaru a nástrojů dostupných pro tento projekt.
-
Provozní: Zde musí analytik posoudit, že se organizace bude moci plynule přizpůsobit provedeným změnám podle poptávky po projektu. Stojí problém za řešení při odhadované ceně?
Po prostudování toho všeho se vytvoří závěrečná zpráva o proveditelnosti.
24) Jaké jsou funkční a nefunkční požadavky?
Funkční požadavky jsou funkční vlastnosti, které uživatelé očekávají od navrhovaného softwarového produktu.
Nefunkční požadavky se vztahují k zabezpečení, výkonu, vzhledu a chování uživatelského rozhraní.
25) Co je softwarová metrika?
Software Metrics nabízí opatření pro různé aspekty softwarového procesu, která se dělí na:
- Metriky požadavků: Požadavky na délku, úplnost
- Metriky produktu: Počet kódovacích řádků, Objektově orientované metriky, metriky designu a testování.
26) Co je to modularizace?
Modularizace je technika, která se používá k rozdělení softwarového systému na různé diskrétní moduly. Očekává se, že úkoly budou prováděny nezávisle.
27) Co je to soudržnost?
Soudržnost je opatření, které definuje vnitřní závislost mezi prvky modulu.
28) Uvádí některé softwarové nástroje pro analýzu a návrh?
Mezi nejdůležitější softwarové analytické a návrhové nástroje patří:
- Diagramy toku dat
- Strukturované grafy
- Strukturovaná angličtina
- Datový slovník
- Hierarchické vstupní procesní výstupní diagramy
- Schémata vztahů mezi entitami a rozhodovací tabulky
29) Co je míněno diagramem toku dat úrovně 0?
Nejvyšší úroveň abstrakce se nazývá úroveň 0 DFD. Nazývá se také kontextová úroveň DFD. Zobrazuje celý informační systém jako jeden diagram.
30) Jaký je hlavní rozdíl mezi strukturovanou angličtinou a pseudokódem?
Strukturovaná angličtina je rodný anglický jazyk. Používá se k zápisu struktury programového modulu. Používá klíčová slova programovacího jazyka. Na druhou stranu je Pseudo kód více podobný programovacímu jazyku bez syntaxe konkrétního jazyka.
31) Co je strukturovaný design?
Strukturovaný design je konceptualizace problému. Nazýval se také návrh řešení, který je založen na strategii „rozděl a panuj“.
32) Co je funkční programování?
Jedná se o programovací metodu, která využívá pojmy matematické funkce. Poskytuje prostředky výpočtu jako matematické funkce, které také produkují výsledky bez ohledu na stav programu.
33) Co je zajištění kvality vs. kontrola kvality?
Quality Assurance kontroluje, zda je při vývoji softwaru dodržován správný proces, zatímco Quality Control se zabývá udržováním kvality softwarového produktu.
34) Co jsou nástroje CASE?
CASE znamená softwarové inženýrství podporované počítačem. Jsou to sada automatizovaných softwarových aplikačních programů, které se používají k podpoře, vylepšení a posílení aktivit SDLC.
35) Který model procesu odstraňuje vady dříve, než se software dostane do potíží?
Metoda softwarového inženýrství čisté místnosti odstraňuje vady dříve, než se software dostane do problémů.
36) Vyřešte tento problém
V zásuvce v jedné temné místnosti je dvacet různých ponožek dvou typů. Jaký je minimální počet ponožek, které musíte vzít, abyste měli odpovídající pár? “
Pokud si vezmete tři ponožky, mohou být stejného typu, i když je šance 50%. Kurzy nikdy nejsou rovnocennou realitou. Jediným způsobem, jak „zajistit, že máte odpovídající pár“, je vyzvednout alespoň 11 šoků.
37) Jak se můžete ujistit, že váš psaný kód, který zvládne různé druhy chybových situací?
Dokážu napsat testy, které definují očekávané chybové situace.
38) Vysvětlete rozdíly mezi vláknem a procesem?
Proces je instancí počítačového programu. V jednom programu je možné mít jedno nebo více vláken.
39) Řekněte mi rozdíl mezi EXE a DLL?
Exe je spustitelný program, zatímco DLL je soubor, který lze programy načíst a spustit dynamicky. Je to externí úložiště kódů pro programy. Jelikož oba jsou různé programy, namísto toho, abyste měli tento kód v souboru, použijte stejnou knihovnu DLL. Snižuje také požadovaný úložný prostor.
40) Co je silné a slabé psaní? Který je preferovaný? Proč?
Silné psaní kontroluje typy proměnných v době kompilace. Na druhou stranu slabé psaní kontroluje typy systému za běhu. Mezi nimi je vždy upřednostňováno silné psaní, protože minimalizuje chyby.
41) Popište rozdíl mezi programováním orientovaným na rozhraní, objektově a aspektově.
- Programování rozhraní je založeno na smlouvě.
- Objektově orientovaný je způsob psaní zrnitých objektů, které mají jediný účel.
- Aspect Oriented Programming je oddělit kód takovým způsobem, že různé objekty nesou hlavní úkoly a vedlejší úkoly jsou prováděny nezávislými objekty.
42) Proč je použití catch (výjimka) vždy špatný nápad?
Je to špatný nápad, protože:
- Protože není definována žádná proměnná, není možné číst výjimku
- Je dobré použít výjimku, pokud znáte typy výjimek.
43) Jaký typ dat se předává prostřednictvím hlaviček HTTP?
Skript a metadata předaná prostřednictvím hlaviček HTTP.
44) Jak upřednostňujete požadavky?
Nejprve je třeba navrhnout systém vyhodnocením datové struktury. Pak byste měli přejít ke struktuře kódu potřebné k její podpoře.
45) Dej mi rozdíly mezi objektově orientovaným a komponentovým designem?
Objektově orientovaný design lze snadno zapouzdřit do určité míry v konstrukci založeném na komponentách.
46) Kdy používáte polymorfismus?
Polymorfismus se používá, když při dědění třídy existuje potřeba přepsat funkčnost. Jde o sdílené třídy a sdílené smlouvy.
47) Jaký je rozdíl mezi zásobníkem a frontou?
- Fronta je vždy první dovnitř, první ven
- Zásobník je vždy Last In, First Out
48) Co je nezbytné pro testování kvality kódu?
Podle mě je rámec testování jednotek zásadní pro testování kvality kódu.
49) Myslíte si, že údržba softwaru je drahá?
Podle mého názoru nebude údržba softwaru nikdy drahá, pokud používáme správný vývojový proces.
50) Dej mi rozdíly mezi tagy a větvemi?
Značky slouží k verzím verzí, které jsou dočasnými pozicemi pro provádění takových věcí. Větve jsou však odstraněny, když jsou tyto změny sloučeny do kmene.
51) Kde je k dispozici chráněná proměnná na úrovni třídy?
Chráněné proměnné na úrovni třídy jsou k dispozici jakékoli podtřídě odvozené od základní třídy.
52) Je možné provést více bloků úlovku pro jeden příkaz try?
Ano. Pro jeden příkaz try lze provést více bloků catch.
53) Kdy potřebujete deklarovat třídu jako abstraktní?
Třídu bychom měli deklarovat jako abstraktní v následujících situacích:
- Když je třída zděděna z abstraktní třídy, ale ne všechny abstraktní metody byly přepsány.
- V případě, že minimálně jedna z metod ve třídě je deklarována jako abstrakt.
54) Vytvořte algoritmus, který vygeneruje vaši aktuální polohu, a seznam umístění bankomatů v této oblasti. Získejte nejbližší bankomaty K ve vaší lokalitě.
Vytvořte metodu getDistance (a, b), která vypočítá vzdálenost mezi a a b.
Kód:
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;}}