웹 또는 SQL 개발자를위한 FizzBuzz 유형 질문은 무엇입니까? [닫은]


10

잠시 후, 우리는 다시 채용하고 있으며, 프로그래머를위한 테스트를 검토하고 있습니다. 그들 중 일부는 약간 오래된 것입니다. 웹 개발자 및 SQL에 대한 FizzBuzz 유형 질문 에는 어떤 것이 있습니까? 즉, 너무 사소하지는 않지만 펜과 종이를 사용하고 Google을 사용하지 않고 5-10 분 안에 여전히 해결할 수 있습니까?

나는 일반적으로 CV를 기반으로 약 2/3 이상의 후보를 제거한 다음 1 시간짜리 인터뷰에서 전화를 통해 가능할 수있는 거의 모든 후보자를 제외합니다. 이 시점에서 응시자는 성격 테스트를 작성하고 있으며 약간의 FizzBuzz와 유사한 코드를 작성할 수 있습니다. 그래서, 나는 많은 후보자를 제거하려고하지 않지만 후보자가 고용 가능하고 코딩 할 수 있는지에 대한 초기 평가를 검증하려고합니다.


2
웹 개발자는 어떤 기술을 원하십니까?
Oded

HTML / CSS / JSON / HTTP에 대한 이해를 찾고 있다고 생각합니다. Rachel이 언급했듯이 FizzBuzz는 Javascript / PHP 등을 테스트하는 데 적합합니다.
Domchi

답변:


12

FizzBuzz를 사람들이 이력서에 대해 알고 있다고 주장하는 것을 실제로 알고 있는지 테스트하는 테스트라고 생각합니다. 나는 그들이 무슨 말을하는지 모르는 후보자를 제거하기위한 질문 이외의 다른 것으로 사용하지 않을 것입니다.

적합한 SQL 대체는 후보로 하여금 A로 시작하는 두 개의 결합 된 테이블의 이름 필드 선택과 같은 SQL 문을 작성하도록 요청하는 것입니다. 간단하고 후보가 실제로 SQL에 대한 지식을 가지고 있음을 보여줍니다.

SELECT Table1.Name, Table2.Name
FROM Table1 
INNER JOIN Table2 ON Table1.Id = Table2.Id
WHERE Table1.Name LIKE 'A%' OR Table2.Name LIKE 'A%'

웹 개발자에게는 FizzBuzz에게 물어볼 것입니다. 웹 프로그래밍을한다고해서 기본 프로그래밍 로직을 수행 할 수있는 능력이 부족하다는 의미는 아닙니다.

실제 인터뷰 질문을 찾고 있다면 온라인으로 빠른 검색을 통해 찾을 수있는 좋은 질문이 많이 있습니다. Google에 10 초가 걸리면 내가 목록에 올리는 것보다 더 많은 것을 발견했습니다.


2
SQL 프로그래밍에서는 일반적으로 서버 측 프로그래밍과는 다른 패러다임이 필요하기 때문에 조인은 고급 SQL 프로그래머와 신인을 분리하는 좋은 방법입니다. 집합 측면에서 SQL 문을 생각하기 시작할 때까지 조인과 하위 쿼리를 사용하여 문제를 해결했습니다.
Chris C

@CCRicers 동의합니다. 당신이 고급 SQL 개발자에 대한 인터뷰를하는 경우, 나는이 SQL 함께 일하기 때문에 사실 또한 내가 완전히 어떤 그룹을 의미 이해 꽤 전에, 그에게 GROUP 요구 사항을 추가 할 것입니다 그들은 작동하는 방법
레이첼

자체 가입 필요 : "CREATE TABLE EMPLOYEE (ID NUMBER, NAME TEXT, MANAGER_ID NUMBER)"그리고 "직원과 그 관리자를 어떻게 나열 할 수 있습니까?"
케빈 클라인

어떤 유형의 데이터베이스 / SQL 위치 (및 개발자 배경 / 환경)에 따라 실제 'FizzBuzz'답변을 요청할 수 있습니다 .
Clockwork-Muse

또한 스펙이 열악하다는 추가 이점이 있으므로 코드를 작성하기 전에 응시자가 요구 사항을 명확하게하는지 테스트합니다.
피터 테일러

4

여기입니다 대답은 내가 준 폐쇄되었다 매우 유사 (아마도 중복) 질문 이 사이트에가.

매우 쉬운 수준 : 열이 EmpID, FirstName, Lastname, HireDate 및 TerminationDate 인 직원 테이블이 주어짐 : 이름이 "Smith"로 시작하여 성으로 정렬 된 회사에서 아직 근무중인 모든 직원을 반환하려면 쿼리를 작성하십시오.

쉬운 수준 위의 Employee 테이블과 EmpID 열 및 ReviewDate 열이 포함 된 새 테이블 "AnnualReviews"가 주어지면 HireDate별로 정렬 된 리뷰가없는 모든 직원을 반환하는 쿼리를 작성하십시오.

중간 수준
위의 직원 테이블을 감안할 때 여전히 회사에서 근무하는 가장 많거나 가장 적은 직원의 차이를 계산하는 쿼리를 작성 하시겠습니까?

Hard Level 위의 직원 테이블을 감안할 때, 회사를 고용하거나 해고하지 않고 회사가 가장 긴 기간 (일)을 계산하는 쿼리를 작성하십시오.

더 어려운 수준
다시 같은 테이블을 사용하여 각 직원을 반환하고 각 행 / 직원에 대해 쿼리를 작성하여 재직 기간 중 언제라도 회사에서 근무한 최대 직원 수와 최대 도달 날짜를 포함합니다. 커서를 사용하지 않는 추가 포인트.


1
흥미로운 질문입니다. 그러나 "하드"/ "하드"레벨은 정말 어려운 것 같습니다 . 괜찮은 SQL 경험이 있더라도 인터뷰 상황에서 해결하기가 너무 어려울 것입니다. 아마 30 분 정도만 후보자를 내버려두면
sleske

나는 커서가 무엇인지 정말로 알지 못한다는 것을 깨달았을 때 "더 어려운"질문이 어렵다고 말할 수 있었다. 그리고 나는 매일 MySQL을 사용했다! :-/
thesunneversets

@Johnfx 내일 다음 날 인터뷰 한 문제에 대한 답변은 docs.google.com/document/d/…
mr_eclair

왜 봐야합니까? 직접 테스트하여 정답을 얻을 수 있는지 확인할 수 있습니다.
JohnFx

3

피즈 버즈 자체는 어떻습니까? Oracle 버전은 다음과 같습니다.

select case when mod(level,35) = 0 then 'fizzbuzz'
            when mod(level,7) = 0 then 'buzz'
            when mod(level,5) = 0 then 'fizz'
            else to_char(level) end fizzbuzz
from dual connect by level <= 100

1
놀랍도록 +1하지만 가상 숫자 테이블이 모든 사람의 SQL 도구 상자에있을만큼 자주 나오지 않는다고 생각합니다. 당신은 그것들을 발견해야 할 것입니다
Conrad Frix

0

나는 사람들이 어떤 이유로 시간을 가지고 일하는 데 많은 어려움을 겪는다는 것을 알았습니다. 그래서 작은 시험을하기에 좋은 장소 일 수 있습니다.

이 같은:

1 부 : 주어진 달의 N 번째 또는 마지막 요일을 계산하는 함수를 작성하십시오. 다음 달 첫 번째, 세 번째 화요일

파트 2 (원하는 경우) : 반복 스케줄에 대한 임시 표현식을 보유 할 설계 테이블. 스케줄은 "하나 이상의 달의 N 번째 요일"또는 "하나 이상의 개월의 N 번째 날"또는 "날짜로부터 N 일"중 임의의 것일 수있다.

예를 들어, 매월 15 일, 3 월 마지막 수요일, 매월 마지막 날, 2008 년 12 월 2 일부터 17 일마다 등


2
-1 : 시간을 가지고 일하고 올바르게하는 것은 정말로 어렵습니다. JodaTime과 같은 라이브러리가 존재하는 이유를 추측하십시오. 단순한 소프트웨어가 아닙니다.
sebastiangeiger

@sebastiangeiger 동의합니다. 나는 거의 매일 SQL로 작업하며 SQL의 날짜 함수를 효율적으로 사용할 수 있지만 Google의 도움 없이는 이와 같은 작업을 빠르고 쉽게 수행 할 수 없습니다. 사실, 몇 달 전에이 작업을 수행해야했으며 SQL로 이해하려고 몇 분 후에, 나는 그것을 검색하고 내 요구에 맞게 약간의 수정과 함께 사용하는 스크립트를 얻었습니다.
Rachel

나는 문제가있는 지역을 찾고 있지 않다. 나는 평범한 개발자가 매일 일하는 것을 찾고 있으며 아무런 문제없이 익숙하지 않은 환경에서 (컴퓨터를 사용할 수 없음) 불러올 수 있습니다. 당신의 예가 그렇게 어렵지는 않지만, 내 앞에서 코딩하는 사람에게 그가 생각하는 방식을보기 위해주는 것이 더 많은 문제입니다.
Domchi

1
@ Elli FizzBuzz는 그에 따라 해결 / 코딩 될 것으로 생각합니다.
Aaron McIver

1
Part 2가 좋은 질문이라고 생각하지 않습니다. 실제로이 주제에는 비즈니스의 다른 데이터베이스 설계 문제에서 거의 발생하지 않는 이상한 솔루션이 있습니다. 대답을 모르는 것은 SQL 지식이 부족하다는 표시가 아닙니다.
NoChance
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.