소프트웨어 테스터를 위한 구글 벤치마킹_문제풀이

IT 정보|2014. 7. 23. 15:30

Q1) 다음 중 초기 구글이 웹페이지 순위를 매기기 위해 사용한 정보로 바르지 않은 것은?

1. 페이지랭크 

2. 청크 정보 

3. 앵커 텍스트 

4. 단어

정답 2

초기 구글은 웹페이지 순위를 매기기 위해서 페이지랭크, 앵커 텍스트, 단어 이 3가지 정보를 사용하였습니다. 하지만 현재는 최소 100가지 이상의 방법을 이용해 랭킹을 수행하고 있으며 현재도 끊임없이 개선하고 있습니다.

 

Q2) 다음 중 앵커 텍스트에 대한 설명이 바르지 않은 것은?

1. 앵커 텍스트는 웹 페이지에 링크를 할 때 링크된 문자열을 일컫는다. 

2. 많은 페이지에 링크되어 있다는 것이 그 페이지 자체에 있는 정보보다 더 신뢰롭다. 

3. 페이지랭크와 달리 웹 페이지를 문자열과 관련짓지 않는다. 

4. 이용자가 검색하려고 할 때만 의미를 갖는다. 

정답 3

페이지랭크와 달리 웹 페이지를 문자열과 관련짓습니다. 또한 페이지랭크가 무엇을 검색하더라도 변화가 없는데 반해 앵커 텍스트는 이용자가 검색하려고 할 때만 의미를 갖습니다.

 

Q3) 새로운 검색 클러스터에서 wordID가 아닌 docID에 의해 인덱스를 분할하도록 개선한 것의 장점이 아닌 것은?

1. 개개의 인덱스에 포함되는 웹 페이지의 수를 무한정으로 늘릴 수 있게 되었다. 

2. 검색에 걸리는 부하도 예측이 가능하게 되었다. 

3. 웹 페이지의 수가 증가해도 일정 시간 내에 검색을 마칠 수 있는 근거를 마련했다. 

4. 인덱스 생성시 인덱스의 크기를 줄일 수 있게 되었다. 

정답 1

wordID가 아닌 docID에 의해 인덱스를 분할하게 함으로써 개개의 인덱스에 포함되는 웹 페이지의 수를 일정한 수 이하로 제한할 수 있게 되었습니다. 즉 이를 통해 검색을 모든 인덱스로 분산할 수 있으며 개개의 검색 결과에 의해 발견되는 웹 페이지 수에 상한선이 주어질 수 있게 되었고 웹 페이지의 수가 증가해도 일정 시간 내에 검색을 마칠 수 있게 된 것입니다.

 

Q4) 다음 중 GFS의 기능에 포함되지 않는 것은?

1. 작성과 삭제 

2. 열기와 닫기

3. 읽기와 쓰기 

4. 스냅샷과 레코드 삭제

정답 4

GFS의 기능으로는 작성, 삭제, 열기, 닫기, 읽기, 쓰기, 스냅샷, 레코드 추가 등이 있습니다.

 

Q5) 다음 중 분산 스토리지 시스템을 의미하는 것은?

1. Bigtable 

2. RDBtable 

3. Chubby

4. memtable 

정답 1

Bigtable은 엄밀히 말해 데이터베이스가 아니라 구조화된 데이터의 분산 스토리지 시스템입니다. Bigtable에는 기존의 RDB와 같은 자상한 편이성이나 친숙한 인터페이스가 없지만 구글과 같이 대규모 분산 시스템에서 복잡한 데이터 구조를 효율적으로 읽고 쓰도록 고안이 되어 있습니다.

 

Q6) 다음 중 Chubby의 3가지 기능에 포함되지 않는 것은?

1. 파일 시스템 

2. 공유 잠금 

3. 잠금 서비스 

4. 이벤트 통지 

정답 2

Chubby의 3가지 기능으로는 파일 시스템, 잠금 서비스, 이벤트 통지 등이 있습니다. Chubby는 GFS와 마찬가지로 네트워크를 경유하여 파일을 읽고 쓸 수 있다는 특성이 있습니다.

 

Q7) 다음 중 고속화에 필요한 아이디어와 그에 대한 설명이 적절하지 않은 것은?

1. 시스템 구성 - MapReduce를 한 번 실행하기 위해서는 수백에서 수천대의 머신이 필요하다. 

2. 분산 파라미터 - MapReduce에서는 처리를 분할하는 파라미터로서 M과 R이라는 2개의 파라미터를 이용한다.

3. 로컬리티 - 좁은 공간에서 가능한 모든 것들을 처리해서 데이터 전송의 부하를 피하는 것이 로컬리티의 개념이다. 

4. 카운터 - 클러스터 내에 있는 모든 머신의 CPU와 디스크 부하를 감시하고 있다 부하가 적은 머신에 처리를 실행하도록 마스터를 할당한다.

정답 4

4번 설명은 Work Queue에 대한 설명입니다. 고속화에 필요한 아이디어에는 시스템 구성, 분산 파라미터, 로컬리티, Work Queue, 백업 마스터 등이 있습니다.

 

Q8) 다음 중 분산처리용 프로그래밍 언어인 Sawzall에 대한 설명이 바르지 않은 것은?

1. GFS와 MapReduce를 기반으로 하는 언어이나 동작 방식은 MapReduce와 차이가 있다. 

2. Map에 해당하는 처리를 Filter라 부르고 Reduce에 해당하는 것을 Aggregator라고 부른다. 

3. MapReduce와 달리 Sawzall의 Filter와 Aggregator에서는 키와 값의 구별이 없다.

4. 개발자는 Filter를 자유롭게 기술할 수 있지만 Aggregator는 기존의 것을 이용하는 수밖에 없다. 

정답 1

GFS와 MapReduce를 기반으로 하는 언어이며 동작 방식은 MapReduce와 다르지 않습니다. 다만 Sawzall을 사용하면 MapReduce를 더욱 간단하게 실행할 수 있습니다.

 

Q9) 다음 중 표준 어그리게이터 중 단순히 emit된 값을 모두 그대로 모으는 어그리게이터는?

1. collection 

2. sample 

3. maximum 

4. sum 

정답 1

단순히 emit된 값을 모두 그대로 모으는 어그리게이터는 collection입니다.

 

Q10) 다음 중 데이터를 기준으로 시스템 운용 비용에 포함되지 않는 것은?

1. 하드웨어 비용

2. 보수 운용 비용

3. 소프트웨어 개발 비용 

4. 통신 비용

정답 4

데이터를 기준으로 시스템 운용 비용으로는 하드웨어 비용, 전력 비용, 보수 운용 비용, 소프트웨어 비용 등입니다.

 

Q11) 다음 중 소비 전력을 억제하기 위한 방법이 아닌 것은?

1. 스위치의 빈도를 낮춘다. 

2. 정전용량을 작게 한다. 

3. 누설전류를 방지한다.

4. 클럭을 내린다. 

정답 3

소비 전력을 억제하기 위한 방법으로는 스위치의 빈도를 낮추고 정전용량을 작게 하며 전압과 클럭을 내립니다.

 

Q12) 다음 중 시스템의 부하를 줄이도록 피드백하는 것을 의미하는 것은?

1. 파워 캡핑 

2. SMART 

3. 수퍼스칼라 

4. 파이프라인 

정답 1

시스템의 소비 전력이 사전에 설정된 양을 초과할 것 같을 때 시스템의 부하를 줄이도록 피드백하는 것을 파워 캡핑이라고 합니다. 

 

 

Q13) 다음 중 개발자가 매일 수행하는 작업을 위해 쓰이는 채널은?

1. 테스트 채널

2. 개발 채널

3. 베타 채널 

4. 릴리스 채널

정답 2

개발 채널은 개발자가 매일 수행하는 작업을 위해 쓰이는 채널입니다.

 

Q14) 다음 중 기능 개발자로 고객에게 전달될 컴포넌트를 만드는 책임을 가지고 있는 엔지니어는?

1. SWE 

2. SET 

3. TE

4. PM 

정답 1

SWE는 기능 개발자로 고객에게 전달될 컴포넌트를 만드는 책임을 가지고 있는 엔지니어입니다.

 

Q15) 다음 중 구글의 리뷰 가이드로 바르지 않은 것은?

1. 완전성(Completeness) 

2. 인터페이스(Interface) 

3. 프로토콜(Protocol) 

4. 문서(Document) 

정답 4

리뷰 가이드로는 완전성, 정확성, 일관성, 설계, 인터페이스, 프로토콜, 테스팅 등입니다.

 

Q16) 다음 중 TE에 대한 일반적인 업무에 속하지 않는 것은?

1. 테스트 계획 및 위험 분석 

2. 사용자 시나리오와 테스트 케이스 생성

3. 프로젝트 계획과 탐색적 테스팅 

4. 크라우드 소싱과 사용자 피드백

정답 3

TE에 대한 일반적인 업무에는 테스트 계획 및 위험 분석, 사용자 시나리오, 테스트 케이스 생성, 탐색적 테스팅, 크라우드 소싱, 사용자 피드백, 사용자 측정 기준 수립, 스펙, 설계, 코드, 기존 테스트의 검토 등입니다.

 

Q17) 다음 중 ACC가 가지고 있는 사항으로 바르지 않은 것은?

1. 서술형을 피하고 단순한 문장을 사용하라. 

2. 제품이 어떻게 시장을 공략해야 하는지 고민하라. 

3. 중요하지 않고 수행할 수 없는 것은 테스트 계획에 넣지 말라.

4. 테스트 계획을 작성한 사람의 생각을 안내하라. 

정답 2

ACC는 고객이나 분석가들을 위한 것이 아니라 테스트 계획을 위한 것이므로 판매에 신경을 쓰지 말아야 합니다.

 

Q18) 다음 중 리스크를 완화시키는 방법으로 바르지 않은 것은?

1. 회귀 테스트 케이스를 작성해서 오류를 계속적으로 발생시켜본다. 

2. 복구 기능이나 대체 기능이 필요하다는 것을 보여줄 테스트를 작성하고 실행한다. 

3. 오류를 조기에 발견할 인스트루멘테이션(Instrumentation)과 와치독(Watchdog) 코드를 추가한다. 

4. 버그가 제거된 소프트웨어 버전에 대한 동작 변경을 알려줄 인스트루멘테이션을 추가한다. 

정답 1

리스크를 완화시키기 위해서는 회귀 테스트 케이스를 작성해서 오류가 다시 발생하지 않게 해야 합니다.

 

Q19) 다음 중 구글의 리더와 매니저 타입에 대한 설명이 바르지 않은 것은?

1. 태크 리드는 대규모 프로젝트에서 공통적인 기술적 어려움, 인프라스트럭처에 대한 문제점을 공유하는 SET 또는 TE 집단에 존재하며 팀의 기술적 문제나 테스팅 문제에 대한 조언자이다. 

2. 테크 리드 매니저는 여러 엔지니어의 매니저이면서 기술적 이슈에 대한 조언자이고 보통 존경을 많이 받는 능력 있는 사람들이다.

3. 테스트 엔지니어링 매니저는 팀의 엔지니어링 업무를 감독하고 거의 항상 바닥에서 시작해 최고의 위치에 오른 인물들이고 일반적인 디렉터의 역할까지 폭넓게 담당한다. 

4. 테스트 디렉터는 고위 리더십의 의무를 가진 사람으로 글로벌 빌드, 테스트 인프라스트럭처, 정적 분석, 구글의 제품, 사용자 이슈, 코드 기반을 폭넓게 포괄하는 테스팅 활동에 대해 새로운 계획을 창조하고 추진하는 일을 한다.

정답 4

보기4는 시니어 테스트 디렉터에 대한 설명입니다. 테스트 디렉터는 여러 제품의 여러 매니저를 이끄는 역할을 하며 테스트 업무의 전반적인 범위 선정과 전략 추진에 힘쓰며 때로는 기술적 인프라스트럭처와 테스팅 방법을 개선하기 위해 노력하는 매니저입니다.

 

Q20) 다음 중 구글 테스터의 리더십에 대한 설명으로 적절하지 않은 것은?

1. 프로토 타입을 작성하고 코드 리뷰를 수행할 줄 아는 등 전문성이 갖춰져야 한다. 

2. 항상 모든 것을 테스트하려는 태도가 필요하다. 

3. 테스트 엔지니어링 이슈에 대해 공유하고 토의할 수 있는 포럼을 만드는 등의 외부 커뮤니케이션 능력이 필요하다.

4. 테스트 인프라스트럭처를 공유하는 것을 고려하는 등의 전략 구성능력이 필요하다.

정답 2

테스터는 항상 모든 것을 테스트할 수는 없습니다. 엔지니어 디렉터의 요청을 정중히 거절하는 협상력을 갖추어야 합니다.

 

Q21) 봇을 이용한 업무의 특징으로 적절하지 않은 것은?

1. 제품이 배포되는 것과 버그가 보고되는 것 사이의 시간 주기가 다소 긴 편이다. 

2. 봇은 24시간 작동하고 크라우드 소싱 인력도 24시간 가능하다. 

3. 개발자들은 배포 직후 코드 변경에 대한 심도 있고 빠른 피드백을 받을 수 있다. 

4. 회귀 테스트에서 발견된 사항이라면 체크인한 개발자가 변경 사항을 상세히 기억하고 있다. 

정답 1

제품이 배포되는 것과 버그가 보고되는 것 사이의 시간이 짧다는 것이 봇을 이용한 업무 흐름의 가장 훌륭한 부분입니다.

 

Q22) TEM에 대한 다음의 설명이 적절하지 않은 것은?

1. TEM은 제품 사용에 대한 어떠한 질문이라도 막힘 없이 답하는 전문가이어야 한다. 

2. TEM은 실제 작업을 하는 데 있어서 가장 중요한 역할을 해야 한다.

3. TEM에게 다소 부족한 자원을 주는 것은 명확한 수행과 강한 주인의식을 준다. 

4. 비효율적인 프로세스를 최적화하는 것이 TEM의 임무이다.

정답 2

TEM은 실제 작업을 하는 데 있어서는 매우 작은 역할을 합니다. 대부분의 작업은 SET와 TE의 몫입니다.

 

Q23) 안드로이드의 TEM이 테스트하는 4개의 기둥에 속하는 것이 아닌 것은?

1. 시스템 기둥 

2. 프레임워크 기둥 

3. 앱 기둥

4. 버그 기둥

정답 4

안드로이드는 4개의 기둥으로 구성되는데 이는 시스템, 프레임워크, 앱, 마켓입니다. 안드로이드의 TEM은 이들을 테스트합니다.

 

Q24) 제임스 휘태커가 구글 테스팅 성공의 핵심요소로 제시한 4가지에 속하는 것이 아닌 것은?

1. 기술

2. 희소성

3. 수동화

4. 반복적인 통합 

정답 3

제임스 휘태커가 구글 테스팅 성공의 핵심요소로 제시한 4가지는 기술, 희소성, 자동화, 반복적인 통합입니다.

댓글()