top 25 software engineering interview questions
Najczęściej zadawane pytania do wywiadów z podstawową i zaawansowaną inżynierią oprogramowania ze szczegółowymi odpowiedziami. Przygotuj się, korzystając z tej obszernej listy typowych pytań do wywiadów technicznych z inżynierami oprogramowania dla początkujących i starszych specjalistów:
Zgodnie z IEEE, Inżynieria Oprogramowania to zastosowanie systematycznego, zdyscyplinowanego i wymiernego podejścia do rozwoju, obsługi i utrzymania oprogramowania.
Oznacza to systematyczne i dobrze zdefiniowane podejście do tworzenia oprogramowania.
W tym samouczku omówimy najczęściej zadawane pytania podczas rozmowy kwalifikacyjnej Inżyniera oprogramowania wraz z prostymi odpowiedziami, aby ułatwić zrozumienie.
Najpopularniejsze pytania do wywiadów z inżynierią oprogramowania
Poniżej wymienione są najczęściej zadawane pytania podczas wywiadów z inżynierami oprogramowania wraz z odpowiedziami.
Odkryjmy!!
Pytanie 1) Co to jest SDLC?
Odpowiedź: SDLC oznacza cykl życia oprogramowania. Określa krok po kroku podejście do tworzenia oprogramowania. SDLC obejmuje następujące fazy, tj. gromadzenie wymagań, analizę systemu, projektowanie, kodowanie, testowanie, konserwację i dokumentację.
Poniżej podano ogólne przedstawienie różnych faz związanych z SDLC.
(wizerunek źródło )
P # 2) Jakie są różne modele dostępne w SDLC?
Odpowiedź: W SDLC dostępnych jest kilka modeli do efektywnego przeprowadzania rozwoju oprogramowania. Niektóre modele obejmują Model wodospadu , Model V, model zwinny itp.
P # 3) Wyjaśnij termin Linia bazowa.
metoda wodospadu cyklu życia oprogramowania
Odpowiedź: Punkt bazowy to kamień milowy w projekcie, który jest zwykle definiowany przez kierownika projektu. Linie bazowe służą do okresowego śledzenia postępów projektu w celu oceny ogólnej kondycji projektu.
Pytanie 4) Jakie są obowiązki kierownika projektu oprogramowania?
Odpowiedź: Kierownik projektu oprogramowania jest odpowiedzialny za doprowadzenie projektu do pomyślnego zakończenia. Do obowiązków kierownika projektu oprogramowania należy upewnienie się, że cały zespół stosuje systematyczne i dobrze zdefiniowane podejście do tworzenia oprogramowania.
Kierownik projektu oprogramowania jest również odpowiedzialny za następujące zadania:
- Planowanie
- Śledzenie statusu projektu
- Zarządzanie zasobami
- Zarządzanie ryzykiem
- Realizacja projektu w terminie i budżecie.
P # 5) Co to jest spójność?
Odpowiedź: Spójność to stopień, w jakim elementy modułu są ze sobą powiązane. Jest jak wewnętrzny klej, który spaja ze sobą elementy modułu. Dobre oprogramowanie ma wysoki poziom spójności.
Pytanie nr 6) Co to jest Coupling?
Odpowiedź: Sprzężenie to stopień współzależności między modułami. Dobre oprogramowanie ma niski poziom sprzężenia.
Q # 7) Wyjaśnij pojęcie modularyzacji.
Odpowiedź: Modularyzacja służy do dzielenia oprogramowania na wiele komponentów lub modułów. Nad każdym modułem pracuje niezależny zespół programistów i testerów. Końcowym rezultatem byłoby połączenie wielu modułów w jeden działający komponent.
Pytanie 8) Co to jest zarządzanie konfiguracją oprogramowania?
Odpowiedź: Zarządzanie konfiguracją oprogramowania to proces śledzenia i kontrolowania zmian zachodzących podczas cyklu życia oprogramowania. Wszelkie zmiany wprowadzone podczas tworzenia oprogramowania muszą być śledzone w ramach dobrze zdefiniowanego i kontrolowanego procesu.
Zarządzanie konfiguracją zapewnia, że wszelkie zmiany wprowadzone podczas tworzenia oprogramowania są kontrolowane za pomocą dobrze zdefiniowanego procesu.
lista przylegania wykresów ważonych c ++
P # 9) Jakie są różne fazy SDLC?
Odpowiedź: Poniżej przedstawiono najczęstsze fazy SDLC.
- Analiza wymagań
- Projekt
- Kodowanie
- Testowanie
- Konserwacja
Q # 10) Podaj przykłady narzędzi do zarządzania projektami.
Odpowiedź: Poniżej podano niektóre z najczęściej używanych narzędzi do zarządzania projektami, które są obecnie dostępne w branży.
- Wykres Gantta
- Listy kontrolne
- Raporty o stanie
- Histogramy
- Microsoft Project
Zalecana lektura => Najlepsze narzędzia do zarządzania projektami, które powinieneś znać
Pytanie nr 11) Czym są narzędzia CASE?
Odpowiedź: CASE oznacza narzędzia inżynierii oprogramowania wspomaganej komputerowo, które są wykorzystywane do wspierania i przyspieszania różnych działań w cyklu życia oprogramowania.
P # 12) Co to jest testowanie czarnoskrzynkowe?
Odpowiedź: Testowanie czarnoskrzynkowe polega na testowaniu aplikacji bez znajomości struktury wewnętrznej lub implementacji kodu. Testerzy przejmowaliby się jedynie funkcjonalnością oprogramowania w testach czarnoskrzynkowych, a nie przepływem danych i wykonywaniem kodu na zapleczu.
P # 13) Co to jest testowanie białych skrzynek?
Odpowiedź: Testowanie białoskrzynkowe to testowanie aplikacji ze znajomością struktury wewnętrznej i implementacji kodu. Testowanie to jest zwykle wykonywane przez programistę, który napisał kod w formie testów jednostkowych.
P # 14) Co to jest studium wykonalności?
Odpowiedź: Na oprogramowaniu przeprowadza się studium wykonalności, aby ocenić, na ile praktyczny i korzystny jest rozwój oprogramowania dla organizacji. Oprogramowanie jest dokładnie analizowane w celu zrozumienia ekonomicznych i technicznych aspektów tworzonego oprogramowania.
P # 15) Jak możesz zmierzyć wykonanie projektu?
Odpowiedź: Stan realizacji projektu można monitorować za pomocą następujących technik.
- Raporty o stanie
- Listy kontrolne punktów kontrolnych
- Monitorowanie aktywności
Pytanie nr 16) Jakie są wymagania funkcjonalne?
Odpowiedź: Wymagania funkcjonalne to funkcje, które ma spełniać opracowane oprogramowanie. Na przykład, dodanie opcji płatności na stronie eCommerce będzie wymaganiem funkcjonalnym.
P # 17) Jakie są wymagania niefunkcjonalne?
Odpowiedź: Wymagania niefunkcjonalne mierzą użyteczność aplikacji, takie jak wygląd i działanie interfejsu użytkownika, bezpieczeństwo, wydajność, interoperacyjność, niezawodność itp.
P # 18) Jaka jest różnica między zapewnieniem jakości a kontrolą jakości?
Odpowiedź: Zapewnienie jakości to zapewnienie, że dostarczone oprogramowanie ma najmniejszą możliwą liczbę defektów. Kontrola jakości to proces zapewniający utrzymanie jakości produktu w długim okresie.
Zapewnienie jakości jest wykonywane przez zespół testujący projektu, podczas gdy kontrola jakości jest zwykle wykonywana przez dedykowany zespół wsparcia, który jest odpowiedzialny za jakość produktu, nawet jeśli produkt jest w fazie utrzymania w zakresie inżynierii oprogramowania.
Przeczytaj także => Zapewnienie jakości a kontrola jakości
P # 19) Jaka jest różnica między weryfikacją a walidacją?
Odpowiedź: Weryfikacja to proces zapewniający, że produkt jest zbudowany prawidłowo, z punktu widzenia procesu i standardów.
Walidacja to proces zapewniania, że tworzymy właściwy produkt z perspektywy klienta. Weryfikacja to statyczna metodologia testowania, w której produkt jest testowany bez wykonywania kodu, podczas gdy walidacja to dynamiczna metodologia testowania.
Warto przeczytać => Pełne badanie weryfikacji i walidacji
P # 20) Który model SDLC jest najlepszy do wyboru dla oprogramowania?
Odpowiedź: Nie ma reguł jako takich określających, który konkretny model SDLC musi być używany dla produktu oprogramowania. Zależy to od typu tworzonego projektu oprogramowania oraz zasad i procedur organizacji.
P # 21) Co rozumiesz przez zakres oprogramowania?
Odpowiedź: Zakres oprogramowania to lista funkcji udostępnianych przez opracowane oprogramowanie. W oparciu o zakres oprogramowania można przeprowadzić szacunki, takie jak przydział czasu, budżet i przydział zasobów.
Pytanie nr 22) Co to jest SRS?
Odpowiedź: SRS oznacza dokument Specyfikacji wymagań oprogramowania (SRS). Jest to dokument zawierający wszystkie funkcjonalne i niefunkcjonalne wymagania produktu. Nie wszystkie modele SDLC muszą być zgodne Dokumenty SRS niektóre modele przechwytują wymagania w postaci historyjek użytkownika, podczas gdy niektóre modele w postaci arkuszy Excela itp.
Pytanie # 23) Jaki jest model SDLC, którego używałeś w poprzednim projekcie?
Odpowiedź: Odpowiedź na to pytanie zależy od doświadczenia kandydata na rozmowę kwalifikacyjną. Jeśli kandydat odpowie, że model SDLC jest modelem Waterfall, to ankieter zacznie zadawać pytania o model Waterfall, a jeśli odpowie na to Agile, to ankieter zacznie zadawać terminy związane z metodologią Agile, takie jak Scrum, Sprint, itp.
Pytanie nr 24) Wyjaśnij szczegółowo model wodospadu.
Odpowiedź: Plik wodospad model to model sekwencyjny, w którym następna faza rozpoczyna się dopiero po zakończeniu pierwszej. Na przykład, faza testowania rozpocznie się dopiero po zakończeniu fazy rozwoju, faza utrzymania rozpocznie się dopiero po zakończeniu fazy testowania.
Poniżej przedstawiono różne fazy związane z modelem wodospadu. Należy pamiętać, że liczba faz i sekwencji faz może się różnić w zależności od projektu.
- Wymagania
- Projekt
- Kodowanie
- Testowanie
- Konserwacja
do) Wymagania: Jest to faza, w której opracowywany system jest dokumentowany w formie dokumentu specyfikacji wymagań oprogramowania (SRS). Jest to najważniejsza faza SDLC, ponieważ jasne zrozumienie wymagań klienta zmniejszy liczbę poprawek w kolejnych fazach.
b) Projekt: Jest to faza, w której finalizowana jest architektura systemu, który ma zostać opracowany. Architektura może mieć postać projektu wysokiego poziomu lub projektu niskiego poziomu. Architektura musi również obejmować specyfikacje sprzętu i oprogramowania systemu, który ma zostać opracowany.
jak zadeklarować tablicę ciągów w java
c) Kodowanie: Jest to faza, w której powstaje kod systemu, który ma zostać opracowany. Testów jednostkowych i Testy integracyjne muszą zostać wykonane przez programistów na tym etapie przed wdrożeniem kodu do testów.
d) Testowanie: Jest to faza, w której opracowany produkt jest testowany przez niezależny zespół testowy w celu sprawdzenia, czy spełnia wymagania specyfikacji wymagań oprogramowania (SRS). Wady zgłoszone na tym etapie muszą zostać naprawione przed podpisaniem produktu.
e) Konserwacja: Ta faza następuje po zakończeniu fazy testowania. Dba o wszelkie problemy produkcyjne, które mogą pojawić się po dostarczeniu produktu do klienta. Czas trwania fazy utrzymania różni się w zależności od projektu i projektu oraz organizacji.
Poniżej znajduje się diagram przedstawiający model wodospadu w postaci faz.
Q # 25) Wyjaśnij szczegółowo model V.
Odpowiedź: V-Model oznacza model weryfikacji i walidacji. Model V. jest dodatkiem do modelu kaskadowego w tym sensie, że model V jest również modelem sekwencyjnym. W modelu V każda faza rozwoju jest powiązana z odpowiednią fazą testowania.
Poniższy obraz przedstawia różne fazy występujące w modelu V.
Lewa strona modelu to cykl życia tworzenia oprogramowania, a prawa strona modelu to cykl życia testowania oprogramowania. Ponieważ fazy tworzą kształt litery „V”, model ten nosi nazwę V-Model.
Wyjaśnienie:
W modelu V SDLC ma być interpretowane od góry do dołu, podczas gdy STLC ma być interpretowane od dołu do góry. Początkowo wymagania są zbierane w celu udokumentowania systemu, który ma zostać opracowany zgodnie z wymaganiami klienta. Zespół testujący opracowuje plan testów systemu w oparciu o wymagania.
Następnie przychodzi projekt wysokiego poziomu i szczegółowe fazy projektowania poziomów, podczas których przygotowywana jest architektura systemu. Zespół testujący przygotowuje plan testów integracyjnych w tych fazach. Po zakończeniu kodowania w SDLC, STLC rozpocznie się od testów jednostkowych, a następnie testy integracyjne i testy systemowe.
Wniosek
Mamy nadzieję, że ten artykuł pomoże Ci pomyślnie rozwiązać każdy wywiad z Inżynierem Oprogramowania.
- Inżynieria oprogramowania to stosowanie systematycznego, zdyscyplinowanego i wymiernego podejścia do opracowywania, obsługi i konserwacji oprogramowania.
- Nie ma sztywnych i szybkich reguł dotyczących rodzaju pytań do wywiadów z inżynierią oprogramowania zadawanych przez ankieterów. Różni się w zależności od organizacji i rodzaju roli, dla której przeprowadzany jest wywiad.
Wszystkiego najlepszego za rozmowę kwalifikacyjną z inżynierem oprogramowania !!
rekomendowane lektury
- Fazy, metodologie, proces i modele SDLC (cyklu życia oprogramowania)
- Co to jest model wodospadu SDLC?
- 25 najlepszych narzędzi do zarządzania projektami w 2021 r. (Najnowsze rankingi)
- Czym jest model STLC V?
- Różnica między zapewnianiem jakości a kontrolą jakości (QA vs QC)
- Testowanie białoskrzynkowe: kompletny przewodnik z technikami, przykładami i narzędziami
- Testowanie czarnoskrzynkowe: szczegółowy samouczek z przykładami i technikami
- Pytania i odpowiedzi do wywiadu