소프트웨어 엔지니어링 면접 질문
독자 여러분,이 Software Engineering Interview Questions 주제에 대한 인터뷰 중에 접할 수있는 질문의 성격을 알 수 있도록 특별히 고안되었습니다. Software Engineering. 내 경험에 따르면 좋은 면접관은 인터뷰 중에 특정 질문을 할 계획이 거의 없었습니다. 일반적으로 질문은 주제에 대한 기본 개념으로 시작하고 나중에 추가 토론과 답변을 기반으로 계속됩니다.
Q.What is computer software?
A. 컴퓨터 소프트웨어는 소프트웨어 프로그램, 설명서 및 소프트웨어 사용 방법에 대한 사용자 가이드가 포함 된 완전한 패키지입니다.
Q.Can you differentiate computer software and computer program?
A. 컴퓨터 프로그램은 소프트웨어가 프로그래밍 코드, 설명서 및 사용자 가이드를 포함하는 잘 정의 된 작업을 수행하는 프로그래밍 코드입니다.
Q.What is software engineering?
A. 소프트웨어 엔지니어링은 소프트웨어 시스템 개발과 관련된 엔지니어링 분야입니다.
Q.When you know programming, what is the need to learn software engineering concepts?
A.벽을 지을 줄 아는 사람은 집 전체를 지을 수 없습니다. 마찬가지로 프로그램을 작성할 수있는 사람은 소프트웨어 엔지니어링의 다른 개념에 대한 지식이 없을 수 있습니다. 소프트웨어 엔지니어링 개념은 프로그래머에게 최종 사용자의 요구 사항을 평가하고, 실제 코딩이 시작되기 전에 알고리즘을 설계하고, 코딩을 통해 프로그램을 만들고, 코드 및 문서를 테스트하는 방법을 안내합니다.
Q.What is software process or Software Development Life Cycle (SDLC)?
A.소프트웨어 개발 라이프 사이클 또는 소프트웨어 프로세스는 요구 사항 수집, 시스템 분석, 디자인, 코딩, 테스트, 유지 관리 및 문서화 순서대로 개발 프로세스의 모든 단계를 따라 소프트웨어를 체계적으로 개발하는 것입니다.
Q.What are SDLC models available?
A. Waterfall Model, Iterative Model, Spiral 모델, V-model 및 Big-bang Model 등과 같은 여러 SDLC 모델을 사용할 수 있습니다.
Q.What are various phases of SDLC?
A.SDLC의 일반적인 단계는 요구 사항 수집, 시스템 분석 및 설계, 코딩, 테스트 및 구현입니다. 단계는 소프트웨어 개발을 위해 선택한 모델에 따라 다릅니다.
Q.Which SDLC model is the best?
A.SDLC 모델은 개발 프로세스의 요구 사항에 따라 채택됩니다. 어떤 모델이 적합한 지 확인하는 것은 매우 소프트웨어 대 소프트웨어 일 수 있습니다.
다음과 같은 답변이 만족되면 최상의 SDLC 모델을 선택할 수 있습니다.
- SDLC는 소프트웨어를 구현하기 위해 선택한 기술에 적합합니까?
- SDLC가 고객의 요구 사항 및 우선 순위에 적합합니까?
- SDLC 모델이 소프트웨어의 크기와 복잡성에 적합합니까?
- SDLC 모델은 우리가 수행하는 프로젝트 및 엔지니어링 유형에 적합합니까?
- SDLC는 지리적으로 공존하거나 분산 된 개발자에게 적합합니까?
Q.What is software project management?
A. 소프트웨어 프로젝트 관리는 소프트웨어 개발과 관련된 시간, 비용 및 품질 관리와 같은 모든 활동을 관리하는 프로세스입니다.
Q.Who is software project manager?
A. 소프트웨어 프로젝트 관리자는 소프트웨어 프로젝트를 수행하는 책임을 맡은 사람입니다.
Q.What does software project manager do?
A. 소프트웨어 프로젝트 관리자는 소프트웨어 관리 활동에 참여합니다. 그는 프로젝트 계획, 진행 상황 모니터링, 이해 관계자 간의 의사 소통, 위험 및 리소스 관리, 원활한 개발 실행 및 시간, 비용 및 품질 제약 내에서 프로젝트를 제공하는 업무를 담당합니다.
Q.What is software scope?
A. 소프트웨어 범위는 소프트웨어 제품을 개발하고 제공하기 위해 수행되는 모든 활동을 포함하는 잘 정의 된 경계입니다.
소프트웨어 범위는 소프트웨어의 일부로 제공되는 모든 기능과 아티팩트를 명확하게 정의합니다. 범위는 제품이 수행 할 작업과 수행하지 않을 작업, 최종 제품에 포함될 내용 및 포함되지 않을 사항을 식별합니다.
Q.What is project estimation?
A.노력, 시간, 자원의 측면에서 개발 비용을 계산하기 위해 소프트웨어 제품의 다양한 측면을 추정하는 프로세스입니다. 이 추정치는 전문가와상의하거나 미리 정의 된 공식을 사용하여 과거 경험에서 파생 될 수 있습니다.
Q.How can we derive the size of software product?
A. 소프트웨어 제품의 크기는 두 가지 방법 중 하나를 사용하여 계산할 수 있습니다.
- 전달 된 코드 줄 계산
- 전달 된 기능 점수 계산
Q.What are function points?
A.기능 포인트는 소프트웨어 제품에서 제공하는 다양한 기능입니다. 소프트웨어 크기의 측정 단위로 간주됩니다.
Q.What are software project estimation techniques available?
A. 사용 가능한 많은 추정 기술이 있으며 가장 널리 사용되는 방법은 다음과 같습니다.
- 분해 기법 (코드 라인 및 기능 포인트 계산)
- 경험적 기법 (Putnam 및 COCOMO).
Q.What is baseline?
A.기준선은 단계의 완전성을 정의하는 측정입니다. 특정 단계와 관련된 모든 활동이 완료되면 단계가 완료되고 다음 단계의 기준 역할을합니다.
Q.What is Software configuration management?
A. 소프트웨어 구성 관리는 제품의 요구 사항, 디자인, 기능 및 개발 측면에서 소프트웨어의 변경 사항을 추적하고 제어하는 프로세스입니다.
Q.What is change control?
A. 변경 제어는 구성 관리의 기능으로, 소프트웨어 시스템에 대한 모든 변경 사항이 일관되고 조직 규칙 및 규정에 따라 이루어 지도록합니다.
Q.How can you measure project execution?
A. 활동 모니터링, 상태 보고서 및 마일스톤 체크리스트를 통해 프로젝트 실행을 측정 할 수 있습니다.
Q.Mention some project management tools.
A.소프트웨어 프로젝트 및 조직 정책의 요구 사항에 따라 사용되는 다양한 프로젝트 관리 도구가 있습니다. 여기에는 간트 차트, PERT 차트, 리소스 히스토그램, 중요 경로 분석, 상태 보고서, 마일스톤 체크리스트 등이 포함됩니다.
Q.What are software requirements?
A.소프트웨어 요구 사항은 제안 된 소프트웨어 시스템의 기능 설명입니다. 요구 사항은 대상 시스템, 그 기능 및 특징에 대한 설명으로 간주됩니다. 요구 사항은 시스템에서 사용자의 기대치를 전달합니다.
Q.What is feasibility study?
A.소프트웨어 프로젝트 개발이 조직에 얼마나 실용적이고 유익한 지 평가하는 척도입니다. 소프트웨어 분석기는 프로젝트의 경제, 기술 및 운영 가능성을 이해하기 위해 철저한 연구를 수행합니다.
Economic -자원 운송, 교육 비용, 추가 유틸리티 및 도구 비용, 프로젝트의 비용 및 이점에 대한 전반적인 추정.
Technical -이 시스템을 개발할 수 있습니까? 소프트웨어가 실행될 기계 및 운영 체제, 기존 개발자의 지식 및 기술, 교육, 유틸리티 또는 프로젝트 도구의 적합성 평가.
Operational -조직은 프로젝트 수요에 따라 변경된 사항에 원활하게 적응할 수 있습니까? 문제를 해결할 가치가 있습니까?
Q.How can you gather requirements?
A. 요구 사항은 인터뷰, 설문 조사, 작업 분석, 브레인 스토밍, 도메인 분석, 프로토 타이핑, 기존 사용 가능한 소프트웨어 버전 연구 및 관찰을 통해 사용자로부터 수집 할 수 있습니다.
Q.What is SRS?
A.SRS 또는 소프트웨어 요구 사항 사양은 요구 사항 수집 프로세스시 생성 된 문서입니다. 요구 사항을 구체화하고 문서화하는 프로세스로도 볼 수 있습니다.
Q.What are functional requirements?
A. 기능적 요구 사항은 제안 된 소프트웨어 제품에서 사용자가 기대하는 기능적 특징 및 사양입니다.
Q.What are non-functional requirements?
A. 비 기능적 요구 사항은 암시 적이며 보안, 성능, 사용자 인터페이스의 모양과 느낌, 상호 운용성, 비용 등과 관련됩니다.
Q.What is software measure?
A. 소프트웨어 측정은 소프트웨어의 다양한 속성과 측면을 정량화하고 상징화하는 프로세스로 이해할 수 있습니다.
Q.What is software metric?
A.소프트웨어 메트릭은 소프트웨어 프로세스 및 소프트웨어 제품의 다양한 측면에 대한 측정 값을 제공합니다. 그들은 다음과 같이 나뉩니다.
- 요구 사항 메트릭 : 길이 요구 사항, 완전성
- 제품 메트릭스 : 코드 라인, 객체 지향 메트릭, 디자인 및 테스트 메트릭
- 프로세스 메트릭 : 예산, 일정, 인적 자원을 평가하고 추적합니다.
Q.What is modularization?
A. 모듈화는 소프트웨어 시스템을 여러 개의 개별 모듈로 분할하는 기술이며, 이러한 모듈은 독립적으로 작업을 수행 할 것으로 예상됩니다.
Q.What is concurrency and how it is achieved in software?
A.동시성은 이벤트 또는 작업이 동시에 발생하는 경향입니다. 소프트웨어에서는 둘 이상의 프로세스가 동시에 실행될 때 동시 프로세스라고합니다.
예
인쇄 명령을 시작하고 인쇄가 시작되는 동안 새 응용 프로그램을 열 수 있습니다.
동시성은 소프트웨어를 여러 독립 실행 단위, 즉 프로세스와 스레드로 분할하고 병렬로 실행하여 구현됩니다.
Q.What is cohesion?
A. 응집력은 모듈 요소 간의 내부 의존성 정도를 정의하는 척도입니다.
Q.What is coupling?
A. 커플 링은 프로그램 모듈 간의 상호 의존성 수준을 정의하는 척도입니다.
Q.Mentions some software analysis & design tools?
A. DFD (데이터 흐름 다이어그램), 구조화 된 차트, 구조화 된 영어, 데이터 사전, HIPO (계층 적 입력 프로세스 출력) 다이어그램, ER (엔티티 관계) 다이어그램 및 의사 결정 테이블이 될 수 있습니다.
Q.What is level-0 DFD?
A. 가장 높은 추상화 수준 DFD는 컨텍스트 수준 DFD라고도하는 수준 0 DFD로 알려져 있으며 전체 정보 시스템을 모든 기본 세부 정보를 은폐하는 하나의 다이어그램으로 묘사합니다.
Q.What is the difference between structured English and Pseudo Code?
A. 구조화 된 영어는 프로그래밍 언어 키워드를 사용하여 프로그램 모듈의 구조를 작성하는 데 사용되는 모국어 인 반면, 의사 코드는 프로그래밍 언어에 더 가깝고 모국어 영어 단어 또는 문장을 사용하여 코드의 일부를 작성합니다.
Q.What is data dictionary?
A.데이터 사전을 메타 데이터라고합니다. 즉, 데이터에 대한 데이터 저장소입니다. 데이터 사전은 명명 규칙과 함께 개체 및 파일과 같은 시스템에서 사용되는 이름과 참조를 구성하는 데 사용됩니다.
Q.What is structured design?
A.구조화 된 디자인은 문제를 여러 가지 잘 구성된 솔루션 요소로 개념화 한 것입니다. 솔루션 설계에 대한 관심이며 '분할 및 정복'전략을 기반으로합니다.
Q.What is the difference between function oriented and object oriented design?
A.기능 지향 설계는 기능으로 알려진 많은 작은 하위 시스템으로 구성됩니다. 각 기능은 시스템에서 중요한 작업을 수행 할 수 있습니다. 객체 지향 디자인은 실제 객체 (엔티티), 해당 클래스 (범주) 및 객체 (함수)에서 작동하는 메서드를 중심으로 작동합니다.
Q.Briefly define top-down and bottom-up design model.
A. 하향식 모델은 시스템의 일반화 된보기로 시작하여 더 구체적인 것으로 분해하는 반면 상향식 모델은 가장 구체적이고 기본적인 구성 요소부터 시작하여 더 높은 수준의 추상화를 얻기 위해 구성 요소를 계속 구성합니다.
Q.What is the basis of Halstead’s complexity measure?
A. Halstead의 복잡성 측정은 프로그램의 실제 구현에 달려 있으며 프로그램에서 사용되는 토큰을 측정 기준으로 간주합니다.
Q.Mention the formula to calculate Cyclomatic complexity of a program?
A. 순환 복잡도는 그래프 이론의 공식을 사용합니다. V (G) = e – n + 2
Q.What is functional programming?
A.함수형 프로그래밍은 수학 함수의 개념을 사용하는 프로그래밍 언어 스타일입니다. 프로그램 상태에 관계없이 결과를 생성하는 수학 함수로 계산 수단을 제공합니다.
Q.Differentiate validation and verification?
A. 검증은 제품이 사용자 요구 사항에 따라 만들어 졌는지 확인하는 반면 검증은 제품 개발을 위해 적절한 단계를 따랐는지 확인합니다.
검증은 올바른 제품을 확인하고 검증은 제품이 올바른 방식으로 제작되었는지 확인합니다.
Q.What is black-box and white-box testing?
A.블랙 박스 테스트는 유효한 입력 값이 제공 될 때 원하는 출력이 생성되는지 확인합니다. 프로그램의 실제 구현을 확인하지는 않습니다.
화이트 박스 테스트는 유효한 입력이 제공 될 때 원하는 출력과 유효한 출력을 확인할뿐만 아니라 코드가 올바르게 구현되었는지도 확인합니다.
기준 | 블랙 박스 테스트 | 화이트 박스 테스트 |
---|---|---|
소프트웨어 프로그램, 디자인 및 구조에 대한 지식 필수 | 아니 | 예 |
필수 소프트웨어 구현에 대한 지식 | 아니 | 예 |
소프트웨어에서이 테스트를 수행하는 사람 | 소프트웨어 테스팅 직원 | 소프트웨어 개발자 |
테스터를위한 기준선 참조 | 요구 사항 사양 | 디자인 및 구조 세부 정보 |
Q.Quality assurance vs. Quality Control?
A. Quality Assurance는 소프트웨어가 소프트웨어를 개발하는 동안 적절한 프로세스가 수행되는지 확인하기 위해 모니터링합니다.
품질 관리는 소프트웨어 제품의 품질 유지를 다룹니다.
Q.What are various types of software maintenance?
A. 유지 관리 유형은 수정, 적응, 완벽 및 예방입니다.
- Corrective
사용자가 발견 한 오류 제거
- Adaptive
소프트웨어가 작동하는 하드웨어 및 소프트웨어 환경의 변화에 대처
- Perfective maintenance
사용자의 기존 또는 새로운 요구 사항 변경 구현
- Preventive maintenance
향후 문제를 피하기 위해 적절한 조치를 취함
Q.What is software re-engineering?
A.소프트웨어 리엔지니어링은 소프트웨어의 기능을 변경하지 않고 소프트웨어가 구축 된 기술을 업그레이드하는 프로세스입니다. 이것은 소프트웨어를 최신 기술로 조정하기 위해 수행됩니다.
Q.What are CASE tools?
A.CASE는 Computer Aided Software Engineering의 약자입니다. CASE 도구는 SDLC 활동을 지원, 가속화 및 원활하게하는 데 사용되는 자동화 된 소프트웨어 응용 프로그램 세트입니다.
다음은 무엇입니까?
또한 주제에 대해 수행 한 과거 과제를 살펴보고 자신있게 말할 수 있는지 확인할 수 있습니다. 당신이 더 신선하다면 면접관은 당신이 매우 복잡한 질문에 답할 것이라고 기대하지 않고 오히려 당신의 기본 개념을 매우 강하게 만들어야합니다.
둘째, 몇 가지 질문에 답할 수 없다면 그다지 중요하지 않지만 어떤 답을하든 자신있게 대답 했어야합니다. 그러니 인터뷰 중에 자신감을 느끼십시오. 우리는 tutorialspoint에서 좋은 면접관과 미래의 노력을 위해 최선을 다할 수 있기를 바랍니다. 건배 :-)