어느덧 개발 공부를 시작한지 한달이 다 되어가는 순간 목적성 없는 배경지식 습득과
막연한 큰 그림에 웹서핑을 하던 와중 큰 충격을 받게 해준 그림하나가 보였다.
백엔드 개발자로서 취업하려면 크게
1. 서류전형
2. 코딩테스트
3. 기술면접
로 나눌수 있다.
서류전형
- 이력서와 같은 개념으로 개인의 포트폴리오 및 어학점수 , 학점, 자기소개서 등이 중심이 된다.
- 이력서 준비를 하면서 프로그래머스, 사람인, 잡코리아 와 같은 사이트에 이력서를 작성하며 평소에 준비해놓자
https://www.saramin.co.kr/zf_user/
포트폴리오
포트폴리오의 경우 백앤드 개발자 로드맵의 순서를 따르며
HTML/CSS -> javaScript -> js library -> Backend(Node.js, express)
순으로 공부를 하면서 실습위주(클론코딩)을 하며 개념정리 및 학습을 하자
HTML/CSS
- 에디터, 브라우저등등은 어떻게 작동하는지등 웹개발의 기초
- 시스템 언어가 동작하는 원리, 태그 이해를 목적 (태그는 구글링함)
(아무 웹사이트를 클론코딩 할 수 있을 때)
javaScript
- 바닐라 자바스크립트와 같이 라이브러리가 없는 못생긴 자바스크립트로 배우며
- HTML을 자바스크립트로 수정하고 하는 것이 편해질 시점 까지 배우자
(HTML을 자바스크립트로 인터랙티브하게 만드는수준 - 라이브러리 도움없이)
( 프로젝트를 해보자 1. Todolist 2. 인터랙션(넷플릭스 클론 코딩)
- js 라이브러리가 왜 필요한지 이해하기 위해서
js 라이브러리
- jQuery, react등을 배우면서 클론코딩을 하며 필요성을 깨닫고 활용해보자
Backend('자바, jsp & Spring framework' / 'Python & Django framework' / 'Node js & Express'등)
- 아주 심플하게 해보면서, 프론트앤드 - 백엔드의 구동원리를 이해하자
- CRUD 시스템을 활용한 프로젝트 개발 (Create, Read, Update, Delete)
- 과정에서 다향한 DB도 다룰수 있다는 말 (위 포트폴리오를 가지고 취업을 한 경우가 있음)
- 이시기에서 1차 취업도전!
--> 이제 백엔드, 프론트엔드의 구동원리를 알게된다
이후는 자신이 하고 싶은 걸 골라하면 되는데 기술이 문제를 해결하기 위해 등장했다는것을 기억하면서
바닐라 JS를 하며 React를 배울때 중요한 것을 깨닫듯이 최대한 문제점을 절절히 느끼면서 배워보고(삽질)
--> 이후 기술을 배우길
코딩테스트
- 코딩테스트는 기업마다 면접으로 손코딩 혹은 기술면접과 동시진행하거나 온라인 코딩테스트를 진행하는 경우도 있다. 알고리즘 문제를 시간내에 푸는 것으로 백준 온라인, 이것이 취업을 위한 코딩테스트다. 코드포스, 프로그래머스 사이트에서 공부할 수 있으며 공부 순서로는
기본언어공부(파이썬, 자바, C, C# 등) -> 백준 단계별 문제풀이(기본) -> 자료구조 & 알고리즘 -> 백준 온라인 유형별 문제풀이, 프로그래머스 유형별 등 문제풀이 및 개념정리 -> 삼성SW 역량테스트, 카카오문제집 풀이->프로그래머스(스킬체크 LEVEL 3)이상
프로그래머스 스킬체크 LEVEL3가 안정적으로 나온다면 웬만한 기업상대의 코딩테스트는 이상이 없다.
기본언어로는 파이썬을 추천한다. 아주 직관적이며 코드의 길이가 대체로 짧고 대세 언어(인공지능)이자 입문용 언어로서 손색이 없고 정말 다양한 분야에 많이 활용된다. 물론 웹 개발자로서 java 또한 매우 추천한다.
언어 공부는 개인적으로는 codeit이라는 사이트에서 유료강좌를 들으며 공부했다. 이외에도
fastcampus 유료강좌, 생활코딩, 유투브(굉장히 많음), 구글링 등에서 공부할 수있다. 요즘에는 정말 많은
장소에서 질 높은 수업을 받을 수 있으므로 구글링하여 취향에 맞게 선택하면 된다.
이후 바로 백준 온라인 사이트에서 단계별 문제풀이에서 기본적인 문제들을 풀며 코드구현능력을 다지고
그리디, DFS, BFS, 정렬, 이진탐색, 다이나믹 프로그래밍, 최단 경로, 그래프등 자료구조와 알고리즘 개념들을 공부하고
알고리즘 분류에서 유형별 문제를 풀면된다.
예를 들어) 자료구조 & 알고리즘에서 DFS 분야가 나왔다면 개념을 복습하고 바로 문제를 풀며 유형을 독파하자
https://www.codeit.kr/dashboard
https://opentutorials.org/course/1
기술면접
기술면접은 컴퓨터 공학 개념들을 배워 본것들 을 물어보는데 전체적으로 보면
네트워크
운영체제
데이터베이스
디자인패턴
알고리즘
및 포트폴리오에 사용된 기술 및 도구의 배경지식
등으로 나뉘게 된다.
각 과목별로 강의를 들으며 주요개념의 코드구현(실습)을 목표로
개념 정리 -> 코드구현 -> 블로그 포스트 및 github(push)
형식으로 주요 개념을 이해하며 정리 및 학습하자
학습장소는 fastcampus, codeit 정도 이며 강의를 들으며 학습을 빠르게 진행하는 것을 추천한다.
-> 아주 세세한 개념이해 보다는 기술면접을 준비하며 컴퓨터 공학의 기초를 완성하는 것이 목적이다.
-> 기술면접은 꼬리 물기식 질문이 많다.
예)
Q)페이지폴트가 어떤 개념인가요? ->
Q)그래서 페이지폴트가 왜 일어나게 되는거죠? ->
Q)그러면 페이지폴트가 일어나지 않게하기 위해서 어떻게 관리해야하죠? ->
라는 형식으로 개념을 정리 및 포스트 해두면 기술면접 대비와 동시에 정리학습이 가능하다.
<참고자료>
https://velog.io/@hygoogi/%EA%B8%B0%EC%88%A0%EB%A9%B4%EC%A0%91-%EC%A4%80%EB%B9%84%ED%95%98%EA%B8%B0
https://blockmonkeys.tistory.com/13?category=829305
https://www.youtube.com/watch?v=ODa9mY2bEEc
https://github.com/JaeYeopHan/Interview_Question_for_Beginner
'일상' 카테고리의 다른 글
군대식 생활양식 (4) | 2020.10.16 |
---|---|
웹 개발자로서 걸어야 할 길에 대한 고찰 (0) | 2020.10.12 |
충남 아산여행 계획 - [2020. 10. 01 ~ 03] (1) | 2020.09.30 |
서울시 청년수당 - 2차예비 신청자 (4) | 2020.08.16 |
내가 올린글이 구글, 네이버에 안올라온다? (0) | 2020.08.16 |