top 25 software engineering interview questions
Найчастіші запитання щодо базових та вдосконалених програмних питань Інтерв’ю із детальними відповідями. Підготуйтеся до цього вичерпного переліку поширених запитань співбесіди інженера-технічного програміста для фахівців початкового рівня та старших спеціалістів:
Відповідно до IEEE, програмна інженерія - це застосування системного, дисциплінованого та кількісного підходу до розробки, експлуатації та обслуговування програмного продукту.
Це означає застосовувати систематичний та чітко визначений підхід до розробки програмного продукту.
У цьому посібнику ми розглянемо найпоширеніші запитання співбесіди Інженера-програміста, а також відповіді простими словами для Вашого легкого розуміння.
Найпопулярніші запитання співбесіди з програмною інженерією
Нижче наведено найпоширеніші запитання співбесіди інженера-програміста із відповідями.
Давайте досліджувати !!
Q # 1) Що таке SDLC?
Відповідь: SDLC означає життєвий цикл розробки програмного забезпечення. Він визначає поетапний підхід до розробки програмного забезпечення. SDLC включає наступні етапи, тобто збір вимог, системний аналіз, проектування, кодування, тестування, обслуговування та документація.
Нижче наведено представлення на високому рівні різних фаз, що беруть участь у SDLC.
(зображення джерело )
Q # 2) Які різні моделі доступні в SDLC?
Відповідь: У SDLC доступно кілька моделей для ефективної розробки програмного забезпечення. Деякі моделі включають Модель водоспаду , V-модель, гнучка модель тощо.
Q # 3) Поясніть термін базовий рівень.
Запитання та відповіді співбесіди інженера devops
Відповідь: Базова лінія є етапом проекту, який зазвичай визначається керівником проекту. Базові лінії використовуються для відстеження прогресу проекту час від часу для оцінки загального стану проекту.
Q # 4) Які обов’язки відповідає керівник програмного проекту?
Відповідь: Менеджер програмного забезпечення відповідає за ведення проекту до успішного завершення. Відповідальність менеджера програмного забезпечення - забезпечити, щоб вся команда дотримувалася систематичного та чітко визначеного підходу до розробки програмного забезпечення.
Керівник програмного забезпечення також відповідає за наступні завдання:
- Планування проекту
- Відстеження статусу проекту
- Управління ресурсами
- Управління ризиками
- Виконання проекту в межах часу та бюджету.
Q # 5) Що таке згуртованість?
Відповідь: Згуртованість - це ступінь взаємозв’язку елементів модуля між собою. Це як внутрішній клей, який зв’язує елементи модуля між собою. Хороше програмне забезпечення має високий рівень згуртованості.
Q # 6) Що таке зчеплення?
Відповідь: Зв'язок - це ступінь взаємозалежності між модулями. Хороше програмне забезпечення має низький рівень зв'язку.
Q # 7) Поясніть поняття модуляризації.
Відповідь: Модуляризація використовується для розподілу програмного забезпечення на кілька компонентів або модулів. Над кожним модулем працює незалежна команда з розробки та тестування. Кінцевим результатом буде об'єднання декількох модулів в один робочий компонент.
Q # 8) Що таке управління конфігурацією програмного забезпечення?
Відповідь: Управління конфігурацією програмного забезпечення - це процес відстеження та контролю змін, що відбуваються протягом життєвого циклу розробки програмного забезпечення. Будь-які зміни, внесені під час розробки програмного забезпечення, слід відстежувати за допомогою чітко визначеного та контрольованого процесу.
Управління конфігурацією гарантує, що будь-які зміни, внесені під час розробки програмного забезпечення, контролюються за допомогою чітко визначеного процесу.
Q # 9) Які різні фази SDLC?
Відповідь: Нижче наведено найпоширеніші фази SDLC.
- Аналіз вимог
- Дизайн
- Кодування
- Тестування
- Технічне обслуговування
Q # 10) Наведіть приклади інструментів управління проектами.
Відповідь: Нижче наведено деякі найбільш часто використовувані інструменти управління проектами, які сьогодні доступні в галузі.
- Діаграма Ганта
- Контрольні списки
- Звіти про стан
- Гістограми
- Microsoft Project
Рекомендуємо прочитати => Найкращі інструменти управління проектами, які ви повинні знати
Q # 11) Що таке CASE інструменти?
Відповідь: CASE розшифровується як засоби автоматизованої програмної інженерії, що використовуються для підтримки та прискорення різних видів життєвого циклу розробки програмного забезпечення.
Q # 12) Що таке тестування Black Box?
Відповідь: Тестування чорного ящика передбачає тестування програми без відома внутрішньої структури або реалізації коду. Тестери турбуватимуться лише про функціональність програмного забезпечення при тестуванні чорних ящиків, а не про потік даних та виконання коду в задній частині.
Q # 13) Що таке тестування White Box?
Відповідь: Тестування White Box - це тестування програми із знанням внутрішньої структури та реалізації коду. Це тестування, як правило, виконується розробником, який написав код у формі модульних тестів.
Q # 14) Що таке техніко-економічне обгрунтування?
програмне забезпечення для онлайн-резервного копіювання для постачальників послуг
Відповідь: Проводиться техніко-економічне обґрунтування програмного продукту, щоб оцінити, наскільки практичним та вигідним є розвиток програмного продукту для організації. Програмне забезпечення ретельно аналізується, щоб зрозуміти економічні та технічні аспекти програмного продукту, що розробляється.
Q # 15) Як ви можете виміряти виконання проекту?
Відповідь: За станом виконання проекту можна стежити за допомогою наступних прийомів.
- Звіти про стан
- Контрольні списки
- Моніторинг діяльності
Q # 16) Які функціональні вимоги?
Відповідь: Функціональні вимоги - це функції, які розроблений програмний продукт повинен виконувати. Наприклад, Функціональною вимогою буде додавання способу оплати на веб-сайті електронної комерції.
Q # 17) Що таке нефункціональні вимоги?
Відповідь: Нефункціональні вимоги вимірюють зручність використання програми, таку як зовнішній вигляд інтерфейсу користувача, безпека, продуктивність, сумісність, надійність тощо.
Q # 18) Яка різниця між забезпеченням якості та контролем якості?
Відповідь: Забезпечення якості гарантує, що поставляється програмне забезпечення має найменшу кількість можливих дефектів. Контроль якості - це процес забезпечення збереження якості продукції в довгостроковій перспективі.
Забезпечення якості здійснюється командою тестувальників проекту, тоді як контроль якості зазвичай здійснює спеціальна команда підтримки, яка відповідає за якість продукту, навіть якщо продукт перебуває на стадії технічного обслуговування програмного забезпечення.
Також прочитайте => Забезпечення якості проти контролю якості
Q # 19) Яка різниця між верифікацією та валідацією?
Відповідь: Перевірка - це процес забезпечення правильності побудови продукту з точки зору процесу та стандартів.
Валідація - це процес забезпечення того, щоб ми створювали правильний продукт з точки зору споживача. Верифікація - це методологія статичного тестування, при якій продукт тестується без виконання коду, тоді як валідація - це динамічна методологія тестування.
Варто прочитати => Повне дослідження верифікації та валідації
Q # 20) Яку модель SDLC найкраще вибрати для програмного продукту?
Відповідь: Не існує таких правил, які б вказували, яку саме модель SDLC слід використовувати для програмного продукту. Це залежить від типу програмного проекту, що будується, та політики та процедур організації.
Питання # 21) Що ви маєте на увазі під сферою програмного забезпечення?
Відповідь: Область програмного забезпечення - це перелік функцій, що надаються розробленим програмним забезпеченням. Залежно від обсягу програмного забезпечення можуть бути зроблені такі оцінки, як розподіл часу, бюджет та розподіл ресурсів.
Q # 22) Що таке SRS?
Відповідь: SRS означає документ, що стосується специфікації програмного забезпечення (SRS). Це документ, який охоплює всі функціональні та нефункціональні вимоги товару. Не всі моделі SDLC повинні дотримуватися Документи ЄСВ , деякі моделі фіксують вимоги у вигляді історій користувачів, тоді як деякі моделі у вигляді аркушів Excel тощо.
Q # 23) Яку модель SDLC ви використовували у своєму попередньому проекті?
Відповідь: Відповідь на це питання залежить від досвіду кандидата на співбесіду. Якщо кандидат відповідає на модель SDLC як модель Водоспад, то інтерв'юер почне задавати питання щодо моделі Водоспаду, а якщо він відповість, що вона гнучка, то інтерв'юер почне задавати терміни, пов'язані з Agile методологією, такі як Scrum, Sprint, тощо
Q # 24) Поясніть детально модель Водоспаду.
Відповідь: водоспад модель - це послідовна модель, в якій наступна фаза починається лише після завершення першої фази. Наприклад, фаза тестування розпочнеться лише після завершення фази розробки, фаза технічного обслуговування почнеться лише після завершення фази тестування.
Нижче наведені різні фази, що беруть участь у моделі водоспаду. Зверніть увагу, що кількість фаз і послідовностей фаз може варіюватися в залежності від проекту.
- Вимоги
- Дизайн
- Кодування
- Тестування
- Технічне обслуговування
до) Вимоги: На цьому етапі система, що розробляється, задокументована у вигляді документа специфікації вимог до програмного забезпечення (SRS). Це найважливіший етап SDLC, оскільки чітке розуміння вимог клієнта зменшить переробку на наступних етапах.
б) Дизайн: На цьому етапі доопрацьовується архітектура розробленої системи. Архітектура може бути у формі дизайну високого рівня або дизайну низького рівня. Архітектура також повинна включати технічні та програмні характеристики системи, що розробляється.
в) Кодування: На цьому етапі пишеться код системи, що розробляється. Одиничне тестування і Інтеграційне тестування повинні виконуватися розробниками на цьому етапі перед розгортанням коду для тестування.
d) Тестування: Це етап, коли розроблений продукт тестується незалежною групою тестувань, щоб перевірити, чи відповідає він вимогам Специфікації вимог до програмного забезпечення (SRS). Дефекти, що виникають на цій фазі, повинні бути виправлені перед тим, як подавати сигнал на товар.
e) Технічне обслуговування: Ця фаза настає після завершення фази тестування. Він опікується будь-якими виробничими проблемами, які можуть виникнути після доставки товару замовнику. Тривалість етапу технічного обслуговування відрізняється від проекту до проекту та від однієї організації до іншої.
Нижче наведена схема для зображення моделі водоспаду у вигляді фаз.
Q # 25) Поясніть детально V-модель.
Відповідь: V-Model означає модель перевірки та перевірки. V-модель є доповненням до моделі водоспаду, в тому сенсі, що V-модель також є послідовною моделлю. У V-моделі кожна фаза розвитку пов'язана з відповідною фазою тестування.
Наведене нижче зображення зображує різні фази, що беруть участь у V-моделі.
зв’язаний список на c ++
Лівий бік моделі - життєвий цикл розробки програмного забезпечення, тоді як правий бік моделі - життєвий цикл тестування програмного забезпечення. Оскільки фази утворюють форму букви «V», ця модель називається V-моделлю.
Пояснення:
У рамках V-моделі SDLC слід інтерпретувати зверху вниз, а STLC - знизу вгору. Спочатку збираються вимоги для документування системи, що розроблятиметься відповідно до вимог клієнта. Команда тестування розробляє план тестування системи на основі вимог.
Потім іде дизайн на високому рівні та етапи детального проектування рівня, де готується архітектура системи. На цих етапах команда випробувань готує план інтеграційних випробувань. Як тільки кодування буде завершено на SDLC, STLC почнеться з модульного тестування, після чого відбудеться тестування інтеграції та тестування системи.
Висновок
Сподіваємось, ця стаття допоможе вам успішно зламати будь-яке співбесіду інженера-програміста.
- Програмна інженерія - це застосування системного, дисциплінованого та кількісного підходу до розробки, експлуатації та обслуговування програмного забезпечення.
- Не існує чітких правил щодо типу запитань співбесіди, які задають інтерв'юери. Це залежить від організації та від типу ролі, для якої проводиться співбесіда.
Усього найкращого для вашої співбесіди з інженером-програмістом !!
Рекомендована література
- Етапи, методології, процеси та моделі SDLC (життєвий цикл розробки програмного забезпечення)
- Що таке модель водоспаду SDLC?
- 25 найкращих інструментів управління проектами в 2021 році (останні рейтинги)
- Що таке VLC-модель STLC?
- Різниця між забезпеченням якості та контролем якості (QA проти QC)
- Тестування White Box: Повний посібник із методами, прикладами та інструментами
- Тестування чорної скриньки: поглиблений посібник із прикладами та методами
- Запитання та відповіді на інтерв’ю