top 25 software engineering interview questions
자세한 답변이 포함 된 가장 자주 묻는 기본 및 고급 소프트웨어 엔지니어링 인터뷰 질문. 엔트리 레벨 및 시니어 전문가를위한 일반적인 기술 소프트웨어 엔지니어 인터뷰 질문의 포괄적 인 목록으로 준비하십시오.
IEEE에 따르면 소프트웨어 엔지니어링은 소프트웨어 제품의 개발, 운영 및 유지 관리에 대해 체계적이고 규율 적이며 정량화 가능한 접근 방식을 적용하는 것입니다.
이는 소프트웨어 제품 개발에 체계적이고 잘 정의 된 접근 방식을 적용하는 것을 의미합니다.
이 자습서에서는 가장 일반적으로 묻는 소프트웨어 엔지니어 인터뷰 질문과 함께 간단한 용어로 쉽게 이해할 수 있도록 답변합니다.
가장 인기있는 소프트웨어 엔지니어링 인터뷰 질문
아래에 나열된 것은 답변과 함께 가장 자주 묻는 소프트웨어 엔지니어 인터뷰 질문입니다.
탐험하자 !!
Q # 1) SDLC 란 무엇입니까?
대답: SDLC는 소프트웨어 개발 수명주기를 나타냅니다. 소프트웨어 개발을위한 단계별 접근 방식을 정의합니다. SDLC 요구 사항 수집, 시스템 분석, 설계, 코딩, 테스트, 유지 관리 및 문서화와 같은 단계가 포함됩니다.
다음은 SDLC와 관련된 다양한 단계를 개략적으로 나타낸 것입니다.
[영상 출처 ]
Q # 2) SDLC에서 사용할 수있는 다양한 모델은 무엇입니까?
대답: 소프트웨어 개발을 효율적으로 수행하기 위해 SDLC에서 사용할 수있는 여러 모델이 있습니다. 일부 모델에는 다음이 포함됩니다. 폭포 모델 , V- 모델, 애자일 모델 등
Q # 3) 기준선이라는 용어를 설명하십시오.
경험있는 자바 프로그래밍 인터뷰 질문
대답: 기준선은 일반적으로 프로젝트 관리자가 정의하는 프로젝트의 이정표입니다. 프로젝트의 전반적인 건전성을 평가하기 위해 수시로 프로젝트의 진행 상황을 추적하는 데 기준선이 사용됩니다.
질문 # 4) 소프트웨어 프로젝트 관리자의 책임은 무엇입니까?
대답: 소프트웨어 프로젝트 관리자는 프로젝트를 성공적으로 완료 할 책임이 있습니다. 전체 팀이 소프트웨어 개발에 대해 체계적이고 잘 정의 된 접근 방식을 따르도록하는 것은 소프트웨어 프로젝트 관리자의 책임입니다.
소프트웨어 프로젝트 관리자는 다음 작업도 담당합니다.
- 프로젝트 계획
- 프로젝트 상태 추적
- 자원 관리
- 위기 관리
- 시간과 예산 내에서 프로젝트 제공.
Q # 5) 응집력이란 무엇입니까?
대답: 응집력은 모듈의 요소가 서로 상호 관련되는 정도입니다. 모듈의 요소를 함께 묶는 내부 접착제와 같습니다. 좋은 소프트웨어는 높은 수준의 응집력을 가지고 있습니다.
문 # 6) 커플 링이란?
대답: 커플 링은 모듈 간의 상호 의존 정도입니다. 좋은 소프트웨어는 결합 수준이 낮습니다.
Q # 7) 모듈화의 개념을 설명하십시오.
대답: 모듈화는 소프트웨어를 여러 구성 요소 또는 모듈로 분할하는 데 사용됩니다. 각 모듈은 독립적 인 개발 및 테스트 팀에서 작업합니다. 최종 결과는 여러 모듈을 단일 작업 구성 요소로 결합하는 것입니다.
질문 # 8) 소프트웨어 구성 관리 란 무엇입니까?
대답: 소프트웨어 구성 관리는 소프트웨어 개발 수명주기 동안 발생하는 변경 사항을 추적하고 제어하는 프로세스입니다. 소프트웨어 개발 중에 이루어진 모든 변경 사항은 잘 정의되고 통제 된 프로세스를 통해 추적되어야합니다.
구성 관리는 소프트웨어 개발 중 변경된 사항이 잘 정의 된 프로세스를 통해 제어되도록합니다.
Q # 9) SDLC의 다양한 단계는 무엇입니까?
대답: 다음은 SDLC의 가장 일반적인 단계입니다.
- 요구 사항 분석
- 디자인
- 코딩
- 테스팅
- 유지
Q # 10) 프로젝트 관리 도구의 예를 제공하십시오.
대답: 다음은 오늘날 업계에서 가장 일반적으로 사용되는 프로젝트 관리 도구 중 일부입니다.
- 간트 차트
- 체크리스트
- 상태 보고서
- 히스토그램
- 마이크로 소프트 프로젝트
추천 읽기 => 알아야 할 최고의 프로젝트 관리 도구
문 # 11) CASE 도구 란 무엇입니까?
대답: CASE는 Software Development Lifecycle의 다양한 활동을 지원하고 가속화하는 데 사용되는 Computer-Aided Software Engineering 도구를 나타냅니다.
Q # 12) 블랙 박스 테스트 란?
대답: 블랙 박스 테스트에는 내부 구조 또는 코드 구현에 대한 지식없이 애플리케이션 테스트가 포함됩니다. 테스터는 백엔드에서 데이터 흐름과 코드 실행보다는 블랙 박스 테스트에서 소프트웨어의 기능에만 신경을 썼습니다.
Mac 용 MP4 변환기 무료 YouTube
Q # 13) 화이트 박스 테스트 란 무엇인가요?
대답: 화이트 박스 테스트는 내부 구조 및 코드 구현에 대한 지식으로 애플리케이션을 테스트하는 것입니다. 이 테스트는 일반적으로 단위 테스트의 형태로 코드를 작성한 개발자가 수행합니다.
Q # 14) 타당성 조사 란 무엇입니까?
대답: 타당성 조사는 소프트웨어 제품 개발이 조직에 얼마나 실용적이고 유익한지를 평가하기 위해 소프트웨어 제품에 대해 수행됩니다. 소프트웨어는 개발 될 소프트웨어 제품의 경제적, 기술적 측면을 이해하기 위해 철저하게 분석됩니다.
Q # 15) 프로젝트 실행을 어떻게 측정 할 수 있습니까?
대답: 다음 기술을 사용하여 프로젝트 실행 상태를 모니터링 할 수 있습니다.
- 상태 보고서
- 마일스톤 체크리스트
- 활동 모니터링
문 # 16) 기능적 요구 사항은 무엇입니까?
대답: 기능 요구 사항은 개발 된 소프트웨어 제품이 수행 할 것으로 예상되는 기능입니다. 예를 들면 전자 상거래 웹 사이트에서 결제 옵션을 추가하는 것은 기능적 요구 사항입니다.
Q # 17) 비 기능적 요구 사항은 무엇입니까?
대답: 비 기능적 요구 사항은 사용자 인터페이스 모양과 느낌, 보안, 성능, 상호 운용성, 안정성 등과 같은 응용 프로그램의 유용성을 측정합니다.
Q # 18) 품질 보증과 품질 관리의 차이점은 무엇입니까?
대답: 품질 보증은 제공된 소프트웨어에 가능한 최소한의 결함이 있는지 확인합니다. 품질 관리는 제품의 품질이 장기적으로 유지되도록하는 프로세스입니다.
품질 보증은 프로젝트의 테스트 팀에서 수행하는 반면 품질 관리는 일반적으로 제품이 소프트웨어 엔지니어링의 유지 관리 단계에 있더라도 제품의 품질을 담당하는 전담 지원 팀에서 수행합니다.
또한 읽기 => 품질 보증 대 품질 관리
Q # 19) 검증과 검증의 차이점은 무엇입니까?
대답: 검증은 프로세스 및 표준 관점에서 제품이 올바르게 구축되었는지 확인하는 프로세스입니다.
유효성 검사는 고객 관점에서 올바른 제품을 구축하도록 보장하는 프로세스입니다. 검증은 코드를 실행하지 않고 제품을 테스트하는 정적 테스트 방법론 인 반면 검증은 동적 테스트 방법론입니다.
읽을만한 가치 => 검증 및 검증에 대한 완전한 연구
Q # 20) 소프트웨어 제품에 가장 적합한 SDLC 모델은 무엇입니까?
대답: 소프트웨어 제품에 사용해야하는 특정 SDLC 모델을 지정하는 것과 같은 규칙은 없습니다. 구축중인 소프트웨어 프로젝트의 유형과 조직의 정책 및 절차에 따라 다릅니다.
Q # 21) 소프트웨어 범위 란 무엇을 의미합니까?
대답: 소프트웨어 범위는 개발 된 소프트웨어에서 제공하는 기능 목록입니다. 소프트웨어의 범위를 기반으로 시간 할당, 예산 및 자원 할당과 같은 추정을 수행 할 수 있습니다.
문 # 22) SRS 란 무엇입니까?
대답: SRS는 SRS (Software Requirement Specification) 문서를 나타냅니다. 제품의 모든 기능 및 비 기능적 요구 사항을 캡처하는 문서입니다. 모든 SDLC 모델이 따라야하는 것은 아닙니다. SRS 문서 , 일부 모델은 사용자 스토리 형식으로 요구 사항을 캡처하는 반면 일부 모델은 엑셀 시트 등으로 캡처합니다.
질문 # 23) 이전 프로젝트에서 사용한 SDLC 모델은 무엇입니까?
대답: 이 질문에 대한 답은 인터뷰 후보자의 경험에 달려 있습니다. 후보자가 SDLC 모델을 Waterfall 모델로 대답하면 면접관은 Waterfall 모델에 대한 질문을 시작하고 Agile이라고 대답하면 면접관은 Scrum, Sprint, 기타
질문 # 24) 폭포 모델을 자세히 설명하십시오.
대답: 그만큼 폭포 모델은 첫 번째 단계가 완료된 후에 만 다음 단계가 시작되는 순차 모델입니다. 예를 들면 테스트 단계는 개발 단계가 완료된 후에 만 시작되고 유지 관리 단계는 테스트 단계가 완료된 후에 만 시작됩니다.
다음은 폭포 모델과 관련된 다양한 단계입니다. 단계의 수와 단계의 순서는 프로젝트마다 다를 수 있습니다.
- 요구 사항
- 디자인
- 코딩
- 테스팅
- 유지
에) 요구 사항 : 이것은 개발할 시스템이 SRS (Software Requirement Specification) 문서 형식으로 문서화되는 단계입니다. 고객의 요구 사항을 명확하게 이해하면 다음 단계에서 재 작업을 줄일 수 있으므로 이것은 SDLC의 가장 중요한 단계입니다.
Windows 7 용 안전한 레지스트리 클리너
b) 디자인 : 이것은 개발할 시스템의 아키텍처가 완성되는 단계입니다. 아키텍처는 고수준 디자인 또는 저수준 디자인의 형태 일 수 있습니다. 아키텍처에는 개발할 시스템의 하드웨어 및 소프트웨어 사양도 포함되어야합니다.
c) 코딩 : 개발할 시스템의 코드가 작성되는 단계입니다. 단위 테스트 과 통합 테스트 테스트를 위해 코드를 배포하기 전에이 단계에서 개발자가 수행해야합니다.
d) 테스트 : 이것은 개발 된 제품이 소프트웨어 요구 사항 사양 (SRS)의 요구 사항을 충족하는지 확인하기 위해 독립적 인 테스트 팀에서 테스트하는 단계입니다. 이 단계에서 제기 된 결함은 제품에 대한 승인을 제공하기 전에 수정해야합니다.
e) 유지 보수 : 이 단계는 테스트 단계가 완료되면 발생합니다. 제품이 고객에게 배송 된 후 발생할 수있는 모든 생산 문제를 처리합니다. 유지 관리 단계의 기간은 프로젝트마다, 조직마다 다릅니다.
아래는 단계 형태로 폭포 모델을 묘사하는 다이어그램입니다.
Q # 25) V- 모델에 대해 자세히 설명해주세요.
대답: V-Model은 검증 및 검증 모델을 나타냅니다. V- 모델 V- 모델도 순차 모델이라는 점에서 폭포 모델에 추가되었습니다. V-model에서 각 개발 단계는 해당 테스트 단계와 연관됩니다.
아래 주어진 이미지는 V-model과 관련된 다양한 단계를 보여줍니다.
모델의 왼쪽은 소프트웨어 개발 수명주기이고 모델의 오른쪽은 소프트웨어 테스트 수명주기입니다. 위상이 문자 'V'의 모양을 이루므로이 모델을 V-Model이라고합니다.
설명:
V-Model 내에서 SDLC는 위에서 아래로 해석되고 STLC는 아래에서 위로 해석됩니다. 처음에는 클라이언트 요구 사항에 따라 개발할 시스템을 문서화하기 위해 요구 사항이 수집됩니다. 테스트 팀은 요구 사항에 따라 시스템 테스트 계획을 개발합니다.
그런 다음 시스템 아키텍처가 준비되는 높은 수준의 설계와 세부적인 수준의 설계 단계가 있습니다. 테스트 팀은이 단계에서 통합 테스트 계획을 준비합니다. SDLC에서 코딩이 완료되면 STLC는 단위 테스트에서 시작하여 통합 테스트 및 시스템 테스트가 이어집니다.
결론
이 기사가 소프트웨어 엔지니어 인터뷰를 성공적으로 해결하는 데 도움이되기를 바랍니다.
- 소프트웨어 엔지니어링은 소프트웨어의 개발, 운영 및 유지 관리에 체계적이고 규율 적이며 정량화 가능한 접근 방식을 적용하는 것입니다.
- 면접관이 묻는 소프트웨어 엔지니어링 면접 질문 유형에 대한 엄격하고 빠른 규칙은 없습니다. 조직마다 다르며 인터뷰가 수행되는 역할 유형이 다릅니다.
소프트웨어 엔지니어 인터뷰에 최선을 다합니다 !!