Skip to content

Latest commit

 

History

History
74 lines (54 loc) · 3.32 KB

File metadata and controls

74 lines (54 loc) · 3.32 KB

코딩 테스트를 계속하는 이유 (+ 기초 체력 훈련)

AI가 빠르게 발전하면서 “지금 코딩 테스트를 계속하는 게 의미가 있을까?”라는 질문이 생길 수 있지만, 코딩 테스트의 핵심은 단순한 문제 풀이나 암기가 아니라, 문제를 해석하고 구조적으로 사고하는 능력을 기르는 과정에 더 가깝다고 생각합니다.

같은 기능이라도 구현 방식에 따라 확장성, 가독성, 메모리 사용량, 성능이 달라질 수 있습니다. 이런 차이를 비교하고 고민하는 과정 자체가 코드를 구조적으로 바라보는 힘을 키우는 훈련이라고 느끼고 있습니다.

1. 코딩 테스트를 통해 얻고 있는 것

  • 문제를 조건 단위로 해석하고 구조화하는 사고
  • 자료구조, 반복, 메모리 흐름에 대한 이해
  • 코드 읽는 속도와 디버깅 감각
  • “왜 이 방식이 더 좋은가?”를 비교하는 습관

2. 코딩 테스트가 길러주는 사고력

실제 개발 과정에서도 요구사항 해석 → 구조 고민 → 구현 → 디버깅 흐름은 반복됩니다. 그래서 코딩 테스트 자체보다, 문제를 구조적으로 분석하고 사고하는 훈련 과정에 더 큰 의미가 있다고 생각합니다.

  1. 문제를 읽고 조건 정리하기
  2. 예외 상황 찾기
정상 케이스뿐 아니라, 어디서 문제가 발생할 수 있는지를 미리 생각하는 능력입니다.

예시)

1) 배열 접근 시 
- index가 범위를 벗어나는 경우?
- index가 음수인 경우?
- 값이 없는 경우? (undefined/null)
- 빈 배열인 경우? 

2) 개발 시
- 네트워크가 끊긴 경우?
- API 응답이 null인 경우?
- 로그인 토큰이 만료된 경우?
- 데이터가 과도하게 많은 경우?
- 사용자가 입력을 하지 않은 경우?
- 동시에 여러 요청이 들어오는 경우?
  1. 자료 흐름 이해하기
데이터가 어떻게 처리되고 변환되어 전달되는 흐름을 머릿속에서 추적할 수 있는 능력입니다.

1) 데이터 흐름 이해
- filter → map → reduce 흐름에서, 원본 데이터 → 조건 필터링 → 값 변환 → 최종 결과 생성

2) 개발 흐름
- 사용자 입력 → API 요청 → 서버 처리 → DB 저장 → 응답 반환 → 화면 렌더링
  1. 시간복잡도 고려하기
  2. 디버깅 능력을 통해 버그 수정하기
  3. 여러 방식 비교하기

3. AI 시대의 변화

다만 시대가 바뀌고 있는 것도 사실입니다. 과거처럼 “알고리즘만 잘하면 된다”는 흐름은 점점 약해지고 있고, 앞으로는 다른 역량의 비중이 더 커지고 있습니다.

  • AI가 생성한 코드를 검증하고 요구사항을 정확히 해석하는 능력
  • 시스템 구조를 설계하고 성능 문제를 분석하는 능력
  • 유지보수 가능한 코드를 작성하는 능력
  • 보안, 네트워크, 시스템에 대한 이해

4. 앞으로 더 중요해질 역량

  • AI 활용 능력
  • 코드 검증 능력
  • 시스템 이해
  • 구조 설계 능력
  • 협업 능력
  • 유지보수 역량
  • 보안 / 성능 이해

성능을 비교하고 구조를 고민하며, “왜 이렇게 동작하는가?”를 계속 파고드는 태도는 단순 암기형 코딩 테스트보다 더 오래 유지되는 개발 역량에 가깝다고 생각합니다.