자료구조
개발을 하는데에 있어서 자료구조는 기초적이고 매우 중요하다고 생각한다. 만약 자료구조를 안쓴다면 현대인이 원시인이 된 것 처럼 물건을 가방에 넣는 것이 아니라 낱개로 들고 다니는 것과 같다고 생각한다.
필요한 지식: 배열, 연결리스트, 스택, 큐, 데크, 해시 테이블, 트리, 이진 탐색 트리, 그래프, 힙, 우선순위 큐, 트라이, ...
알고리즘
자료구조가 기초적으로 중요하다고 한다면 알고리즘은 개발을 하는데에 있어서 코딩 내용을 좀더 빠르고 최적으로 구현하는데 중요하다고 생각한다. 무조건 빠르다고 좋은 것은 아니지만 빠르게 구현할 수 있다면 그만큼 시간을 효율적으로 최적화 하는데에 더 사용할 수 있다.
필요한 지식: 정렬, 이진 탐색, 투 포인터, 그리디 알고리즘, 분할 정복, 다이나믹 프로그래밍, 백트래킹, 최단 경로, 최소 신장 트리, ...
코딩 테스트
코딩 테스트가 개발자의 역량을 나타내는 절대적인 것은 아니지만 적어도 기초적인 코딩 테스트를 통해 적어도 어느 정도는 알고 있는지에 대해 파악할 수 있다고 생각한다. 물론 매우 높은 난이도의 코딩 테스트는 실제 개발 역량과는 크게 차이가 있다고 생각한다. 그럼에도 최소한의 코딩 테스트는 필요하다고 생각한다.
마지막으로
확실히 배우는 것이 많아짐에 따라 여러가지를 활용하는 것이 부족하다고 느껴지고 조금 더 자료구조와 알고리즘을 정리하여 활용도를 높여야 할 것 같다.
'Zerobase > 백엔드 개발자' 카테고리의 다른 글
앞으로의 백엔드 공부 계획 (feat. 백엔드 공부법) (0) | 2023.04.28 |
---|---|
나는 어떤 백엔드 개발자가 되고 싶은가? (0) | 2023.04.28 |