아니, 연결 리스트를 반대 방향으로 뒤집지 않는다.
면접에서 코딩 질문에 답하는 것은 소프트웨어 개발직을 위한 통과 의례이다. 대부분 코딩 질문은 일부 데이터 구조와 알고리즘을 다룬다. 연결 리스트는 이러한 주제의 일부이며 어떤 면접관은 연결 리스트를 거꾸로 만들거나 이진 트리를 반전시키는 질문을 할 수 있다.
아마 실제 직장에서는 이러한 업무를 절대 시키지 않을 것이다. 면접관은 면접자가 자신이 하는 일을 얼마나 잘 알고 있는지를 판단하기 위해 데이터 구조와 알고리즘에 대한 지식을 테스트하는 것뿐이다. 면접자가 적합한 데이터 구조를 필요한 곳에 올바르게 사용할 수 있는지를 확인하기 위해 노력하는 것이다. 또한, 분석적 사고와 문제 해결 능력을 테스트하고 싶어하기 때문에 면접자는 자신의 생각을 말로 잘 표현하고 사고 과정을 면접관과 공유하는 것이 중요하다.
언제나 주어진 문제를 꼭 풀어야 하는 것은 아니다. 면접관은 보통 특정 기본 개념에 대해 잘 알고 있으면서도 가끔 길을 잃더라도 길을 다시 찾을 수 있는 사람을 채용하고 싶어한다.
예를 들어 나는 마이크로소프트에 지원한 사람들에게 코딩 질문을 하고, 코드에서 버그를 찾는 추가 질문을 했다. 지원자들의 기분이 별로 나쁘지는 않았을 것 같다. 버그가 있는 것은 당연히 예견된 것이었고 코드에 얼마나 버그가 없는지로 평가하는 것이 아니라 버그를 얼마나 잘 찾아 내는가에 따라 평가하기 때문이다.
면접은 자리에 적합한 사람을 찾는 것과 더불어 함께 일할 때 즐거운 사람을 찾는 것이다. 호기심이 많고 열정적이며 끈기 있고 다른 동료의 일을 흔쾌히 도와줄 것 같은 성격 좋은 사람으로 보이는 것은 중요하다.