Offcanvas

How To / 경력관리 / 리더십|조직관리 / 소프트스킬 / 인문학|교양

개발자·IT 전문직을 위한 기술 인터뷰 준비법

2013.09.04 Rich Hein   |  CIO


.NET 관련 질문
- ASP.NET 페이지를 위한 일반적인 페이지 라이프 사이클 단계는 무엇인가?
- 폴리모피즘(Polymorphism)이란 무엇일까?
- 제네릭스(Generics)의 장점은 무엇이 있을까?
- 두 테이블 사이의 다-대-다 관계 디자인한다면?
- 설계 패턴이란 무엇이며 왜 사용되는가? 몇 가지 사례와 그것의 과거 사용 경험을 이야기해 보시오.
- 활용 가능한 .NET 수집 유형에는 어떤 것이 있는가? 각 유형의 차이를 간략히 설명하고 특정 상황에 특정 유형을 이용하려는 이유를 제시하시오.

OOP 설계 유형 관련 물음
- 어떻게 클래스 도해(class diagram)를 이용해 파일 시스템을 설계할 것인가? 어떤 데이터스트럭처(datastructure)를 이용할 것이고 그 이유는 무엇인가?
- 어떻게 각 계정이 인덱싱 혹은 클라이언트 계정화 되는 계정 관리 시스템을 설계할 것인가? 각 계정은 보류(holding)를 갖춰야 하며, 각 보류는 관련 보안 정보를 갖춰야 한다. 또한 보류는 가격 설정을 위해 복수의 묶음으로 구성되어야 한다. 어떻게 이를 모델링 할 것인가?
- 동물원의 동물들을 위한 클래스 구조를 어떻게 설계할 것인가?

코딩 과제 예시
우리는 컴팩트하고 신속한 구동이 가능한 솔루션을 원한다. ‘신속함'의 의미는 우리가 사용하는 용어에 따라 달라질 수 있지만, 기본적으로 구동에 500 밀리초 이상이 소요되어서는 안된다. 당신이 가장 익숙한 언어를 사용하되, 우리에겐 비주얼 스튜디오(Visual Studio)가 갖춰져 있지 않다는 점을 고려해 C++ 솔루션은 표준 G++로 번역 되어야 함을 참고하라.
 

문제:
하나의 단어가 사전적 의미로써의 단어가 아닌, 단순한 알파벳의 조합이라고 생각해보자. 두 글자 이상이 들어간 단어라면, 알파벳 순서만 바꿔 똑같은 글자가 들어간 다른 단어를 만들어 낼 수 있다. 영단어 'stationarily'와 'antiroyalist'는 모두 사전에서 찾을 수 있는 단어이지만, 동시에 같은 알파벳으로 글자의 순서 조합만 바꾼 것이기도 하다. 사전에는 없는 단어지만 저 단어들에 들어간 알파벳을 사용해 alianrostily라는 단어도 임의로 만들 수 있다. 그렇다면, 위의 알파벳 글자들을 사용해 조합해낼 수 있는 글자들에 고유 숫자를 매길 수도 있을 것이다.

가능한 단어 조합 목록을 전부 나열한 뒤 필요한 단어를 찾는 것이 하나의 방법이 될 수도 있을 것이다. 그러나 단어의 길이가 길어질 경우 그 과정에는 긴 시간이 소요되게 된다. 단어를 명령 행 인수(command line argument)로써 받아들이고 그것의 숫자를 출력하는 표준을 인쇄하는 프로그램을 작성하라. 위에 제시된 전체 리스트 수집 방식은 이용할 수 없다. 프로그램은 중복 포함 최대 25자의 단어를 받아들일 수 있어야 한다. 메모리는 1 기가를 넘겨선 안되고 구동 시간은 500 밀리세컨드 이내여야 한다.


전통적인 인터뷰를 선호하는 회사가 있는가 하면, 창의적인 문제를 제시하는 회사도 있다. 일부는 게임이나 퍼즐을 이용하기도 한다.

리드는 "정확한 정답을 바라지 않는다. 구직자가 문제를 이해하는 방식, 문제를 해결하는 방식을 파악하는 것이다. 질문에 대한 대답보다는 여기에 더 많은 정보가 있다"라고 말했다. ciokr@idg.co.kr
 

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.