초급 IT 개발자를 위한 기본 소양과 AI 개발 활용 가이드

목차
🧭

이 페이지의 목표: 초급 입문자가 특정 언어나 AI 도구 사용법만 외우지 않고, 소프트웨어가 만들어지고 검증·배포되는 전체 흐름을 이해하도록 돕습니다. AI는 개발자를 대신하는 자동 정답기가 아니라 설명·초안·검토·자동화를 돕는 협업 도구로 사용합니다.

1. 처음 시작하는 개발자를 위한 학습 지도

먼저 이해해야 할 개발의 전체 흐름

소프트웨어 개발은 보통 아래 순서로 진행됩니다.

  1. 문제 정의: 누구의 어떤 문제를 해결할지 정합니다.
  2. 요구사항 설계: 입력, 처리, 출력, 예외 상황을 명확히 합니다.
  3. 구현: 코드를 작은 기능 단위로 작성합니다.
  4. 검증: 실행, 디버깅, 테스트, 코드 리뷰로 오류를 찾습니다.
  5. 협업: Git과 문서로 변경 이유와 작업 이력을 공유합니다.
  6. 배포·운영: 동일한 실행 환경을 만들고 로그·장애·보안을 관리합니다.
  7. 개선: 사용자 피드백과 운영 데이터를 반영합니다.
📌

입문 단계의 목표는 모든 기술을 깊게 아는 것이 아닙니다. 코드를 읽고 수정하고, 오류를 재현하고, 변경을 기록하고, 다른 사람에게 실행 방법을 설명할 수 있는 상태가 1차 목표입니다.

권장 개발 환경

도구역할입문자가 익힐 항목학습 사이트
VS Code코드 편집·실행·디버깅폴더 열기, 확장 기능, 터미널, 검색, 중단점, Source ControlVS Code 시작하기
Terminal운영체제와 개발 도구를 명령으로 제어현재 경로, 파일·폴더 이동, 명령 실행, 환경 변수, 종료 코드VS Code Terminal
Git코드 변경 이력 관리init, clone, status, add, commit, branch, merge, pull, pushPro Git 한국어판
GitHub원격 저장소와 협업repository, issue, branch, pull request, review, merge conflictGitHub Hello World · GitHub Skills

기본 Bash 터미널 명령어

Bash는 명령어를 해석해 운영체제에 전달하는 Shell입니다. 명령을 실행하기 전에 현재 위치와 대상 경로를 확인하는 습관이 중요합니다.

명령어용도예시
pwd현재 작업 중인 경로 확인pwd
ls현재 폴더의 파일·폴더 목록 확인ls -la
cd다른 폴더로 이동cd project, cd .., cd ~
mkdir새 폴더 생성mkdir my-app
touch빈 파일 생성 또는 수정 시간 갱신touch README.md
cp파일·폴더 복사cp app.py app_backup.py, cp -r src src_backup
mv파일·폴더 이동 또는 이름 변경mv old.txt new.txt
rm파일·폴더 삭제rm file.txt, rm -r old-folder
cat파일 내용을 한 번에 출력cat README.md
less긴 파일을 페이지 단위로 확인less server.log
head / tail파일의 처음·마지막 부분 확인head -n 20 app.log, tail -f app.log
echo문자열이나 변수 값 출력echo "Hello", echo $PATH
grep텍스트에서 패턴 검색grep -n "ERROR" app.log
find조건에 맞는 파일·폴더 검색find . -name "*.py"
which실행되는 명령어의 위치 확인which python
history이전에 실행한 명령 확인history
clear터미널 화면 정리clear
man명령어 설명서 열기man ls
chmod파일 실행·읽기·쓰기 권한 변경chmod +x deploy.sh
curlURL에 HTTP 요청 전송curl https://api.example.com
표현의미예시
.현재 폴더python ./app.py
..상위 폴더cd ..
~사용자 홈 폴더cd ~/projects
*여러 문자와 일치하는 wildcardls *.py
>출력을 파일에 새로 저장echo "hello" > output.txt
>>출력을 파일 끝에 추가echo "next" >> output.txt
``앞 명령의 출력을 다음 명령의 입력으로 전달
&&앞 명령이 성공하면 다음 명령 실행npm install && npm test
Ctrl+C실행 중인 프로세스 중단개발 서버 종료
Ctrl+L화면 정리clear와 유사
/ 이전·다음 명령 탐색긴 명령 재사용
⚠️

rm으로 삭제한 파일은 휴지통으로 이동하지 않습니다. 특히 rm -r, rm -f, 관리자 권한 명령을 실행하기 전에는 pwdls로 대상 경로를 다시 확인하세요. 인터넷에서 복사한 명령은 의미를 이해한 후 실행합니다.

자주 사용하는 Git 명령어

단계명령어용도·예시
최초 설정git config --global user.name "이름"commit 작성자 이름 설정
최초 설정git config --global user.email "email@example.com"commit 작성자 이메일 설정
시작git init현재 폴더를 새 Git 저장소로 초기화
시작git clone <URL>원격 저장소를 로컬에 복제
확인git status변경·추적·staging 상태 확인
확인git diff아직 staging하지 않은 변경 내용 확인
확인git log --oneline --graph --allcommit 이력을 간결한 그래프로 확인
저장git add <파일>특정 파일을 staging area에 추가
저장git add .현재 폴더 아래 변경을 모두 staging
저장git commit -m "메시지"staging된 변경을 이력으로 저장
브랜치git branch로컬 branch 목록 확인
브랜치git switch -c feature/login새 branch 생성 후 이동
브랜치git switch main기존 branch로 이동
병합git merge feature/login현재 branch에 다른 branch의 변경 병합
원격git remote -v연결된 원격 저장소 확인
원격git fetch origin원격 변경 이력만 내려받기
원격git pull origin main원격 변경을 내려받아 현재 branch에 반영
원격git push -u origin feature/loginbranch를 최초 push하고 upstream 설정
원격git push이후 현재 branch의 commit을 원격에 전송
되돌리기git restore <파일>commit 전 작업 폴더의 변경 취소
되돌리기git restore --staged <파일>staging만 취소하고 파일 변경은 유지
임시 보관git stashcommit하지 않은 변경을 임시 보관
임시 보관git stash pop임시 보관한 변경을 다시 적용
# 1. 원격 변경 확인·반영
git switch main
git pull origin main

# 2. 기능 브랜치 생성
git switch -c feature/task-create

# 3. 작업 상태와 변경 확인
git status
git diff

# 4. 검증 후 commit
git add .
git commit -m "feat: add task creation"

# 5. 원격 branch에 push
git push -u origin feature/task-create

# 6. GitHub에서 Pull Request 생성 및 리뷰
💡

Git 작업의 기본 원칙은 status 확인 → diff 검토 → add → commit → push입니다. git add .를 실행하기 전에 git statusgit diff로 API Key, 빌드 결과물, 불필요한 파일이 포함되지 않았는지 확인하세요.

⚠️

초급 단계에서는 git reset --hard, git clean -fd, 강제 push(git push --force)를 사용하지 않는 편이 안전합니다. 이미 공유한 commit을 취소할 때는 이력을 보존하는 git revert <commit>을 우선 검토하세요.

12주 입문 로드맵

단계학습 주제최소 산출물
1~2주VS Code, Terminal, 파일·폴더, Git 기초로컬 프로젝트를 GitHub 저장소에 올리기
3~4주변수, 조건문, 반복문, 함수, 자료구조, 예외 처리콘솔 기반 미니 프로그램
5~6주HTML·CSS·JavaScript 또는 선택 언어의 애플리케이션 기초입력을 받아 결과를 보여주는 작은 앱
7~8주HTTP, REST API, JSON, Postman, SQL외부 API 호출과 데이터 저장·조회
9~10주디버깅, 단위 테스트, 로그, 보안 기초실패 테스트와 오류 처리 추가
11~12주Docker, CI/CD, README, AI 보조 개발다른 환경에서 재현 가능한 최종 프로젝트

roadmap.sh의 Absolute Beginners·Computer Science 로드맵은 전체 학습 범위를 점검하는 용도로 활용하되, 모든 항목을 순서대로 완주하려고 하기보다 현재 프로젝트에 필요한 부분부터 학습합니다.

2. 초급 IT 개발자가 반드시 알아야 할 기본 소양

프로그래밍과 문제 해결

개념꼭 알아야 하는 이유입문 기준
변수·자료형데이터가 어떤 형태로 저장·처리되는지 결정문자열, 숫자, 불리언, null을 구분합니다.
조건·반복프로그램의 판단과 반복 작업을 표현정상 흐름과 예외 흐름을 나눕니다.
함수·모듈코드를 작게 나누고 재사용입력, 출력, 부작용을 설명합니다.
자료구조데이터를 목적에 맞게 조직배열·리스트, 객체·딕셔너리, 집합의 차이를 압니다.
예외 처리실패를 숨기지 않고 통제오류를 기록하고 호출자에게 의미 있게 전달합니다.
추상화·분리복잡도를 관리하고 변경 영향을 줄임화면, 비즈니스 로직, 데이터 처리를 분리합니다.

첫 언어는 정답이 없지만, 자동화·데이터·AI 활용까지 고려하면 Python 공식 튜토리얼이 좋은 출발점입니다. 웹 개발이 목표라면 MDN Learn Web Development의 구조화된 입문 과정을 권장합니다.

웹·네트워크·HTTP

클라이언트와 서버는 네트워크를 통해 요청(Request)과 응답(Response)을 주고받습니다. 초급 개발자는 다음 항목을 직접 설명할 수 있어야 합니다.

  • URL·URI, 도메인, IP, 포트, DNS의 역할
  • HTTP 메서드: GET, POST, PUT·PATCH, DELETE
  • 상태 코드: 2xx 성공, 4xx 클라이언트 오류, 5xx 서버 오류
  • Header와 Body, Content-Type, JSON
  • Cookie, Session, Token 기반 인증의 차이
  • HTTPS와 암호화된 전송이 필요한 이유
  • 동기·비동기 처리와 요청 시간 초과(Timeout)

참고: MDN HTTP 가이드 · MDN Web API

데이터베이스·SQL·API

영역핵심 개념실습 목표사이트
관계형 DBtable, row, column, primary key, foreign key, relation데이터 중복을 줄이고 관계를 표현SQLBolt
SQLSELECT, WHERE, JOIN, GROUP BY, INSERT, UPDATE, DELETE필요한 데이터를 안전하게 조회·변경SQLBolt Interactive Lessons
APIendpoint, parameter, request·response schema, authenticationAPI 명세를 읽고 요청을 재현Postman Docs
데이터 형식JSON, CSV, 날짜·시간, 인코딩형식 불일치와 null 오류를 진단MDN JSON
💡

API 오류가 나면 “안 된다”에서 멈추지 말고 요청 URL → 메서드 → 인증 → 헤더 → 본문 → 상태 코드 → 응답 메시지 순서로 확인합니다.

Git·GitHub 협업

Git은 단순 백업 도구가 아니라 변경을 설명하는 협업 언어입니다.

  • 하나의 commit에는 하나의 논리적 변경을 담습니다.
  • commit 메시지에는 “무엇”뿐 아니라 필요하면 “왜”를 기록합니다.
  • 기능마다 branch를 만들고 Pull Request로 변경을 제안합니다.
  • 코드 리뷰에서는 사람을 평가하지 않고 코드의 정확성·가독성·보안·테스트를 검토합니다.
  • merge conflict는 어느 변경이 최종 의도인지 확인해 직접 해결합니다.

실습: GitHub Pull Request 빠른 시작 · Pull Request Review

디버깅·테스트·품질

구분확인할 질문기본 도구·기법
재현어떤 입력과 환경에서 실패하는가?최소 재현 절차, 버전·환경 기록
관찰실제 값과 실행 흐름은 무엇인가?로그, VS Code debugger, breakpoint
가설어느 계층에서 잘못되었는가?입력·처리·출력을 나눠 확인
테스트수정 후 다시 깨지지 않는가?단위 테스트, 통합 테스트, 경계값·예외 테스트
정적 품질실행 전 발견할 문제는 없는가?formatter, linter, type checker

AI가 생성한 코드도 반드시 직접 실행하고 테스트해야 합니다. 정상 입력만 확인하지 말고 빈 값, 잘못된 형식, 권한 부족, 네트워크 실패, 매우 큰 입력을 함께 검증합니다.

실행 환경·Docker·CI/CD

  • 의존성(Dependency): 프로젝트가 사용하는 라이브러리와 버전을 고정합니다.
  • 환경 변수(Environment Variable): 환경별 설정을 코드와 분리합니다.
  • Container: 애플리케이션과 실행 환경을 묶어 재현성을 높입니다.
  • Image: 컨테이너를 만들기 위한 불변 템플릿입니다.
  • CI: 변경마다 빌드·테스트·검사를 자동 수행합니다.
  • CD: 검증된 변경을 배포 환경에 전달합니다.

학습: Docker Get Started · Docker Compose · GitHub Actions 이해하기

보안·개인정보·오픈소스

초급 단계부터 아래 원칙을 기본값으로 적용합니다.

  1. 사용자 입력과 외부 데이터는 신뢰하지 않고 검증합니다.
  2. 인증(Authentication)과 인가(Authorization)를 구분합니다.
  3. API Key, 비밀번호, Token을 코드·프롬프트·Git 저장소에 넣지 않습니다.
  4. SQL은 문자열 결합 대신 parameterized query를 사용합니다.
  5. 라이브러리 출처·라이선스·취약점·유지보수 상태를 확인합니다.
  6. 로그에 비밀번호, Token, 개인정보를 남기지 않습니다.
  7. 최소 권한(Least Privilege)과 안전한 기본값을 사용합니다.

참고: OWASP Top 10:2025 · OWASP Cheat Sheet Series · OWASP Developer Guide

문서화·커뮤니케이션

좋은 개발자는 코드를 작성하는 사람을 넘어, 의도와 상태를 전달하는 사람입니다.

  • README: 프로젝트 목적, 설치, 실행, 테스트, 환경 변수, 알려진 제약
  • Issue: 현재 문제, 재현 절차, 기대 결과, 실제 결과, 환경
  • Pull Request: 변경 목적, 주요 내용, 검증 방법, 영향 범위
  • API 문서: endpoint, 인증, 요청·응답 예시, 오류 코드
  • 의사결정 기록: 선택한 대안과 포기한 대안, 판단 이유

3. AI를 IT 개발 업무에 접목하는 방법

꼭 알아야 할 AI 개념

개념쉬운 설명개발자가 주의할 점
LLM많은 텍스트·코드 패턴을 바탕으로 다음 내용을 생성하는 모델사실·코드의 정확성을 보장하지 않습니다.
Token모델이 입력과 출력을 처리하는 단위긴 대화·코드는 비용과 문맥 한도를 소모합니다.
ContextAI가 답변할 때 참고하는 현재 정보관련 파일·오류·요구사항만 선별해 제공합니다.
Prompt목표·조건·입력·출력 형식을 지정하는 지시모호한 요청보다 완료 기준이 있는 작업 지시가 좋습니다.
Hallucination존재하지 않는 API·사실·원인을 그럴듯하게 생성공식 문서 확인, 실행, 테스트로 검증합니다.
RAG외부 문서를 검색해 관련 내용을 문맥으로 제공문서 최신성·권한·검색 품질이 답변 품질을 좌우합니다.
Tool CallingAI가 API·검색·코드 실행 같은 도구를 호출권한, 입력 검증, 실패 처리, 감사 로그가 필요합니다.
Agent목표 달성을 위해 여러 단계와 도구 호출을 수행자율 범위와 승인 지점을 제한해야 합니다.
Embedding텍스트 의미를 숫자 벡터로 표현의미 검색에 유용하지만 정확한 키워드·권한 필터를 대체하지 않습니다.

AI·LLM 내부 동작을 시각적으로 이해하는 시뮬레이션

🧠

가중치(Weight)는 학습 과정에서 조정되는 수치형 parameter입니다. 연결선 하나의 가중치를 따로 해석하기보다, 입력이 여러 layer를 통과하면서 activation·attention·출력 확률이 어떻게 달라지는지 함께 관찰해야 합니다. 또한 attention weight는 특정 입력에서 계산되는 attention score이며, 학습된 model parameter 전체와는 다른 개념입니다.

사이트시각화·시뮬레이션 내용직접 확인할 것난이도
TensorFlow Playground작은 neural network를 브라우저에서 직접 학습하며 neuron, layer, weight, bias, activation, learning rate와 decision boundary를 시각화layer·neuron 수와 learning rate를 바꾸고 loss와 연결선 weight가 어떻게 변하는지 비교입문
Transformer ExplainerGPT-2 기반 Transformer가 tokenization, embedding, self-attention, MLP, softmax를 거쳐 다음 token을 예측하는 과정을 단계별로 표현직접 문장을 입력하고 attention weight, 중간 계산, temperature 변경에 따른 token 확률 변화를 관찰입문~중급
LLM VisualizationGPT 계열 model의 embedding matrix, layer normalization, self-attention, projection, MLP와 matrix multiplication을 3D로 탐색파란 cell로 표시되는 weight와 초록 cell의 계산 값이 layer를 따라 어떻게 전달되는지 추적중급
CNN Explainer이미지 분류 CNN의 convolution kernel, feature map, activation, pooling, fully connected layer와 예측 확률을 상호작용 방식으로 설명kernel weight가 이미지 영역에 적용되어 edge·texture 같은 feature map을 만드는 과정 확인입문~중급
NetronONNX, PyTorch, TensorFlow Lite, Keras, Safetensors 등 실제 model 파일의 computational graph와 tensor·parameter 구조 확인layer 연결, 입력·출력 shape, operator, parameter 크기를 살펴보고 model architecture를 읽는 연습중급
BertVizBERT·GPT-2 등 Transformer의 layer·head별 attention pattern과 query·key 상호작용을 Jupyter·Colab에서 시각화같은 문장을 head별로 비교하고 각 token이 어느 token에 attention을 배분하는지 탐색중급
Distill — Visualizing Weightshidden layer weight를 그대로 보는 것이 왜 어려운지와 neuron 사이의 의미 있는 상호작용을 해석하는 방법 설명“큰 weight 하나 = 중요한 개념 하나”로 단순 해석하면 안 되는 이유 이해중급~심화
  1. TensorFlow Playground: data → weight 조정 → loss 감소 → decision boundary 형성의 관계를 봅니다.
  2. CNN Explainer: 학습된 kernel이 입력에서 특징을 추출하는 방식을 확인합니다.
  3. Transformer Explainer: token, embedding, attention, 다음 token 확률의 흐름을 따라갑니다.
  4. LLM Visualization: Transformer 내부 matrix multiplication과 parameter를 더 세밀하게 탐색합니다.
  5. Netron·BertViz: 실제 model architecture와 입력별 attention pattern을 분석합니다.
  1. 기본 data에서 재생 버튼을 눌러 loss가 줄어드는 과정을 봅니다.
  2. hidden layer와 neuron 수를 줄이고 같은 data를 학습시킵니다.
  3. activation을 ReLU와 Tanh로 바꿔 decision boundary를 비교합니다.
  4. learning rate를 너무 작거나 크게 바꿔 수렴 속도와 불안정성을 관찰합니다.
  5. noise와 regularization을 조정해 과적합(Overfitting)과 일반화(Generalization)의 차이를 확인합니다.
  1. 짧은 영문 문장을 입력하고 token이 단어·subword로 나뉘는지 확인합니다.
  2. embedding과 positional information이 더해지는 과정을 봅니다.
  3. attention matrix에서 각 token이 이전 token에 배분하는 비율을 비교합니다.
  4. temperature를 낮추거나 높여 다음 token의 probability distribution과 결과 다양성을 비교합니다.
  5. 같은 시작 문장에서 단어 하나만 바꾸고 attention과 예측 token이 어떻게 달라지는지 관찰합니다.
⚠️

시각화는 복잡한 model을 이해하기 위한 축약된 표현입니다. 작은 교육용 model의 동작을 실제 상용 LLM 전체와 동일하다고 일반화하면 안 됩니다. 특히 attention pattern만으로 model의 인과적 “생각”이나 판단 근거를 단정하지 말고, 구조와 계산 흐름을 이해하는 자료로 활용하세요.

AI를 활용하기 좋은 개발 업무

개발 단계AI 활용사람이 반드시 확인할 것
요구사항사용자 이야기, acceptance criteria, 예외 상황 초안실제 사용자 목적과 범위
학습·탐색개념 설명, 공식 문서 탐색 키워드, 예제 비교출처·버전·적용 환경
설계데이터 모델, API 초안, 대안·트레이드오프 정리보안, 성능, 운영 복잡도
구현반복 코드, 함수 뼈대, 변환 로직, 주석 초안정확성, 라이선스, 의존성, 코드 스타일
디버깅오류 메시지 해석, 원인 가설, 확인 순서실제 로그·재현 결과
테스트정상·경계·예외 테스트 케이스 생성요구사항 누락과 실제 테스트 실행
리뷰잠재 버그, 가독성, 중복, 보안 체크리스트최종 승인과 변경 영향
문서화README, API 설명, 변경 요약, 운영 절차 초안실제 명령·URL·환경과 일치 여부
DevOpsDockerfile·CI workflow 초안, 로그 분석Secret, 권한, 배포 대상, rollback

GitHub는 Copilot을 인간 개발자의 대체물이 아니라 보조 도구로 사용하고, 생성 코드와 코드 리뷰 결과를 사람이 검토·테스트할 것을 권고합니다. 참고: GitHub Copilot 책임 있는 사용 · Copilot Chat 주의사항

안전한 AI 개발 워크플로우

  1. 작업을 작게 자릅니다. “앱 전체를 만들어줘” 대신 한 기능·한 파일·한 테스트 단위로 요청합니다.
  2. 문맥을 제공합니다. 목표, 기술 스택, 관련 코드, 오류 전문, 제약, 완료 기준을 포함합니다.
  3. 계획을 먼저 받습니다. 수정 파일과 접근 방식을 확인한 뒤 코드를 생성합니다.
  4. diff를 검토합니다. AI가 바꾼 파일·의존성·설정·삭제 내용을 확인합니다.
  5. 직접 실행합니다. build, test, lint, type check, 보안 검사를 수행합니다.
  6. 작게 commit합니다. 검증된 변경만 별도 commit으로 남깁니다.
  7. 사람이 승인합니다. 보안·데이터·배포·비용에 영향이 있는 작업은 자동 승인하지 않습니다.
⚠️

AI에 입력하지 말아야 할 것: 실제 비밀번호·API Key·Token, 고객 개인정보, 비공개 소스 전체, 계약·재무 기밀, 운영 DB 원본. 조직 정책과 서비스의 데이터 처리 조건을 먼저 확인하세요.

재사용 가능한 개발 프롬프트

역할: [예: Python 백엔드 개발 멘토]
목표: [완성할 기능을 한 문장으로]
현재 환경: [언어/버전/프레임워크/OS]
관련 문맥: [파일 구조, 코드, API 명세, 오류 전문]
제약: [수정 금지 영역, 사용 가능한 라이브러리, 보안 조건]
요청:
1. 먼저 원인 또는 구현 계획을 설명한다.
2. 변경할 파일과 이유를 제시한다.
3. 최소 변경 코드만 작성한다.
4. 정상·경계·예외 테스트를 제시한다.
5. 불확실한 API는 추측하지 말고 확인 필요로 표시한다.
완료 기준: [실행 명령과 기대 결과]
출력 형식: 계획 → 코드 변경 → 테스트 → 위험·확인사항

입문자용 종합 실습 프로젝트

과제: 개인 학습 기록 API 또는 간단한 할 일 관리 앱

  • 화면 또는 CLI에서 항목을 추가·조회·수정·삭제합니다.
  • JSON API와 상태 코드를 사용합니다.
  • SQLite 등 관계형 DB에 저장하고 SQL로 조회합니다.
  • Git branch와 Pull Request로 기능을 나눕니다.
  • 입력 검증, 오류 처리, 로그, 단위 테스트를 포함합니다.
  • Docker로 실행 환경을 구성합니다.
  • GitHub Actions에서 test와 lint를 실행합니다.
  • AI에는 요구사항 분해, 함수 초안, 테스트 아이디어, 오류 분석을 맡기되 모든 변경을 직접 검증합니다.

최종 체크리스트

  • 코드를 보지 않고도 입력·처리·출력 흐름을 설명할 수 있다.
  • 오류를 재현하고 로그·디버거로 원인을 좁힐 수 있다.
  • HTTP 요청과 API 응답을 Postman 등으로 검증할 수 있다.
  • SQL로 기본 CRUD와 JOIN을 수행할 수 있다.
  • Git branch·commit·Pull Request로 변경을 관리할 수 있다.
  • 테스트와 lint를 실행하고 실패 원인을 확인할 수 있다.
  • Docker로 다른 환경에서도 프로젝트를 실행할 수 있다.
  • Secret과 개인정보를 코드·로그·AI 프롬프트에서 분리한다.
  • AI 생성 코드의 동작·보안·라이선스를 검토한다.
  • 공식 문서와 실제 실행 결과를 최종 근거로 사용한다.

핵심 사이트 모음: MDN · Python Docs · VS Code Docs · Pro Git · GitHub Skills · Postman Docs · SQLBolt · Docker Docs · GitHub Actions · OWASP · roadmap.sh

주요 기업의 코딩 테스트 경향과 준비 가이드

📌

기업별 시험 방식·문항 수·시간·사용 언어·AI 도구 허용 여부는 채용 시기와 직무에 따라 바뀝니다. 아래 내용은 준비 방향을 잡기 위한 경향이며, 실제 응시 전에는 반드시 해당 채용 공고와 응시 안내를 최종 기준으로 확인하세요.

기업·유형공개 자료에서 확인되는 특징준비 포인트참고 자료
삼성 SW 직군공식 안내 기준 C·C++·Java·Python 중 선택, 2문제·240분의 실기형 테스트긴 지문을 정확히 모델링하고 시뮬레이션·완전탐색·BFS/DFS를 실수 없이 구현하는 연습삼성 채용 프로세스 · SW Expert Academy
카카오 계열신입·인턴 코딩 테스트 문제와 해설을 기술 블로그에 지속 공개하며 회차에 따라 다단계 테스트 운영문자열·해시·정렬·그래프·탐색·구현을 복합적으로 적용하고, 기출 해설로 출제 의도와 복잡도를 분석2026 카카오 1차 해설 · 2026 카카오 2차 해설
NAVER 계열직무·공고별 평가 방식이 달라질 수 있으며 기술 직무별 요구 역량을 상세히 구분지원 직무의 언어·플랫폼·CS 기본기를 확인하고 범용 알고리즘과 직무 연관 문제를 함께 준비NAVER Tech Career
LINE 계열공개 채용 콘텐츠에서는 알고리즘 경시대회형 난도보다 요구사항 이해, CS 이론, 적절한 해결책과 실제 구현 능력을 강조문제 조건을 명확히 해석하고 읽기 쉬운 코드로 정확히 구현하는 연습LINE 코딩 테스트 출제 방향 · 기출 해설
현대오토에버포지션에 따라 코딩 테스트 또는 과제 테스트를 운영하며, 이후 면접에서 코딩 테스트 리뷰가 포함될 수 있음정답뿐 아니라 풀이 근거·복잡도·대안·코드 선택 이유를 말로 설명하는 연습신입 합류 과정
일반 대기업·플랫폼·금융 IT온라인 알고리즘 테스트, SQL 테스트, 과제형 구현, 라이브 코딩을 직무별로 조합하는 경향공고에서 플랫폼·언어·감독·검색 허용·SQL/과제 포함 여부를 먼저 확인프로그래머스 고득점 Kit
  1. 문제 이해: 입력·출력, 제약 조건, 예외 상황을 정확히 해석합니다.
  2. 해결 전략: 완전탐색이 가능한지 판단하고 더 적절한 자료구조·알고리즘을 선택합니다.
  3. 시간·공간 복잡도: 입력 크기에서 코드가 제한 시간과 메모리 안에 동작하는지 설명합니다.
  4. 구현 정확성: index, 경계값, 초기화, 중복, 자료형 범위 실수를 줄입니다.
  5. 검증 능력: 예제만 통과하는 데 그치지 않고 반례와 극단값을 직접 만듭니다.
  6. 코드 품질: 의미 있는 변수명과 함수 분리로 풀이 의도를 드러냅니다.
  7. 설명 능력: 면접에서 접근법, 대안, 실패 원인과 개선점을 설명합니다.
우선순위주제반드시 숙지할 내용
1기본 구현입출력, 문자열, 배열·리스트, 정렬, 좌표·격자, 조건 분기
1해시·집합빈도 계산, 중복 제거, 빠른 검색, key-value 모델링
1스택·큐LIFO·FIFO, 괄호, 작업 순서, BFS용 queue
1완전탐색경우의 수 생성, 재귀, 순열·조합, pruning
1BFS·DFS그래프·격자 탐색, 연결 요소, 최단 이동 횟수
2이분 탐색정렬된 값 검색, 정답 범위에 대한 parametric search
2Heap우선순위 queue, 최소·최대값의 반복 추출
2Greedy현재 선택이 전체 최적해를 보장하는 조건 설명
2Dynamic Programming상태 정의, 점화식, 초기값, memoization·tabulation
2최단 경로Dijkstra의 적용 조건과 우선순위 queue 사용
3심화 그래프Union-Find, MST, 위상 정렬
직무별SQLSELECT, JOIN, GROUP BY, aggregate, subquery, window function
입력 규모의 대략적 범위먼저 검토할 복잡도
N ≤ 20O(2^N), 순열·조합·backtracking 가능성 검토
N ≤ 500O(N^3)은 언어·상수에 따라 주의, O(N^2) 검토
N ≤ 10,000보통 O(N^2)는 위험, O(N log N) 목표
N ≤ 1,000,000O(N) 또는 O(N log N) 검토

이는 절대 기준이 아닙니다. 테스트 케이스 수, 언어 실행 속도, 메모리 제한과 연산의 상수를 함께 봐야 합니다.

주차학습 내용완료 기준
1주응시 언어 확정, 표준 입출력, 문자열·배열, 정렬쉬운 문제를 문법 검색 없이 구현
2주해시·집합, 스택·큐, 기본 완전탐색각 자료구조의 선택 이유 설명
3주재귀, 순열·조합, BFS·DFS격자·그래프 탐색을 직접 구현
4주이분 탐색, Heap, Greedy복잡도와 Greedy 성립 근거 설명
5주Dynamic Programming, 최단 경로상태·점화식·초기값을 먼저 작성
6주기업별 기출·유사 문제, SQL·직무 문제목표 기업 형식으로 2회 이상 풀이
7주제한 시간 모의 테스트, 오답 유형 보완시간 배분과 문제 선택 기준 확립
8주실전 환경 반복, 면접용 풀이 설명풀이·복잡도·반례를 말로 설명
  1. 문제를 읽고 입력·출력과 제한 조건에 표시합니다.
  2. 작은 예제를 손으로 추적해 규칙을 확인합니다.
  3. 가장 단순한 풀이와 예상 복잡도를 먼저 적습니다.
  4. 제한 조건을 만족하지 못하면 병목을 자료구조나 알고리즘으로 개선합니다.
  5. 함수와 자료구조를 정한 뒤 구현합니다.
  6. 예제 → 최소값 → 최대값 → 중복 → 정렬·역순 → 불가능한 경우 순으로 테스트합니다.
  7. 제출 후 틀렸다면 무작정 코드를 바꾸지 말고 가설과 반례를 기록합니다.
  • 빠른 입력·출력과 기본 template
  • 문자열 분리·결합·변환
  • 배열·리스트·해시·집합·stack·queue·heap 사용법
  • 정렬과 사용자 정의 comparator 또는 key
  • 재귀 한도와 iterative 구현의 차이
  • 정수 overflow, 부동소수점 오차, 나머지 연산
  • 얕은 복사·깊은 복사와 mutable object
  • 언어별 시간·메모리 특성과 허용 표준 라이브러리
  • 시작 5~10분 동안 전체 문제와 제약 조건을 훑고 예상 난도를 분류합니다.
  • 가장 확실한 문제부터 풀어 점수를 확보합니다.
  • 20~30분 동안 진전이 없으면 풀이 가정을 다시 확인하거나 다른 문제로 이동합니다.
  • 마지막 15~20분은 새 풀이보다 경계값·초기화·출력 형식 검증에 사용합니다.
  • 부분 점수가 있는 시험이라면 모든 문제의 쉬운 하위 조건을 확인합니다.
⚠️

실제 시험에서 인터넷 검색, 개인 코드, IDE, 자동완성, 생성형 AI 사용 가능 여부는 기업마다 다릅니다. 허용되지 않은 AI·검색·외부 코드를 사용하면 부정행위가 될 수 있습니다. 응시 안내에 명시된 도구만 사용하고, 연습 단계에서도 AI가 만든 풀이를 그대로 제출하지 말고 직접 설명·재구현·테스트하세요.

  • 지원 기업의 최신 공고에서 시간, 문항 수, 언어, 감독 방식을 확인했다.
  • 동일한 온라인 judge와 유사한 editor 환경에서 모의 테스트를 했다.
  • 주력 언어의 입력·출력과 핵심 자료구조를 검색 없이 작성할 수 있다.
  • 자주 틀리는 index, overflow, 초기화, 중복 처리 목록을 점검했다.
  • 문제마다 시간·공간 복잡도를 설명할 수 있다.
  • 예제 외에 최소·최대·중복·불가능한 반례를 직접 만든다.
  • 응시 장소, 네트워크, 카메라, 신분증과 허용 도구를 확인했다.
  • AI·검색·외부 자료 사용 규정을 확인했다.

관련 글

새 글 소식 받기

이런 글이 올라오면 이메일로 알려드립니다.