top 25 software engineering interview questions
Най-често задавани основни и усъвършенствани въпроси за интервю за софтуерно инженерство с подробни отговори. Подгответе се с този изчерпателен списък с често срещани въпроси за интервю за технически софтуерен инженер за начално ниво и старши специалисти:
Според IEEE, софтуерното инженерство е прилагането на систематичен, дисциплиниран и измерим подход към разработването, експлоатацията и поддръжката на софтуерен продукт.
Това означава прилагане на систематичен и добре дефиниран подход към разработването на софтуерен продукт.
В този урок ще разгледаме най-често задаваните въпроси за интервю за софтуерен инженер, заедно с отговорите с прости думи за вашето лесно разбиране.
Най-популярни въпроси за интервю за софтуерно инженерство
По-долу са изброени най-често задаваните въпроси за интервюта със софтуерен инженер с отговори.
Нека да изследваме !!
В # 1) Какво е SDLC?
Отговор: SDLC означава жизнен цикъл на разработка на софтуер. Той определя стъпка по стъпка подход за разработване на софтуер. SDLC включва следните фази, т.е. събиране на изисквания, системен анализ, дизайн, кодиране, тестване, поддръжка и документация.
По-долу е представено представянето на високо ниво на различните фази, включени в SDLC.
(изображение източник )
В # 2) Какви са различните модели, налични в SDLC?
Отговор: Налични са няколко модела в SDLC за ефективно извършване на разработка на софтуер. Някои от моделите включват Модел на водопад , V-модел, пъргав модел и др.
В # 3) Обяснете термина Базова линия.
най-добрият инструмент за изрязване за Windows 10
Отговор: Базовата линия е крайъгълен камък в проекта, който обикновено се определя от ръководителя на проекта. Базовите линии се използват за проследяване на напредъка на проекта от време на време, за да се оцени цялостното здравословно състояние на проекта.
Q # 4) Какви са отговорностите на ръководител на софтуерен проект?
Отговор: Мениджър на софтуерни проекти е отговорен за насочването на проекта към успешно завършване. Отговорността на мениджъра на софтуерния проект е да се увери, че целият екип следва системен и добре дефиниран подход към разработването на софтуер.
Мениджърът на софтуерен проект също отговаря за следните задачи:
- Планиран проект
- Проследяване на състоянието на проекта
- Управление на ресурси
- Управление на риска
- Доставка на проекта в рамките на време и бюджет.
В # 5) Какво е сближаване?
Отговор: Сближаването е степента, до която елементите на модула са взаимно свързани помежду си. Това е като вътрешно лепило, което свързва елементите на модула заедно. Добрият софтуер има високи нива на сплотеност.
Q # 6) Какво е свързване?
Отговор: Свързването е степента на взаимозависимост между модулите. Добрият софтуер има ниски нива на свързване.
В # 7) Обяснете концепцията за модуларизация.
Отговор: Модуларизацията се използва за разделяне на софтуера на множество компоненти или модули. Всеки модул се работи от независим екип за разработка и тестване. Крайният резултат би бил комбинирането на множество модули в един работен компонент.
Q # 8) Какво представлява управлението на конфигурацията на софтуера?
Отговор: Управлението на софтуерната конфигурация е процесът на проследяване и контрол на промените, които се случват по време на жизнения цикъл на разработката на софтуера. Всяка промяна, направена по време на разработването на софтуер, трябва да бъде проследена чрез добре дефиниран и контролиран процес.
Управлението на конфигурацията гарантира, че всички промени, направени по време на разработването на софтуер, се контролират чрез добре дефиниран процес.
В # 9) Кои са различните фази на SDLC?
Отговор: По-долу са най-често срещаните фази на SDLC.
- Анализ на изискванията
- Дизайн
- Кодиране
- Тестване
- Поддръжка
В # 10) Дайте примери за инструменти за управление на проекти.
разлика между c c ++ и java
Отговор: По-долу са дадени някои от най-често използваните инструменти за управление на проекти, които се предлагат в индустрията днес.
- Диаграма на Гант
- Контролни списъци
- Доклади за състоянието
- Хистограми
- Microsoft Project
Препоръчително четене => Най-добрите инструменти за управление на проекти, които трябва да знаете
Q # 11) Какво представляват инструментите CASE?
Отговор: CASE означава инструменти за компютърно софтуерно инженерство, които се използват за подпомагане и ускоряване на различните дейности от жизнения цикъл на разработката на софтуер.
В # 12) Какво е тестване на черна кутия?
Отговор: Тестването на черна кутия включва тестване на приложението без знанието за вътрешната структура или изпълнението на кода. Тестерите биха се притеснили само за функционалността на софтуера при тестване на черна кутия, а не за потока от данни и изпълнението на кода в задната част.
В # 13) Какво е тестване на бяла кутия?
Отговор: Тестването на бялата кутия е тестване на приложението със знанията за вътрешната структура и изпълнението на кода. Това тестване обикновено се извършва от разработчика, който е написал кода под формата на модулни тестове.
Въпрос # 14) Какво е предпроектно проучване?
Отговор: Провежда се проучване за осъществимост на софтуерен продукт, за да се оцени колко практично и полезно е развитието на софтуерния продукт за организацията. Софтуерът се анализира задълбочено, за да се разберат икономическите и техническите аспекти на софтуерния продукт, който ще бъде разработен.
В # 15) Как можете да измервате изпълнението на проекта?
Отговор: Състоянието на изпълнение на проекта може да се следи, като се използват следните техники.
- Доклади за състоянието
- Основни контролни списъци
- Мониторинг на дейността
Q # 16) Какви са функционалните изисквания?
Отговор: Функционалните изисквания са функциите, които се очаква да изпълнява разработен софтуерен продукт. Например, добавянето на опция за плащане в уебсайт за електронна търговия ще бъде функционално изискване.
В # 17) Какви са нефункционалните изисквания?
Отговор: Нефункционалните изисквания измерват използваемостта на приложението, като вид и усещане на потребителския интерфейс, сигурност, производителност, оперативна съвместимост, надеждност и др.
В # 18) Каква е разликата между осигуряване на качеството и контрол на качеството?
Отговор: Осигуряването на качеството гарантира, че доставеният софтуер има възможно най-малък брой дефекти. Контролът на качеството е процесът за гарантиране, че качеството на продукта се поддържа в дългосрочен план.
Осигуряването на качеството се извършва от екипа за тестване на проекта, докато Контролът на качеството обикновено се извършва от специален екип за поддръжка, който отговаря за качеството на продукта, дори ако продуктът е на фаза поддръжка на софтуерното инженерство.
Също така, Прочетете => Осигуряване на качеството срещу контрол на качеството
Въпрос # 19) Каква е разликата между Проверка и Проверка?
Отговор: Проверката е процес на гарантиране, че продуктът е изграден правилно, от гледна точка на процес и стандарти.
Валидирането е процесът да гарантираме, че изграждаме правилния продукт от гледна точка на клиента. Проверката е методология за статично тестване, при която продуктът се тества без изпълнение на кода, докато валидирането е динамична методология за тестване.
Заслужава да се прочете => Пълно проучване на проверката и валидирането
В # 20) Кой SDLC модел е най-добре да изберете за софтуерен продукт?
Отговор: Няма правила като такива, посочващи кой конкретен SDLC модел трябва да се използва за софтуерен продукт. Това зависи от вида на софтуерния проект, който се изгражда, и от политиките и процедурите на организацията.
В # 21) Какво разбирате под Софтуерно обхват?
Отговор: Обхватът на софтуера е списъкът на функциите, предоставени от разработения софтуер. Въз основа на обхвата на софтуера могат да се правят оценки като разпределение на времето, разпределение на бюджета и ресурсите.
Q # 22) Какво е SRS?
Отговор: SRS означава документ за спецификация на софтуерните изисквания (SRS). Това е документ, който обхваща всички функционални и нефункционални изисквания на даден продукт. Не всички SDLC модели трябва да следват SRS документи , някои модели улавят изисквания под формата на потребителски истории, докато някои модели под формата на Excel листове и т.н.
Q # 23) Какъв е SDLC моделът, който сте използвали в предишния си проект?
Отговор: Отговорът на този въпрос зависи от опита на кандидата за интервю. Ако кандидатът отговори на модела SDLC като модел на водопада, тогава интервюиращият ще започне да задава въпроси за модела на водопада и ако отговори на него като Agile, тогава интервюиращият ще започне да задава термини, свързани с Agile методология като Scrum, Sprint, и т.н.
Q # 24) Обяснете подробно модела на водопада.
Отговор: The водопад модел е последователен модел, при който следващата фаза започва едва след завършване на първата фаза. Например, фазата на тестване ще започне едва след завършване на фазата на разработка, фазата на поддръжка ще започне едва след завършване на фазата на тестване.
По-долу са посочени различните фази, участващи в модела на водопада. Моля, имайте предвид, че броят на фазите и последователностите на фазите може да варира в зависимост от проекта.
- Изисквания
- Дизайн
- Кодиране
- Тестване
- Поддръжка
да се) Изисквания: Това е фазата, в която системата, която трябва да бъде разработена, се документира под формата на документ за спецификация на софтуерните изисквания (SRS). Това е най-важната фаза на SDLC, тъй като ясното разбиране на изискванията на клиента ще намали преработката в следващите фази.
б) Дизайн: Това е фазата, в която се финализира архитектурата на системата, която ще бъде разработена. Архитектурата може да бъде под формата на дизайн на високо ниво или дизайн на ниско ниво. Архитектурата трябва също да включва хардуерни и софтуерни спецификации на системата, която ще бъде разработена.
в) Кодиране: Това е фазата, в която се пише кодът за системата, която трябва да се разработи. Единично тестване и Тестване на интеграцията трябва да се извърши от разработчиците на този етап преди разполагане на кода за тестване.
г) Тестване: Това е фазата, в която разработеният продукт се тества от независим екип за тестване, за да се потвърди дали отговаря на изискванията в спецификацията на софтуерните изисквания (SRS). Дефектите, възникнали на тази фаза, трябва да бъдат отстранени, преди да се осигури изписване на продукта.
e) Maintenance: Тази фаза идва, след като фазата на тестване приключи. Той се грижи за всички производствени проблеми, които могат да възникнат след доставката на продукта на клиента. Продължителността на фазата на поддръжка се различава при различните проекти и при различните организации.
По-долу е диаграмата за изобразяване на модела на водопада под формата на фази.
Въпрос # 25) Обяснете V-Model в детайли.
Отговор: V-Model означава модел за проверка и валидиране. V-модел е допълнение към модела водопад, в смисъл, че V-модел е и последователен модел. Във V-модел всяка фаза на развитие е свързана със съответна фаза на тестване.
Изображението, дадено по-долу, изобразява различните фази, участващи във V-модела.
какво можете да направите с c ++
Лявата страна на модела е жизнения цикъл на разработката на софтуер, докато дясната страна на модела е жизнения цикъл на софтуерното тестване. Тъй като фазите формират формата на буквата „V“, този модел се нарича V-модел.
Обяснение:
В рамките на V-модела SDLC трябва да се интерпретира отгоре надолу, докато STLC трябва да се интерпретира отдолу нагоре. Първоначално се събират изисквания за документиране на системата, която ще бъде разработена според изискванията на клиента. Екипът за тестване разработва системния план за тестване въз основа на изискванията.
След това идва дизайнът на високо ниво и фазите на детайлно проектиране на ниво, където се подготвя архитектурата на системата. Екипът за тестване подготвя плана за интеграционен тест в тези фази. След като кодирането завърши на SDLC, STLC ще започне от модулно тестване, последвано от интеграционно тестване и тестване на системата.
Заключение
Надяваме се, че тази статия ще ви помогне да пробиете успешно всяко интервю за софтуерен инженер.
- Софтуерното инженерство е прилагането на систематичен, дисциплиниран и количествено измерим подход към разработването, експлоатацията и поддръжката на софтуера.
- Няма твърди правила като такива за типа въпроси на интервюта за софтуерно инженерство, задавани от интервюиращите. Тя варира от организация до организация и вида на ролята, за която се провежда интервюто.
Всичко най-добро за вашето интервю за софтуерен инженер !!
Препоръчително четене
- SDLC (жизнен цикъл на разработка на софтуер) Фази, методологии, процес и модели
- Какво е SDLC модел водопад?
- 25 най-добри инструмента за управление на проекти през 2021 г. (най-новите класации)
- Какво е STLC V-модел?
- Разлика между осигуряване на качество и контрол на качеството (QA срещу QC)
- Тестване на бяла кутия: Пълно ръководство с техники, примери и инструменти
- Тестване на черна кутия: задълбочен урок с примери и техники
- Въпроси и отговори за интервюта