코딩을 거의 1년간 안해서 감을 찾는다는 목적으로 간단한 퀴즈 검색을 했더니
[카카오 신입 공채 1차 코딩 테스트 문제] 라는게 있어서
시험삼아 코딩을 해봄. (파일 첨부. : SecretMap.java)
일단 처음에 문제를 보고 3-4시간 걸릴거라 생각했는데 생각보다 헤매서 중간에 야구 본 시간을 빼더라도 7-8시간 정도 걸림. 익숙하지 않은 키보드도...
가장 오래걸린 문제 - 버스 스탑 - 처음에 접근을 잘못함.
입사문제로 이게 적합한가에 대해서는 부정적임.
몇몇의 코딩바보를 걸러낼수는 있지만
위 문제중 2-3문제를 풀수 있는 사람은 다른 문제도 모두 풀 수 있음. 시간의 조금 더 걸리느냐의 문제일뿐.
즉 2-3문제를 푼 사람과 모두 푼 사람의 차이는 단지 시간의 차이 문제인데 이런 시간의 차이가 실질 프로그래밍하는데 의미있는 차이를 가지느냐고 한다면 그렇지 않다고 생각함. 즉 변별력이 없음 (프로그래밍 분야에 따라 조금 다르겠지만..) 시간 문제때문에 오히려 변별력을 가지는 적합한 예외처리나 충분한 테스트 그리고 유연한 클래스 디자인등을 할 수 없게 만듬.
그리고 Util 함수/클래스는 대부분 오픈소스로 미리 구현되어 있는데 LRUCache 같은걸 만들어야 할 이유가 없음.
적합한 방법은 사실 나도 매번 의문이지만
문제를 내는 방식으로 할 거라면
메모리 구조/핸들링이나 쓰레드와 관련한 문제를 내지 않을까...