면접 질문 / 프로그램 면접 / 실무 면접 / 디자인 패턴 /
Software Architecture Interview Questions Part 1 - Design Pattern Interview Questions
Introduction / 입문
Hi friends, please do not think you get an architecture position by reading interview questions. But yes there should be some kind of reference which will help you quickly revise what are the definition. Just by reading these answers you get to a position where you are aware of the fundamentals. But if you have not really worked you will surely fail with scenario based questions. So use this as a quick revision rather than a shot cut.
여러분, 인터뷰 질문을 읽으므로 설계 포지션을 얻을 것이라 생각하지 마세요. 그러나 정의를 한것에 대한 빠른 수정을 도와주는 참고적인 것들이 될 수 있다. 단지 이런 질문들을 읽으므로 기본적인 것을 인지하는 수준으로 될 수 있다. 그러나 만약 시나리오 위주의 질문으로 확실히 실패하여 실제로 기여된 것을 없을 수도 있다. 그러면 지름길보다는 빠른 참고로 사용해라.
(B) What are design patterns? / 디자인 패턴은 무엇인가?
Design patterns are documented tried and tested solutions for recurring problems in a given context. So basically you have a problem context and the proposed solution for the same. Design patterns existed in some or other form right from the inception stage of software development.
Let's say if you want to implement a sorting algorithm the first thing comes to mind is bubble sort. So the problem is sorting and solution is bubble sort. Same holds true for design patterns.
디자인 패턴은 주어진 상황의 반복적인 문제를 해결하고 테스트하는 솔루션을 설명한다. 그래서 기본적으로 문제의 상황을 갖고 있으며, 동시에 솔루션을 제안 받는다. 디자인 패턴은 소프트웨어 개발의 초기 단계에서부터 일부 또는 다른 형태로 존재 한다.
예를 들어서 만약 정렬 알고리즘을 구현하려고 한다면 처음 떠오는 생각은 버를 정렬이다. 그래서 문제는 정렬이고 솔루션은 버블정렬이다. 디자인 패턴을 위한 진실을 동시에 보유한다.
(I) Which are the three main categories of design patterns?
/ 디자인 패턴의 3가지 중심 분야는 무엇인가?
There are three basic classifications of patterns Creational, Structural, and Behavioral patterns.
(디자인)패턴의 세가지 기본 분류는 생성, 구조, 행동 패턴이다.
Creational Patterns / 생성 패턴
. Abstract Factory:- Creates an instance of several families of classes
. Builder: - Separates object construction from its representation
. Factory Method:- Creates an instance of several derived classes
. Prototype:- A fully initialized instance to be copied or cloned
. Singleton:- A class in which only a single instance can exist
Note: - The best way to remember Creational pattern is by remembering ABFPS (Abraham Became First President of States).
Structural Patterns / 구조 패턴
. Adapter:-Match interfaces of different classes .
. Bridge:-Separates an object's abstraction from its implementation.
. Composite:-A tree structure of simple and composite objects.
. Decorator:-Add responsibilities to objects dynamically.
. Façade:-A single class that represents an entire subsystem.
. Flyweight:-A fine-grained instance used for efficient sharing.
. Proxy:-An object representing another object.
Note : To remember structural pattern best is (ABCDFFP)
Behavioral Patterns / 행동패턴
. Mediator:-Defines simplified communication between classes.
. Memento:-Capture and restore an object's internal state.
. Interpreter:- A way to include language elements in a program.
. Iterator:-Sequentially access the elements of a collection.
. Chain of Resp: - A way of passing a request between a chain of objects.
. Command:-Encapsulate a command request as an object.
. State:-Alter an object's behavior when its state changes.
. Strategy:-Encapsulates an algorithm inside a class.
. Observer: - A way of notifying change to a number of classes.
. Template Method:-Defer the exact steps of an algorithm to a subclass.
. Visitor:-Defines a new operation to a class without change.
Note: - Just remember Music....... 2 MICS On TV (MMIICCSSOTV).
Note :- In the further section we will be covering all the above design patterns in a more detail manner.
- (A) Can you explain factory pattern?
- (I) Can you explain abstract factory pattern?
- (I) Can you explain builder pattern?
- (I) Can you explain prototype pattern?
- (A) Can you explain shallow copy and deep copy in prototype patterns?
- (B) Can you explain singleton pattern?
- (A) Can you explain command patterns?
- Other Interview question PDF's
http://www.dotnetspark.com/kb/169-software-architecture-interview-questions.aspx
'온라인게임' 카테고리의 다른 글
순환 순서 방식 (0) | 2011.07.14 |
---|---|
Stack with std::list (0) | 2011.07.01 |
녹턴 (0) | 2011.06.09 |
C# TcpClient에 Connect Timeout / 연결 시간 제한 / 타임아웃 설정 / (0) | 2011.05.31 |
c# table 이관 프로그램 / 게임 기획 테이블 / 서비스 적용 / MS-SQL (0) | 2011.05.27 |